The BeagleBone Black: A Low-Cost Embedded Platform, Part 1
In this blog post I will look at the BeagleBone Black, a low-cost embedded computer platform that supports Qt.
Introduction
There are a number of inexpensive embedded platforms that support Qt and can be used for learning, prototyping or for development of products that can't justify a dedicated hardware design (such as those with low production volumes). The Raspberry Pi1, at US$35 (US$25 for the Model A), is the lowest cost platform that supports embedded Linux and Qt. Recently the BeagleBone Black2 has become available at a similar price point of US$45.
Hardware
The BeagleBoard3 was the first in a series of low power open source hardware single board computers produced by Texas Instruments in association with Digi-Key and Newark element14. It was designed with open source software development in mind, and as a way of demonstrating the Texas Instruments OMAP3530 system on a chip (SOC). The original BeagleBoard was introduced in July 2008 and featured a TI OMAP3530 SOC with a 720 MHz ARM CPU, PowerVR GPU, DVI and S-Video and audio output. It retailed for US$125. The BeagleBoard-xM came out in 2010, features a TI DM3730 SOC with a 1 GHz ARM CPU, 512 MB of RAM and sells for US$149.
The BeagleBone, which came out in 2011, was a reduced cost model with a TI AM3358/9 SOC, 720 MHz ARM CPU and 256 MB RAM. It had no video output but supported an expansion connector for "capes", similar to the "shields" supported by the popular Arduino microcontroller, for which it competes. It retails for US$89. The latest model, introduced in April 2013, is the BeagleBone Black which is based on the TI AM3359 SOC with 1 GHz ARM CPU, PowerVR SGX530 GPU, 512 MB RAM, 2 GB MMC flash, micro-HDMI video and audio and a cape connector. It also has on-board Ethernet, USB and several buttons and LEDs. Retailing for US$45, it is in the same price range as the Raspberry Pi. The hardware design files for the BeagleBone Black, like the original BeagleBoard, are freely available. The picture below shows what is included when you purchase a BeagleBone Black: the PCB, USB cable and a small printed card with getting started instructions.
To get started you can power the system from a desktop computer with the supplied USB cable. Additional hardware that is useful to have is a 5 volt power supply (needed if you connect any USB devices), a micro SD card (for additional storage beyond the 2 GB on-board flash) and a micro-HDMI video cable suitable for whatever input your monitor supports (e.g. HDMI or DVI).
A USB Ethernet adaptor is useful if you plan to install Ubuntu or Debian Linux as the current installers do not support the on-board Ethernet (it is supported after install). You will also want a USB hub so that you can connect more than one USB device, typically a USB mouse and keyboard. If you want to use the serial console, for example to access the boot loader, an FTDI serial adaptor is useful.
There are various hardware add-ons available including solutions for LCD displays and touchscreens.
Software
The unit comes with the Ångström Linux4 distribution pre-installed in the on-board flash. It can also run various releases of other Linux distributions including Debian and Ubuntu as well as Android 4.3. Even some more obscure operating systems like Minix and Plan 9 have been or are being ported to the BeagleBone Black. An image of the Ångström Linux desktop is shown below.
Getting Started
You can power up and talk to the board with nothing more than the included USB cable and start using the preinstalled Ångström Linux distribution. It will appear as a network device and the documentation can be accessed via browser from the web server running on the board. The onboard flash also appears to a desktop PC as a USB mass storage device so you can transfer files. One of the first things you will want to do is update to the latest version, which will require a micro SD card to store the image updater.
If you want to install a different operating system, you can do so. These can typically be installed on and boot from a micro SD card, so you can try the operating system out without overwriting the original install on the onboard flash.
Ångström and the other operating system distributions have packaging systems that allow you to download many applications from package servers once the basic install is done.
While you can compile natively on the BeagleBone Black, it tends to be slow and developers typically cross-compile using a fast desktop system. I will cover this in future blog posts.
Summary
The BeagleBone Black is a low cost embedded platform, comparable in price and features to the Raspberry Pi. With it's "cape" expansion connectors it also competes with the Arduino embedded controllers.
A few years ago, reference boards for embedded development cost hundreds of dollars each and often required the purchase of expensive proprietary software development tools. Products like the BeagleBone Black are very inexpensive and development can now be done with free tools on any desktop computer. This has made it affordable for anyone to experiment with embedded development.
In future blogs posts I plan to cover how to get Qt 4 and Qt 5 applications running on the board, both natively and by cross-compiling on a desktop system.