Single Board Architectures Integrating Sensors Technologies: Comparison
Please note this is a comparison between Version 1 by Eladio Durán Aranda and Version 2 by Catherine Yang.

Development boards, Single-Board Computers (SBCs) and Single-Board Microcontrollers (SBMs) integrating sensors and communication technologies have become a very popular and interesting solution in the last decade. They are of interest for their simplicity, versatility, adaptability, ease of use and prototyping, which allow them to serve as a starting point for projects and as reference for all kinds of designs.

  • single-board computers
  • microcontroller boards
  • integrating sensors technologies
  • indoor comfort monitoring
  • IoT applications

1. Introduction

Single-Board Architectures (SBAs) are similar to a computer in terms of the basic components that make them up on a single board: memory, input/output ports and processor. These basic components are included in a single monolithic chip (System on Chip, SoC) and makes SBAs increasingly develop in compact form and at low-cost, in medium and low power, and with high, low and medium processing capacity, making them very popular for data acquisition systems Integrating Sensor Technologies (ISTs) in numerous applications. SBAs can be classified from different points of view, mainly processor that integrate it, sensors that configure it, communication modules, programming languages, cost, size and open or closed-source.

The first architectures based on a single board were developed, commercialized and began to be used in the 1970s, however it has been in the last 20 years when SBAs have reached their greatest role in terms of use, mainly due to their low cost, consumption, small size and great flexibility, which makes them an alternative in many applications.

These types of platforms integrating sensors, communication networks and data processing are of interest in many engineering applications. Currently there are a large number of sensors that can measure almost all the physical or chemical magnitudes of our environment, which results in a large amount of data to process to define these variables accurately. Therefore, the sensors and the subsequent processing of the data provided are fundamental in Electrical, Electronics, Chemical and Mechanical Engineering, Information Technology, Robotics and Automation, Consumer Electronics as well as emerging applications such as Internet of Things (IoT), Industry 4.0, Intelligent Vehicles and Smart Cities.

The importance of single board architectures integrating sensors technologies and their applications has led to different tutorials, overviews, reviews and surveys papers being reported in the literature, included on-line publications, white papers, webinars and different aspects, topics and points of view: SoC technologies, process capacity, characteristics, power and number of I/O, in terms of cost, control flexibility, among others. In this sense SBAs and ISTs for visual sensor networks are revised and analyzed in [1][2][87,88], transport technologies and related applications in [3][4][89,90] including tracking, monitoring and lighting in [5][6][7][8][9][10][11][12][91,92,93,94,95,96,97,98], SBAs and ISTs for smart cities applications in [13][14][99,100], education and research projects in [15][16][17][18][19][101,102,103,104,105], medical devices in [20][21][22][106,107,108], smart and advanced sensors in [23][24][25][26][27][109,110,111,112,113], including wireless sensors [28][114], IoT applications in [29][30][31][32][115,116,117,118], smart home in [33][34][35][36][119,120,121,122], energy in [37][38][39][123,124,125], engineering education in [40][41][42][126,127,128], Hybrid Electric Vehicle (HEV), Fuel Cell Electric Vehicles (FCEV) and Plug-in-Hybrid Electric Vehicle (PHEV) in [43][44][129,130], while reviews and characteristics evaluation are addressed in [45][46][131,132]. Figure 1 presents a perspective of different applications where several SBAs and ISTs are utilized.

Figure 1.
Applications of Single Board Architectures Integrating Sensors Technologies.

2. Single Board Architectures Integrating Sensors Technologies (SBA-ISTs)

A first classification of development systems with single-board architecture (SBAs) can be made according to the type of processor used in their structure. Thus, three types of SBA development systems can be distinguished: SBMs, SBCs and boards based on FPGAs, as shown in Figure 2 .

