The attraction of Single Board Computers (SBCs) for both hobbyists and developers (as a prototyping platform) is clear and their lure has been rising steadily for many years. Probably the most famous SBC is the Raspberry Pi, however there are lots of companies that make these nimble little boards. I recently reviewed the MIPS Creator CI20, a SBC designed around a MIPS based CPU rather than an ARM based one. However the Pi and the CI20 aren’t the only SBCs out there. SolidRun has several different products that use Freescale’s i.MX 6 series of processors. The i.MX 6 range is based on ARM’s Cortex-A9 design and scales from single- to quad-core.
I recently got my hands on a HummingBoard-i2eX from SolidRun. It uses a dual-core i.MX 6 processor, comes with 1GB of RAM, has the same form factor as a Raspberry Pi 1, and can run both Android and Linux. Let’s take a deeper look, shall we?
The competition is fierce for the top spots in the SBC market, and as a result SolidRun has taken a different approach to some of the other manufacturers. There are two unique aspects to the HummingBoard. First, there are three different off-the-shelf-boards in the series, the i1, the i2 and the i2-eX. Each board offers a different set of features at a different price. Second, for those using the HummingBoard for prototyping, SolidRun offers a way to mix and match its MicroSystem on Module (MicroSOM) with a base board. The MicroSOM includes the processor, memory subsystem, power management subsystem, networking and system interconnectivity, and you can add also Wi-Fi. This means that it is possible to put together a HummingBoard with a quad-core processor, Bluetooth, and Wi-Fi.
Here is a detailed look at how the HummingBoard-i2eX compares to other SBCs:
|Device||HummingBoard i2eX||Raspberry Pi 1||Raspberry Pi 2||Creator CI20|
|CPU||1GHz i.MX6 dual-core Cortex-A9 CPU||700MHz ARM11 Broadcom CPU||900MHz quad-core ARM Cortex-A7 CPU from Broadcom||1.2GHz dual-core Imagination MIPS32 CPU|
|GPU||GC2000||Videocore IV||Videocore IV||PowerVR SGX540|
|Storage||SD card slot||SD card slot||SD card slot||8GB onboard flash, SD card slot|
|Connectivity||2 x USB, HDMI, Ethernet, 3.5mm audio jack, infra red remote control receiver||4 x USB, HDMI, Ethernet, 3.5mm audio jack||4 x USB, HDMI, Ethernet, 3.5mm audio jack||Ethernet, 802.11 b/g/n Wi-Fi, Bluetooth 4.0, 2 x USB, HDMI, 3.5mm audio jack|
|OS||Linux, Android||Linux||Linux, Windows 10||Linux, Android|
|Connectors||Camera interface (CSI-2), GPIO, UART, SPI, I2C, PCI-Express Gen 2, mSATA II, RTC with backup battery||Camera interface (CSI), GPIO, SPI, I2C, JTAG||Camera interface (CSI), GPIO, SPI, I2C, JTAG||Camera interface (ITU645 controller), 14-pin ETAG connector,
2 x UART, GPIO, SPI, I2C, ADC
The HummingBoard-i2eX is compatible with Android and currently runs Android 4.4 KitKat. The Android experience is pretty good and for the most part you get the same experience as you would from a smartphone or a tablet. Of course you aren’t using a touch screen, but with a mouse connected to the board you are pretty much able to use Android to its fullest.
The HummingBoard includes Google apps, so you get access to the Play Store as well as other Google services like Gmail, G+, YouTube and so on. In terms of performance the dual-core Cortex-A9 isn’t going to win any speed competitions when pitched against the latest generation of quad-core and octa-core processors. However the board isn’t designed for ultra-high speed, it is designed for embedded solutions. Quickly looking at some benchmarks the HummingBoard-i2eX scored 12198 on AnTuTu, and for Epic Citadel I was getting scores of around 24 to 28 frames per second in High Performance mode. The Epic Citadel results varied slightly from one test run to another.
However in terms of multimedia the CPU and GPU combination performs excellently. The HummingBoard supports accelerated decoding for a large number of video standards including MPEG-4 ASP, XVID, H.264 HP, H.263, and VP8. I tested the HummingBoard using YouTube and using Netflix. Both ran without any problems.
The only minor problem with Android on the HummingBoard is that it doesn’t recognize flash drives when they are plugged into the USB port. This isn’t something that most Android users try with their smartphones, so it isn’t surprising that it doesn’t work. However since the HummingBoard-i2eX does have USB ports, it would have been nice if it worked. As a result, I couldn’t test video performance for files stored on an external USB drive with Android.
The HummingBoard can run a variety of Linux distributions. In general Linux tends to be the primary operating system for SBCs. Booting the HummingBoard with Linux is quite easy. First you need to download a special firmware called Ignition from SolidRun’s website and write it onto a memory card.
Then you boot the HummingBoard with the Ignition firmware and use its UI to pick which Linux distro you want to use. Ignition will then download the distro and copy it onto the micro SD card. Once copied you just reboot the board and the Linux distro will start-up. If you want a Linux distro that isn’t on the official list in Ignition, then there are plenty of community provided distros which can be written directly onto a micro SD card. You can find full instructions on SolidRun’s website.
The HummingBoard is certainly a feature rich SBC and its support for Android and Linux is excellent. The Cortex-A9 cores used in the i.MX 6 are more advanced than the Cortex-A7 cores used in the Raspberry Pi 2. For example the Cortex-A9 supports out-of-order execution, while the A7 doesn’t. The support for Android is the best I have seen in a SBC, while at the same time the ability to install other operating systems is great.
Like the Raspberry Pi, the HummingBoard has a set of GPIO pins which means the board is an attractive option for hardware enthusiasts. Although the HummingBoard is more expensive than the Raspberry Pi, the extra cost does bring benefits like support for mSATA II and LVDS.