When I started looking into minature device on which I could run Linux, I had a hard time finding a decent place to start. Without experience, it was difficult to tell which device I should be looking at, how they compare, and what they could run.
This will cover my experience in getting started with the BeagleBone devices and Grove.
I was eventually streered towards the BeagleBone line of devices. As of November 2015, there are several devices in the BeagleBoard and BeagleBone line. I want to focus on BeagleBone Black, and BeagleBone Green, but before we get to those, I created a quick overview of some other BeagleBoard and BeagleBone devices. When searching for BBB and BBG, you'll occasionally run into builds or information specific to these:
|BeagleBoard||BeagleBoard xM||BeagleBoard X15||BeagleBone Rev A||BeagleBone Black Rev B|
|Availability||Introduced in 2009.||Introduced in June 2010.||Introduced in October 2015.||Introduced in 2011. Discontinued in ...?||Introduced in ...? Discontinued in 2014.|
|Processor||TI OMAP3530 720MHz 32-bit ARM Cortex-A8||AM37x 1GHz ARM Cortex-A8||TI AM5728 2x1.5 GHz ARM Cortex-A15||AM335x 720MHz 32-bit ARM||AM335x 1GHz 32-bit ARM|
|Size||3.1" x 3.0" or 79 mm x 76 mm||3.25" x 3.25" or 82.6 mm x 82.6 mm||4.2" x 4.0" or 107mm x 102 mm||3.4" x 2.1" or 86 mm x 53 mm||3.4" x 2.1" or 86 mm x 53 mm|
If not obvious, note that an ID-1 format credit card is 86 mm x 54 mm. With the exception of the newer X15, these devices have a smaller footprint than a standard credit card.
Now that we have those out of the way, here is some information on the BeagleBone Black (aka BBB), BeagleBone Green (BBG), BeagleBone Green Wireless (BBGW), and BeagleBone Black Wireless (BBBW). There are a few key differences between these devices, and I've highlighted them here:
|BeagleBone Black Rev C (BBB)||BeagleBone Green (BBG)||BeagleBone Green Wireless (BBGW)||BeagleBone Black Wireless (BBBW)|
|Availability||Introduced in 2013.||Introduced in August 2015.||Introduced in May 2016.||Introduced in September 2016.|
|Processor||AM335x 1GHz 32-bit ARM Cortex-A8||AM335x 1GHz 32-bit ARM Cortex-A8||AM335x 1GHz 32-bit ARM Cortex-A8||AM335x 1GHz 32-bit ARM Cortex-A8|
|Memory||512 MiB||512 MiB||512 MiB||512 MiB|
|EMMC (onboard flash)||4GB||4GB||4GB||4GB|
|Video||micro HDMI||none||none||micro HDMI|
|Grove connectors||none||Two connectors:
|USB host connectors||
|LAN||Ethernet 10/100 RJ45||Ethernet 10/100 RJ45||none||none|
|Size||3.4" x 2.1" or 86 mm x 53 mm||3.4" x 2.1" or 86 mm x 53 mm||3.4" x 2.1" or 86 mm x 53 mm||3.4" x 2.1" or 86 mm x 53 mm||3.4" x 2.125" or 86 mm x 54 mm|
The biggest differences are:
Because of the 5V jack, HDMI, and Grove connectors, it is important to note that the enclosures for BBB, BBG, and BBGW are not interchangeable. But they're easy to find, and relatively cheap.
For example, here are two simple enclosures for BBB and BBG:
There are special builds of many common Linux distributions for ARM7 which will run on BBB and BBG. These include the necessary kernel patches specific to BeagleBone. While sites like elinux.org do have instructions on building the linux kernel from source, you can also download prebuilt Debian or Ubuntu installation images for the BeagleBone. I previously wrote another article on how I installed and setup Ubuntu on the BBB and BBG.
Which brings us to the topic of the Grove connectors. I wasn't familiar with Grove prior to playing with the BBG. Seeed Studio in Shenzhen, China, has created a line of sensors and devices with standardized connectors, which they call Grove. For example:
A more detailed list of the hundreds of Grove sensors and devices is available from Seeed Studio's wiki.
I've started writing a C++ library to access and control Grove twigs on the BBG and BBGW. The library is licensed using the standard 2-clause BSD license, allowing it to be used on closed-source and commercial products without problem. More information on the SG++ library can be found on the SG++ API page. The list of Grove twigs supported in SG++ is available from the SG++ status page.