Figure 2.
Single Board Architectures classification and main platforms.
In general terms, SBCs are the most versatile and reliable, usually they support an Operating System (OS) such as Linux or Windows; and have much higher computational capacity than SBMs. In turn, the latter are more focused on electronics and are oriented to the management of inputs and outputs ports. As an example, in IoT devices the equipment connected to sensors for data collection should be governed by microcontrollers, while those for processing the amount of input information will be a microcomputer.
The PCB (Printed Circuit Board), interconnection cables and development software tools together form the development kit. These boards also usually include pins, connectors and expansion sockets to interface the system with other devices.
On the other hand, there are a set of more or less common peripherals that allow expanding the capacity of these systems, although there are very depending on the SBA manufacturer. For each development board/platform there are different expansion boards designed to properly plug into the pins/connectors. Therefore, expansion boards are specific to a particular development kit and, to distinguish them from others, they are often named with specifically names. As an example, Arduino expansion boards are named “shield” and Raspberry Pi ones’ “hat”.
Regardless of the type of SBA considered, the manufacturer will try to cover any type of needs that the user may have and will offer very low-cost systems with limited but sufficient performances, high-capacity systems somewhat more expensive and of course intermediate level systems. This means that the variety of possibilities offered by the market is increasing and, in many cases, requires prior analysis to decide the best option for a specific project. The tables below list some devices and a selection of their most important features in an attempt to facilitate this task.

2.1. Hardware Development Platforms: Single-Board Microcontroller (SBMs)

The low-cost of microcontrollers together with the low cost of PCB manufacturing has given rise to a large number of hardware development platforms, both proprietary and open. The success of these platforms is based on two fundamental aspects: the first is the low cost of the hardware; the second is the availability of an Integrated Development Environment (IDE) software with a multitude of libraries and a community of developers that facilitate the resolution of different problems.
The limited capabilities of this type of processors (small memory capacity, 8 or 16-bit data bus) means that they are usually used in stand-alone applications: the microcontroller regulates the operation of a relatively simple device by means of a small program recorded in its memory that is executed continuously (also called “firmware”). Table 1 summarized the most popular proprietary SBMs available in the market and some important characteristics.
Table 1. Main proprietary SBMs in the market.
  ST Microcontroller (MCU) [47]ST Microcontroller (MCU) [76] Texas Instruments [48]Texas Instruments [78]
summarized the most popular open-source SBMs available in the market and some important characteristics.
Table 2. Main open-source SBMs in the market.
  Wiring [57]Wiring [85] Adafruit [58]Adafruit [38] Arduino/Genuino [59]Arduino/Genuino [42] Teensy [
[
50
][51][52]Europe Prize (€) [44,49
Among the free source SBMs, Arduino is the most distributed SBM platform all over the world, being converted in almost a standard. There are many third-part Arduino-compatible SBMs having the same pinout, shape, size or characteristics, or including increased performance because anyone can modify or adapt the original design to improve it. In addition, there is a broad developer community that have created an enormous number of libraries and resources for any project can be undertaken. This can say also for the plethora of existing expansion boards, the named shield-boards.
The hardware of Arduino boards is a PCB with an Atmel AVR microcontroller (ATmega8, Atmega168, Atmega328, Atmega1280 depending on model) whose IO ports are pin-accessible and includes a minimum of auxiliary components. The boards can be acquired completely mounted or without components, but they can also be edited because their technical files are freely web accessible. By other hand, the software is an IDE based in Processing that can be downloaded freely from web. It uses Wiring, a programming language based on C, to program the processor whose reference information is continuously debugged and commented by an extensive developer community. The Arduino projects can run without connecting to a computer if an interactive autonomous object is developed. However, Arduino can also be connected to software as Processing, Max/MSP, Pure Data, Java, JavaScript and others to run as an auxiliary object in a big comprehensive project.
Even though the Feather Huzzah ESP8266 from Adafruit has been included in Table 2 as if it were an SBM, it is actually a SoC that integrate an enhanced version of Tensilica’s L106 Diamond series 32-bit RISC (Reduced Instruction Set Computer) processor and a full Wi-Fi front-end (both as client and access point) and TCP/IP stack with DNS support as well. On a 3 × 5 cm PCB there are 9 GPIO, analog input, USB, I2C, SPI and FDTI communications. These features, the possibility of programming in the Arduino IDE and its low price is that allows comparing it with the other SBMs.

2.2. Hardware Development Platforms: Single-Board Computers (SBCs)

In the last years, the microelectronics technological evolution has made possible to manufacture hardware platforms similar to microcontroller, but with two main differences: they include high memory capacity chips (up to Gigas) both RAM and non-volatile (using Flash technology) and use SoC technology that in addition to high-capacity microprocessors (32 and 64 bits) integrated in a single chip, a very large set of peripheral controllers, such as graphical processors (HD or 4K), interfacing protocols (UART, I2C, SPI, GPIO, CSI, etc.), wireless, audio, GPS, nine-axis accelerometer, gyroscope and compass, and much more. These enhanced features allow these hardware platforms to run a complete OS without any problem, so that they work practically as a general-purpose computer. These hardware platforms are referred as SBCs. There are many commercial SBCs, and everyone has a characteristic that makes unique. Even the engineers who regularly work with SBCs may be overwhelmed by their expanding market.
Raspberry PI is, perhaps, the SBC that has had the greatest diffusion, becoming, such as Arduino for SBMs, the benchmark of SBCs (see Table 3). Raspberry PI family is based on ARM/Cortex architecture. The most widely used model, Raspberry Pi 3, is based on a 64-bit SoC ARM Cortex-A53 working at 1.2 GHz, and a GPU Broadcom Video Core 4. It has 1 GB of RAM at 900 MHz, and for storage uses μSD cards. They have mainly two different models of Raspberry PI, named Model A (65 mm × 56 mm) and B (85 mm × 56 mm), in addition there is also the Zero series which is half the A size (65 mm × 30 mm). However, Raspberry PI is neither the only SBC nor the one with the highest performance (see Table 4 for comparison). Since 2012, many SBCs have been developed especially designed to work as embedded systems in a multitude of different applications, many of them are completely open designs and some, such as the Raspberry PI, only partially open. The industries of mobile telephony, IoT or domotics, among others, have greatly favored the development of these platforms, which increasingly have more memory capacity, include dual core, quad core, SoCs, have wireless connectivity and are increasingly compact and inexpensive.
Table 3. The SBC Raspberry PI Model B family [61][71].
Model Zero W 1 B+
Table 4. Main open-source SBCs Linux based in the market.
Model BeagleBone Black [62]BeagleBone Black [46] Odroid XU4 2 B [63]Odroid XU4 [66] Tinker Board 2 3 B+ 4 B
[64]Tinker Board 2 [79]
SoC
65
60
70
As can be seen in Table 4 and Table 5, most of the open-source SBCs on the market have 32 or 64 bit processors, at least 1 GB of RAM and a certain amount of flash memory to contain the firmware, some kind of wireless connectivity, several options for connecting the most commonly used peripherals such as cameras, audio, keyboards and displays, networking capabilities, GPIO (General Purposed Input Output) pins to control devices such as those that would be managed by an SBM, run Linux type or Windows OS and all this for a price ranging from 50 to 100€ depending on the included features.
Table 5. Main open-source SBCs Windows based in the market.
Model LattePanda 2G/32Gb [65]LattePanda 2G/32Gb [59] DragonBoard410c [49]DragonBoard410c [44]60] Udoo x86 Ultra [66]Udoo x86 Ultra [82]Teensy [77]
Processor STM32 STM8 MSP430 BCM2835 BCM2835 BCM2836AM65x/AM572x/DRA821xM
Frequency (GHz)
,
49
SoC Sitara AM3358 Exynos5422 Rockchip RK3288BCM2837B0 BCM2711
Architecture / Bits Processor/Cores/Bits ARM11/1/32 ARM11/1/32 Cortex A7/4/32 Cortex A53/4/64 Cortex A72/4/64 ,
SoC Intel HD Gen8
Processor/Cores/Bits ARM Cortex-A8/1/32 ARM Cortex-A15/4/32 ARM Cortex-A17/4/64
54,72]
The BeagleBone Boards, Blue and Black, are focused to hardware applications. The BeagleBone Black has seven analog inputs up to 200 kS per second and an internal RTC (Real Time Clock), making it a very compact and simple system for continuous acquisition systems. Their main characteristics are: ARM Sitara AM3358 processor (1 GHz), 512 MB RAM, Ethernet, SPI, I2C, 69 GPIO, 4 timers, 7 analog inputs and other for more specific uses. The Analog-to-Digital Converter (ADC) or Touchscreen Controller, as is named in the AM335x Technique Reference Manual, is a general purpose 12-bits 8-channel ADC with optional support for resistive touchscreens. Among the 8 analog-channels at processor, only 7 are addressable on the BeagleBone Black expansion port by P9 port. As the analog input range is 0 to 1.8 V, a 1.8 V supply voltage pin is available. The C revision of BeagleBone Black has Linux Debian as OS and natively includes a Pyton interpreter. The ease of use of this language makes it a good choice for managing the main application of an acquisition system.
The Tinker Board is equipped with a 4-core Rockchip RK3288 ARM processor, at 1.8 GHz, and 2 GB of dual-channel LPDDR3 memory. In a size of 85.6 mm × 56 mm × 21 mm includes 1 GB Ethernet connectivity, Mali-T764 GPU with HD/UHD video play support, H.264/H.265 decoding, 192 kHz/24-bits audio, 4 USB 2.0 ports, Bluetooth 4.0 and Wi-Fi 802.11b/g/n. The TinkerOS operating system is a Linux distribution based on the latest Debian 9 kernel version. This OS provides a platform for basic tasks as web browsing, video and music playback. In addition, the LXDE desktop includes a Chromium browser and programming applications.
Udoo x86 Ultra is based in an Intel Pentium x86 processor and its performance is comparable to a low-cost computer. It can run all the software available for a computer, including 3D games, graphical editors, video streaming and more, because a Linux, Android or Windows 10 OS can be loaded. However, it includes an Intel Curie as coprocessor, so the word of Arduino 101 can be also accessed, with gyroscope and six-axis accelerometer integrated. Such dual nature makes this SBC a highly versatile tool suitable for any type of application.
With 8 GB of RAM and a quad-core Intel chip at 1.6 GHz, the Udoo x86 Ultra can run an Office Suite, a web browser or an IDE in the same way that a conventional computer. It can also run resource-intensive games at 720p and 20 or 30 Frames Per Second (FPS). The Udoo x86 Ultra stands out as an SBC suitable for media streaming. With a GPU Intel HD Graphics 405 can play 4K video at 30 Hz in three displays simultaneously, using HDMI and two mini-DisplayPort ports. For storage, it has 32 GB of eMMC (embedded Multi Media Card, a sort of SSD incorporated), but a μSD card can be added as additional storage solution. Its cost is higher comparing with the ARM chip-based SBCs, 250€, and ~10€ should be added if a Wi-Fi antenna is needed, as the board does not have hardware for wireless networking or Bluetooth.
In addition, there is a wide variety of industrial-grade SBCs that are used in automation of processes, production systems and quality control, Industrial IoT or Industry 4.0, they have technology protected by patent and we will not discuss in this work about them.

