A Survey of IoT Development Boards

Banner_survey_IoT_boards.jpg

For Industry users, boards like Arduino and Raspberry Pi are not unfamiliar since Arduino is also known as System On Chip (SoC) but at a hyper scaled down version, which runs on a single Microcontroller Unit (MCU).  On the other hand, Raspberry Pi is a single-board computer (SBC).  If you are an IoT enthusiast, you may prefer to call them the IoT development boards since they are programmable, and you can use them to connect to the network.  With a basic board like that, you can build different things around it with the additional components.  Indeed, the capabilities such as programmable and customizable are the driving force for the IoT revolution because people can customize their needs to build their IoT solutions. It’s truly a DIY board.

The IoT development boards have become more specialized and sophisticated. There are many factors and options that we must consider for the boards that suit for our IoT projects.

Programmability

Not all boards speak the same computer language.  Arduino can be programmed with C, and Raspberry Pi can be programmed either by C or Python.  Netduino uses .NET Micro Framework. Espruino can be programmed by JavaScript. You can even change the operating systems in Raspberry Pi 3 Model B, from a compatible Linux distribution to Windows 10 IoT Core. Here are some of the programming languages used for IoT boards:

  • C/C++

  • Python

  • .Net

  • JavaScript

  • Java

Connectivity Types

When selecting a connectivity type, you have to take several things into consideration. Some boards have embedded connectivity component already built-in, and some need additional shields to be added onto the board. You also need to consider other factors, such as the communication range, data rate, and power consumption.  For example, LPWAN wireless technology is ideally suited for long-range communication and low-power consumption, and it has been used for water meters and smart agriculture systems. You also need to consider the need of a gateway, which is used to bridge the LPWAN connectivity to some short-radio (SRD) technology like ZigBee or BLE. Thus, not every connection is going to use the Internet directly.

For Raspberry Pi Model B+, you have a choice of adding a module called the HAT (hardware attached on top) depending what wireless technology you need. One good example is that the Dragino LoRa/GPS_HAT is excellent for long-range communication and low power with LoRaWan technology. For other boards, the ethernet jack is readily available, or it has a built-in wireless onboard chip in which you can connect to any Wi-Fi immediately.

Here is a typical list of wireless technologies:

Wi-Fi, Bluetooth, BLE (Bluetooth Low Energy), Ethernet, 3g/4g cellular (uses SIM cards), LR-WPANs (802.15.4), ZigBee, radio, GPRS, RFID/NFC, GPS, RS485

For technical requirements, be sure to check these factors shown below when you are researching for wireless technologies that suit your needs:

Range, Geographical coverage and penetration, Transmission latency, Bandwidth, Radio subscription area, Radio chipset costs, and Number of base stations

Connectors

Serial RS232, USB, HDMI, Ethernet, SIM Card slot, Mini GSM/Cellular SMA (SubMiniature version A – Coaxial RF connection)

Power Consumption

The power consumption is one of the crucial factors when considering your IoT board especially when you are planning for your final phase of the IoT development. Many factors are affecting the consumption of energy, but the main consumption occurred on the processor. Thus, a microprocessor consumes more energy than a simple MCU since it can do a more complicated calculation. After you have chosen the processor, the software routines are the ones that use the most energy. For more experienced users, you can use the power monitors, such as IAR, I-Jet, I-Scope, to help you measuring voltage while debugging the program.  Later, you need to find out whether a board has the deep sleep mode capability.  With this feature, it consumes relative low energy when the system is in idle.  For example, ARM microcontroller like the Cortex-M0 and up is designed to minimize the energy consumption. It is known that it consumes well under 1 µA in their deepest sleep modes. To give you an idea of energy consumption, here is a list of boards and their energy consumption.

Board NameType of ProcessorEnergy Consumption (Current)
ESP8266 MCU 100mA to 10 mA
ESP32 MCU 150 mA
ATMEGA328P (Arduino) MCU 50mA to 0.004 mA
STM32F469 Cortex-M4 0.2mA

One must also consider the minimal number of I/O pins on the board if possible because unused I/O pins still consume energy.

In addition to hardware and software issues, there are other technologies used mostly in Industrial IoT boards, and that is the ability to reclaim energy from surrounding so it can use to power sensors.  It’s free energy! It gathers energy in the form of light, temperature differential, pressure, and motion.  For example, Linear Technology’s DC1459B-A kit can harvest the kinetic energy from vibration or motion and later be used to power other devices.

Besides these main factors affecting energy consumption, many electronic components, such as resistors, diodes, and capacitors affect the overall energy significantly used. For example, the leakage current problem can happen on capacitors when you use aluminum capacitors, higher voltage rating capacitor, or installing the bulk capacitance on the voltage regulator outputs.  Thus, your overall design has a significant impact on power consumption.

Costs

Depending on your project budget and IoT strategy, the cost is one of the main things you need to consider before choosing the IoT board. If you are at the early development stage, you can buy a basic board, so you can switch technologies by changing to different add-on modules/shields. If you already know what specific technologies you want to use, you can choose the embedded module boards that already have those technologies on-board.  The number of GPIOs and the availabilities of specific sensors compatible with the board that you need are also affected your overall costs.  You should calculate the overall cost by listing all the parts when you do your research before you make your purchase.  If the item is not readily available, you should do more research on it to see if there is a newer part or technology that is replacing the item. The chances are that there may be newer parts that you want to purchase because the IoT technologies evolve at a very rapid pace.

Security

If security is one of your concerns especially at the later stage of development, you should check what types of the security mechanism are used by the IoT components and at which IoT layers.  For example, some components like CryptoCape has a signed with RSA encryption/decryption with an authentication chip that can perform the SHA-256 and HMAC-25 calculation. For a total security solution, you can check out any of the IoT leaders, like Azure Sphere MT3620 Development Kit where it takes a different approach on making protection at three levels: MCU, OS, and Cloud on IoT board as a total end-to-end solution from device to cloud.

 

Cloud-based IoT platform integration

Depending on your needs, if storing and processing your data from your IoT to the cloud is a requirement, then you need to consider the boards enable you to connect to the Internet.

For more details on this area, be sure to read this section: The Cloud Services that Made for the IoT.

IoTArthur WangBoardComment