The Beagle Bone Black

Ever wonder what it would be like to have a device that is a cross between an Arduino and a Raspberry Pi (RPi)? Stop wondering because it is already here.

A new micro computer board has arrived called the Beagle Bone Black (BBB). It sports a 1 GHz CPU, GPU, 512 MB Ram, a Linux OS and more GPIO pins than Arduino or RPi combined. The BBB is squarely aimed at the gap between the Arduino and the RPi, and it is a great spot to be in. I had the pleasure of picking one up a few days ago, and I must say, I am very impressed. You see, I was trying to solve a problem where I needed web access to a microcontroller and direct control over the GPIO pins. With Arduino, you need to buy an Ethernet Shield which basically doubles expense and limits the number of pins available. With RPi, I get a nice Linux distro, but the GPIO pins on the RPi are scant and the the web stack on the RPi may looked like it was going to push the RPi too hard. The BBB provides an amazing balance between the simplicity of programming access to the GPIO pins, and a savvy Web capability without the need to a top heavy web services stack. How does the BBB achieve this? The secret is their use of the new and impressive language Node.js.

Node.js is an open source web programming language that is reminiscient of Ruby on Rails. Node.js is essentially Javascript brought server side. The folks behind Node took the Javascript Virtual Machine from Google’s Chrome browser (V8), made it stand alone, and proceeded to build a series of supporting libraries to make Node sing and dance. With Node, you can build fast and optimized web applications without the heaviness of having to run Apache web server with another language like PHP. Because Node is compact and nimble, you can run mulitple instances of Node to serve up multiple instances of your web app across a cluster of servers which allows you to scale your web app up and out.

The folks behind the BBB saw the virtue of Node and wisely made it the primary programming language for the BBB. But the smarts didn’t stop there. The BBB designers also realized that the Arduino’s virtue was simplicity and hardware extendability by the use of well placed GPIO pins. So the designers of the BBB arranged the GPIO pins on the BBB top and bottom like the Arduino and doubled up on them! The BBB has ADC, DAC, UART, SPI, I2C, and TTL functionality. There is a total of 65 pins that are programmible – far more than the Arduino or the RPi. When you look at the Javascript used to program the pins, it looks very much like the Arduino C like code – so people used to programming the Arduino should have no trouble making the jump. The programming environment itself is another area that shines. With the Arduino, you download the basic IDE software onto your computer, write your code, then write the code to the Arduino via the USB. With the RPi, you need to use one of the more general purpose toolchains like Python to access the GPIO pins. There is no IDE, lest you load some IDE onto your computer or RPi. While the ability to use these standard tools is great, it can be quite a learning curve for people starting off, many who like Arduino’s simplicity would be turned off by the RPi. Not so with the Linux powered BBB. The BBB comes with Cloud9 – a web based IDE written in Node.js and it is up and running on the BBB by default. That means you do all of your programming on the BBB itself by simply using your browser! The BBB pulls a neat trick, by creating an IP connection via its USB port! When you plug in the BBB to your computer, an IP address of 192,168.7.2 is available and you open your browser to that URL. You are greeted with a professional looking website (all running on the BBB) with all the material you need to get running. The Cloud9 interface does code completion, code colouring, and allows you to designate which programs run at start up. All in all, the BBB to me, had the best initial user experience in comparison to the Arduino or the RPi, allowing you get up and running quickly with minimal fuss. All you need is your computer, and the USB cable is supplied. As a final nod to the homerbrew/hacker/maker customers that the BBB is meant to appeal to – the BBB has curved corners that will allow it to fit into an Altoids tin!

The BBB has become my new favourite microcontroller board. It’s clear that the Beagle Bone designers have put a lot of thought into the design and capabilities of the BBB. I believe that this board will become the new standard that other microcontroller projects will want to mimic, if not surpass. Linux power with Arduino simplicity, expandibility and super web smarts for just over $50 Canadian. What’s not to like?

Want to know more? Head on over to the Beagle Bone site here.

This entry was posted in Electronics, Linux, Programming. Bookmark the permalink.

Comments are closed.