2.3. Hardware Development Platforms Based on Field Programmable Gate Arrays (FPGAs)

A FPGA is a chip including a matrix of logical gates whose inputs and outputs can be interconnected by means of a program. This kind of circuit is widely used in digital control equipment because it is a very compact way of having a large number of logical gates and because, being programmable, it allows very easily configuring the response of the circuit according to the requirements of the system. Moreover, being basically a parallel processing system, its response time is much shorter than that of the best processor. Its main disadvantage is that the programming tools provided by manufacturers are complex, heavy, expensive and exclusive to each of them.
Since their appearance in the 80’s they have greatly increased their capacity and speed and since the 2000’s they have started to use their great capacity to integrate other devices such as clocks, communication controllers and microprocessors that can be programmed in the FPGA matrix as it will be a SoC, this fact makes the development and programming tools more and more complex. Until 2015 all this technology, both hardware and software, was proprietary, but the IceStorm project [67][133] uses reverse engineering to release the technology of Lattice’s iCE40 family. Since that time, the open-source community has access to use this type of technology to develop projects, and very interesting open-source development boards [68][134] and programming software have started to emerge that facilitate access to this technology while keeping prices at a reasonable level. It is worth highlighting the iCEstudio IDE among the programming tools and the open FPGA-based SBAs listed in Table 6.
Table 6. Open-source SBAs with FPGA.
Model Papilio DUO [69]Papilio DUO [135] Alchitry Au [70]Alchitry Au [136] Alhambra II [71]Alhambra II [137] MKR Vidor 4000 [72]MKR Vidor 4000 [138]
As can be seen in Table 6, there are SBA having only the FPGA chip and the peripherals required for its operation: voltage regulator, memory, communication port for programming, GPIO pins and others. On the other hand, there are manufacturers that, in addition to the FPGA, include a microprocessor to give more flexibility and applicability to the SBA. This option can facilitate FPGA programming by using the processor for support and avoiding the FPGA programming IDE. Others such as Arduino go further and include wireless communication (Wi-Fi and BT/BLE), video input and output ports (MIPI and HMDI, respectively) and other functionalities. There are also manufacturers who choose to maintain form and pinout compatibility with Arduino UNO in order to be able to use the myriad of existing expansion boards (shields).
There are also some FPGA-based SoCs projects, which integrate the FPGA and some peripherals in an only chip acquiring the maximum integration and saving size. Some of them are listed in Table 7.
Table 7.
SoCs that integrate a FPGA.
ORP SoC [73]ORP SoC [141] ZPUino [74]ZPUino [142] CVA6 [75]CVA6 [143]
Processor
- 10 10–35 20–40 10–30
Frequency (GHz) 1.0 0.7
Processor AVR8 Tensilica L106 ATmega32U4AVR8 - - Cortex-M0 SAMD21
Processor OpenRISC 1k Zylin ZPU RISC-VARM Cortex-M0+ ARM Cortex-M
Arm Cortex-M/32 Harvard MCU/8 RISC/16 Arm Cortex-M4F/32
Architecture/Bits AVR atmega/8 RISC/32 FPGA typeAVR atmega/8/32 Atmel SAMD21/32 MK20DX/32 Spartan 6 Artix 7 iCE40 Cyclone 10CL016 Europe Prize (€) [49][50][51
FPGA type Cyclone 3 Spartan 3E / 6 Genesys 2 ][52]Europe Prize (€) [44,49,54,72] <20 ~40 10–20 2.5–10
Flash (MB)0.9 1.01.4 2.01.5 1.8 64 - 32 2 IDE STM32Cube STVD-STM8 IDE Wiring Arduino IDE Energia

