Beaglebone Black Radio Challenge - Review

Table of contents

RoadTest: Beaglebone Black Radio Challenge

Author: onebeartoe

Creation date:

Evaluation Type: Independent Products

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: I originally wrote the code for this project to run on the Raspbery Pi, but it will run on any Linux system with mpd/mpc and Java 6 support.

What were the biggest problems encountered?: The Beaglebone Black came with a built in operating system, Armstrong. I gave a try at using Armstrong’s package manager. It took a while to learn that its named ‘opkg’ from the command line. Usage is similar to Debian’s apt package manager. Beaglebone Black - Build-in Package Manager examples examples: install opkg install mpd search opkg search "*java*" | grep java It seemed liked mpd was supported, but alas I found no stock JRE or mpc support via opkg. I couldn’t get mpc installed on Armstrong so I tried Ubuntu via the SD card slot.

Detailed Review:



Establishing the Project’s System Requirements


The LCD worked like a charm right out of the box.  The Armstrong OS showed the desktop environment on the LCD cape.  It was cool to use the on-board buttons to navigate around the screen.

When I installed Ubuntu on the Beaglebone Black, it also had no problems with the LCD cape.  Although I didn’t install the desktop UI, it did show the Ubuntu login prompt.


Ubuntu Image for BeagleBone Black

The starting point  I used to install Ubuntu was this page:


It led me to this page:

This next page give a link to the place to download Ubuntu images for BeagleBone Black

  This is the version used:

I used a PC running Ubuntu to write the image to a microSD card.  I used ImageWriter from Ubuntu’s Software Center.

When I booted Ubuntu from the SD card, it seemed to have overwritten Armstrong on eMMC. 

The default credentials for  Ubuntu 13.04 (Raring Ringtail) is "ubuntu". The default password is 'temppwd'.


Be sure to expand the SD card’s user partition

    I followed these instructions verbatim


I did not have a mini HDMI cable, so I had to plug in a USB sound card (  Next I verified the USB  sound card works.

To test the sound card, I issued the following:

sudo apt-get update

sudo apt-get install mplayer

mplayer tony_soprano-1.mp3

The file tony_soprano-1.mp3 is one I had in the current directory.


With the sound working, I installed the media player daemon and client

sudo apt-get install mpd mpc


I next installed Java.

sudo apt-get install openjdk-6-jre


At this point I had all the system requirement established, with the exception of ‘Reaction to Screen Cape Button Presses (via Java)’  This requirement may need to be revisited, as so far I haven’t found a way to capture keystrokes from a background running process.



Porting the onebeartoe Internet Radio app to BBB

Early on in my experience with Java, the phrase ‘write once, run anywhere’ was common.  It is now 2014  and Java’s write once, run anywhere feature still works.  That is at least  between a Raspberry Pi running Wheezy and a Beaglebone Black running Raring Ringtail.

So I already had a Internet Radio app distributed as a JAR from my project intended for Raspberry Pi.  Next I copied Internet Radio app to the Beaglebone Black.  The Beaglebone Black successfully ran the app, played streaming Internet radio, and served the Web interface to navigate through the built-in/default radio stations.

The Java source code isn’t quite on Github yet; there is a show stopper bug on some stations that I want to fix before posting.  There is a sneak peak of the app in the video portion of this review.

What’s next? 

I plan to enhance the onebeartoe Internet Radio Application with as many of the following features as I can in the amount of time left in the challenge.

incorporate the LCD cape’s buttons as next/previous station buttons

add support for the FM/AM radio antenna from Adafruit

add a sound reactive visual element

UPDATE: Here are my other posts for the BBB Radio Challenge: