Beagle Bone Black

Introduction

I recently acquired a Beagle Bone Black Rev C (4GB onboard flash storage) and started investigating what could and couldn't be done with it. One of the more impressive things is the inbuilt Cloud9 IDE and networking over USB.

This allows you to simply plug the BeagleBone Black into a USB port on your computer and start developing on the BBB right away. You'll have to install a couple of USB drivers on your computer, but other than a web browser nothing else is needed.


Updating to the latest kernel

My BBB came pre-loaded with an image from April 2014, so the first thing I did was to update to the lastest 14 MAY 2014 Debian image. The image comes with a Linux 3.8.13 kernel but it didn't work that well with my RTL8188CUS USB wireless adapter.

After much Googling and time spent trawling through the BeagleBone Google Groups threads I came across this gem to update to the latest kernel.

cd /opt/scripts/tools
git pull
sudo ./update_kernel.sh
sudo reboot

The BBB is now running Linux 3.8.13-bone59 which works much better with the RTL8188CUS wireless adapter.

Wireless USB adapters

After some trial and error it seems that the cheap eBay RTL8188CUS wireless adapter is complete crap, either that or the kernel drivers aren't the best. I'll go with the adapter being crap. I had similar problems with my RaspberryPi using this adapter.

One visit to local computer store later and an Edimax EW-7811Un is now happily connecting to the wireless network with nothing more than the SSID and WPA2-PSK being added to /etc/network/interfaces:


Ethernet

Unfortunately there is a problem with the ethernet interface on the board (see http://bugs.elinux.org/issues/67) that so far hasn't been resolved. Hopefully it is fixed soon.

GPIO Pins

To see an interactive map of the BeagleBone Black board showing the various modes of all the pins and what they are used for vist the Interactive GPIO Map.

Converting a PWM signal into an +5V analog output

To drive a motor controller I needed to supply a 0V - 5V signal to the input of the controller in order to set the motor speed. A PWM signal was working, but the control wasn't precise enough. In the end I put together a quick level converter that took the 3.3V PWM output from the BeagleBone Black and converted it into a voltage from 0V to 5V depending on the duty cycle. Circuit and other details are available at PWM to Analog