MicroPyton
Flash (MB) 16 - - Arduino IDE Arduino IDE Teensyduino
RAM (GB) 0.5 0.5CCStudio
RAM (MB) 2 2561.0 1.0 2/8 -
RAM (MB) 328 Open-Source HW
32 - No GPIO (pins)No 54 102
PeripheralsNo No
Open-Source HW Yes Yes Yes Yes Yes
Wireless Wi-Fi, BT, BLE No No Wi-Fi, BT, BLE Wi-Fi, BT, BLE Ethernet, UART, LCD/VGA, SD/MMC, GPIO, Audio, PS2 Open-Source SW Open-Source SW Yes Yes Yes,54,72] 15 32
RAM (GB) 0.5 2.0 2.0
Wireless - Wi-Fi (option) Wi-Fi, BT
Qualcomm APQ8016E Intel HD Graphics 405
Processor/Cores/Bits Intel Atom X5/4/64 ARM Cortex-A53/4/32/64 Intel Pentium x86/4/64
Frequency (GHz) 1.8 1.2 2.56 Yes Yes
RAM (GB) 2.0 1.0 12 UART, VGA, MMC, GPIO 128 pin, Audio, SPI, I222
C Ethernet, UART, DDR3, SPI Yes No
Yes Yes High Perform. Versions
8.0 Connectivity HMDI, USB, µUSB, Video RGB, CSI Cam HMDI, USB 2.0, Ethernet, Audio, Video RGB HDMI, USB 2.0, Ethernet, Audio, Video RGB, CSI Cam Connectivity USB 2.0, Ethernet, UART, SPI, I2C, HDMI, CAN 386
Wireless Wi-Fi, BT Wi-Fi, BT Wi-Fi slot HMDI, USB 2.0, µUSB, Ethernet, Audio, Video RGB, CSI Cam µHMDI, USB 3.0, USB-C, Ethernet, Audio, Video RGB, CSI Cam USB 2.0/3.0, Ethernet, UART, SPI, I2C, HDMI USB 2.0, Ethernet, UART, SPI, I2C HMDI, SD 3.0 IDE (processor) Arduino - - Arduino - - -
Versions 3 1 10 11
Connectivity USB 2.0 / 3.0, Arduino GPIO, Ethernet, UART, I2C, HDMI, µSD, CAN, Audio USB 2.0, Ethernet, UART, SPI, I2C, HMDI, GPS OS8
USB 3.0, Arduino GPIO, Ethernet, UART, HDMI, µSD, Audio
EDK, Chipscope, Impact
OS iCEstudio Quartus
Linux ZPUino IDE Linux OSNOOBS and Linux Debian and ROS Ubuntu 16.04 and Android 4.4.x IDE (FPGA)Debian and Android EDK, Chipscope, Impact Mainstream Versions 353
OS 41 - IST44
Windows 10 Android, Linux and Windows IoT Android, Linux and Windows 10 Europe Prize (€) [49][50][518
No Europe Prize (€) [No 49][Yes Yes Low Power Versions
Europe Prize (€) [49][50No
]50][51][51]43 40/84
]
[
52
]
Europe Prize (€) [
44
,
49,54,72]
Europe Prize (€) [49][50][52]Europe Prize (€) [44[51[52]Europe Prize (€) [44][52]Europe Prize (€) [44,49,54,72] ,49,54,60 72] 300 85 50 63 341 22 10 -
Most Popular   Huzzah ESP8266 UNO Rev. 3   Teensy LC IST Yes Yes
Wiring V1.1Yes Mega 2560Yes MKR1000 Teensy 3.2 Most Popular STM32F103C8T6
60 250 STM8L15X TMS320C6457  
Wiring Mini V1.0 Leonardo MKR Zero Teensy 3.6 STM32F107V/C
Wiring S Nano Every Zero Teensy 4.0 STM32F303VCT6
STM32F439ZI
STM32F756ZI STM8L152C6
STM32L010RB
STM32L4A6ZG
STM32L4R5ZI/-P
In addition to proprietary SBMs shown in Table 1, it is worth mentioning other manufacturers and SBM families such as the development kits based on Microchip’s 8/16/32-bit PIC microprocessors [53][63], Intel’s 32-bit Galileo [54][56] or those marketed by Maxim [55][61] or Cypress [56][47] to evaluate their chips. These SBMs are generally oriented more towards evaluating and demonstrating the capabilities of the microprocessors that they integrate, rather than using them as the basis for low-cost technology development. The idea of the manufacturers is that the chips are integrated as such in the developments rather than using the SBM as a part of the development. In the same way Table 2
Europe Prize (€)
[49]
 
Micro
 
Teensy 4.1
The ZPUino is not specifically a SoC but is a 32-bits soft processor that it was programmed on a FPGA. It uses a variation of the Arduino IDE for programming and is used by the Papilio Pro and Papilio One FPGA evaluation boards as the inner processor over the Xilinx Spartan 6 LX9 and 3E FPGA chips, respectively [76][139]. On the other hand, the CVA6 (formerly Ariane project) by PULP Platform [77][140] is not a FPGA but a SoC with a processor that can emulate the FPGA working, by now only the Xilinx’s Genesys 2.