“The do-it-yourself (DIY) maker movement continues to grow, encouraging hardware and software vendors to leapfrog each other in higher performance and lower cost. They’re also aggressively engaging the community to add more software and expand their critical support ecosystem, and in return they’re enhancing their core offerings, including wireless connectivity for IoT projects.
The do-it-yourself (DIY) maker movement continues to grow, encouraging hardware and software vendors to leapfrog each other in higher performance and lower cost. They’re also aggressively engaging the community to add more software and expand their critical support ecosystem, and in return they’re enhancing their core offerings, including wireless connectivity for IoT projects.
Interest in DIY and its associated embedded prototyping and development space has also prompted other large companies to enter the field with varying degrees of success. For example, Intel experimented with Atom-based Joule Compute Modules in late 2016, but stopped in mid-2017. Meanwhile, Samsung has had success with its Exynos heterogeneous multi-core processors through Hardkernel’s Odroid offering. Other communities have exploded in popularity, such as the BeagleBoard.org FoundaTIon.
With the addition of products, hobbyists and professionals alike need to choose according to the requirements of the application. These requirements include I/O, processing power, memory, cost, ecosystem support, and the likelihood that the design will go into full production. Also, since wireless plays a bigger role, hobbyists and developers alike need to be aware of regulations regarding RF emissions if they intend to sell their projects or designs. Resellers will disable wireless if not certified.
Arduino, Raspberry Pi, and BeagleBone still dominate While many are entering the space, the Arduino, Raspberry Pi, and BeagleBone platforms dominate DIY and prototyping boards. Both Arduino and Raspberry Pi started out as learning tools for children and hobbyists: both communities still reflect on their origins. The BeagleBone requires more programming knowledge and is best suited for deployment as a complete embedded system.
Of the three, the Raspberry Pi (R-Pi) is arguably the most well-known and widely used DIY SBC. The Raspberry Pi 3 Model B is the latest iteration of its flagship line, with impressively small board hardware (Figure 1).
Figure 1: Introducing the Raspberry Pi Model B with built-in 802.11n Wi-Fi and Bluetooth Low Energy support. Image credit: Raspberry Pi Foundation.
It is based on Broadcom’s BCM2837 64-bit, 1.2-GHz Arm Cortex A53 processor with 1 GB of LPDDR2-900 SDRAM. The big news when the Model B launched in 2016 was built-in 802.11n Wi-Fi and Bluetooth Low Energy support, based on the BCM43438, also from Broadcom.
I/O support includes: four USB 2.0 ports, CSI (camera), DSI (Display), 26-GPIO port on standard 40-pin Pi configuration, and 100Base-T Ethernet. Multimedia support includes an HDMI 1.4 port and 4-pole composite video/audio.
Typically, extensions come in the form of Raspberry Pi “Hardware On Top” (HAT). An avid community has produced hundreds of these HATs, extending functionality limited only by imagination. Some HATs can even be attached to other HATs. In addition to the R-Pi ecosystem, there is a way to adapt Arduino “Shields” to a HAT interface, making the R-Pi the SBC with the most out-of-the-box functionality.
It is attractive for developers to use R-Pi as the core of a product or project because it has minimal initial investment. Since the R-Pi runs a full Linux operating system, development can be done directly on the device. However, access via Secure Shell (SSH) is also a popular option. Combined with the Raspberry Pi FoundaTIon’s extensive online support center (open source OS downloads, community support, documentation), the R-Pi makes it at the top of your holiday list or post-holiday New Year’s DIY project platform list.
Arduino grows and connects with TIAN Arduino started with Atmel ATmega MCUs, which, while useful and popular, are often limited to repetitive single-task functions. The Arduino TIAN shows how far the platform has come (Figure 2).
Figure 2: The Arduino TIAN is a powerful development board designed for the Internet of Things. Image credit: Arduino.
TIAN is a powerful development board designed for IoT applications featuring an Atmel SAMD21 MCU based on an Arm Cortex-M0 processor, clocked at 560 MHz. It is backed by 16 MB of flash memory, 4 GB of eMMC and 64 GB of DDR2 memory.
Wireless connectivity on the TIAN comes from a Qualcomm/Atheros AR9342 with a MIPS processor and dual-band 802.11b/g/n Wi-Fi and Bluetooth 4.0.
Its I/O support includes 20 digital GPIOs, 6 analog input pins with 12-bit analog-to-digital converter (ADC), 1 analog output with 10-bit digital-to-analog converter (DAC), serial, TWI, SPI, Ethernet and support for a large collection of Arduino Shields.
In operation, TIAN acts as a server and provides an OS-like interface through a browser on a connected computer, providing a window and menu interface for configuring the board. In terms of development, the board supports Arduino IDE, a relatively mature integrated development environment.
TIAN runs Linino, a complete Linux system for the Internet of Things based on an OpenWRT (GNU/Linux) based operating system designed for embedded devices. If the design is successful, it is assumed that the code can be ported from TIAN to a custom PC board using the same or similar processor. Therefore, for embedded projects, especially IoT projects, TIAN is a good place to initiate design ideas.
Given the importance of wireless connectivity, Wi-Fi support has been added to the widely used Arduino Uno via the integrated ESP8266 Wi-Fi module.
Note that Arduino has the oldest and most extensive support community with countless projects, Arduino Shields, different operating systems, code, tutorials, and more. When it comes to straight-forward non-graphical embedded development, Arduino quickly surfaced.
The BeagleBone Black Wireless is suitable for full-scale embedded designs. For starters, the BeagleBone Black Wireless (BBBW) requires more programming skills, but it comes with more connection points: up to 92 connections on two 46-pin headers, with large Parts are available. Typically, these headers are used to extend the functionality of the BeagleBone using the “BeagleBone Cape” expansion board. These are comparable to Raspberry Pi HATs or Arduino Shields.
Its connectivity also sets the BBBW apart from the competition, including three I2C buses, CAN bus, SPI bus, five serial ports, 65 GPIO pins, seven analog inputs, eight PWM outputs, four timers , 1 USB 2.0 port, integrated 802.11b/g/n, Bluetooth 4.1, plus BLE (Figure 3). Non-OS based support for peripherals is also provided through the Texas Instruments StarterWare library.
Figure 3: The BeagleBone Black Wireless (BBBW) is a bit advanced for beginners,
But it’s great for embedded system design and works “out of the box”. Image credit: BeagleBoard.org.
BBBW’s 4 GB eMMC flash comes loaded with Debian Linux out of the box, so users can turn it on and start developing right away. This is usually done by connecting to the computer via the cloud-based IDE Amazon Web Services (AWS) Cloud9 via SSH on the BBBW’s USB port. However, Android, Ubuntu, and many other Linux-based operating systems are supported by third parties.
The main chip of the BBBW is the Octavo Systems OSD3358, a system-on-chip that combines AM335x 1-GHz Arm Cortex-A8 cores, SGS530 3D graphics accelerator, NEON SIMD engine, 2x PRU 32-bit 200-MHz microcontrollers, and 512 MB of DDR3 RAM. Additional storage is provided via 4 GB of 8-bit eMMC flash memory and a microSD card slot.
BBBW has a strong community on par with the Raspberry Pi. Enthusiastic community provides numerous projects, code samples and hardware extensions. Based on power and IO, the BeagleBone has been chosen as the central control unit for many production CNC machines, which is a testament to the stability of the platform.
Hardkernel matches Samsung Exynos with Odroid For a different hacker, manufacturer or developer, try Hardkernel’s ODROID-XU4 (Figure 4). The committee has developed a strong interest in IoT applications as well as cluster computing, robotics, cloud computing and even gaming.
Figure 4: Hardkernel’s OROID-XU4 incorporates a powerful 2-GHz Samsung Exynos5422 processor
And Mali-T628 GPU matched with Odroid environment. Image credit: Hardcore.
The board itself is comparable to a small PC and is based on a Samsung Exynos5422 8-core processor (four Arm Cortex A15s and four Arm Cortex A7s) running at 2.0 GHz. This is backed by 2 GB of LPDDR3 RAM and a Mali-T628 GPU. Expansion I/O includes a 30-pin GPIO header and a 12-pin header for I2C and I2S connections. Wireless communication is not onboard, but provided using a custom IEEE 802.11ac/b/g/n 1T1R WLAN adapter connected to the USB port.
The scalability of these boards is a little different. Odroid does have a range of “shields”, not to be confused with the shield-capable Arduino shields. At the risk of confusing things further, there are Odroid Shields that can adapt the board to an Arduino Shield and a Raspberry Pi HAT.
Hardkernel itself provides an online support community with video tutorials and a large amount of open source software located on the ODROID Wiki. While this is the most expensive board at $69, it’s also the most powerful – handling heavy applications makes the Odroid a top choice. However, as of this writing, it is out of stock on Hardkernel.
It’s a good thing that DECA brings the cost and power consumption of DIY experiment programmable logic to FPGAs, and the tools become easier to use. This is something completely different. With that in mind, try Arrow’s DECA. This was designed in collaboration with Altera and TI as an easy way to get started with CPLDs and FPGAs, all in a tiny development board (Figure 5).
Figure 5: DECA development kits will guide DIYers into the more esoteric world of CPLDs and FPGAs,
It also provides designers with a fast way to implement reconfigurable logic ideas. Image credit: Arrow Electronics.
DECA features a MAX 10 FPGA with two multi-channel ADC modules, temperature sensing diodes, on-chip RAM and flash, microSD slot, accelerometer, various inputs, proximity/ambient light sensors, and a MIPI camera input. The board can output video through the HDMI interface. USB 2.0 OTG, 10/100-Gbits/s Ethernet, SDHC and MIPI CSI-2 complete the board’s port options, while communication is handled by the Arrow Bluetooth Low Energy/Wi-Fi BeagleBone Cape.
For development, DECA uses the system integration tool “Platform Designer”. The software is installed on the host computer and provides a proprietary graphical programming environment to simplify development.
Arrow offers an extensive online support community with design tools and applications for development, design and programming to help kickstart FPGA development.