Review of Beaglebone

Table of contents

RoadTest: Beaglebone

Author: migration.user

Creation date:

Evaluation Type: Evaluation Boards

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?: Arduino boards, Raspberry Pi, Cyber Cortex AV

What were the biggest problems encountered?: - The device was shipped with old system images. - There was a lack of documentation for Windows developers

Detailed Review:

Introduction


As a hobbyist and someone who likes developing proof of concept systems for commercial products, I like the BeagleBone.  With its numerous accessible I/O ports and it's snappy AM3359v processor, it is a great board for prototyping new devices.  Good stuff...


That said, my road was a bit rocky with respect to installing, upgrading and developing with the BeagleBoard.  My comments are meant to be helpful for folks taking the same path and possibly helpful to the BeagleBoard folks in order to improve their .  All of my issues are easy to resolve and are related to software and documentation.  In my limited evaluation, I encountered no problems with the physical hardware.


The system I was evaluating the BeagleBone on was an ASUS G74S  with an i7-2670QM, 16GB RAM and a 250GB SSD running Windows 7 64-bit.  This might be the source of many of the problems I encountered since many of the instructions seemed to be geared toward Linux users.  I could have evaluated the device using an Ubuntu virtual machine however I wanted to test development support under Windows.


My original intent was to test/evaluate the board by porting a simple application to monitor & control a multi-zone home heating system remotely to the BeagleBone.  I thought that this was an application it was well suited for.  Problems encountered in getting traction with the development environment and time constraints prevent me from conducting this test.


Packaging


 

The BeagleBone was delivered with:


·         the  BeagleBone

·         a USB cable

·         a micro SD card already inserted in the BeagleBone (the label has worn off)

·         a micro SD labeled 'Linux SDK'

·         a micro SD to SD adapter


The board that I received was revision A3, which is a year & a half old.  The current revision of the board is A5.


The only physical documentation  that came with the board was the following small slip of paper.  (Unfortunately, I was trying to perform the a evaluation under Windows.)



Installation


Since there were no instruction for Windows, I decided to "go for it" and connect the BeagleBone to my computer using the supplied USB cable.  After doing so, the BeagleBone  came to life with numerous blinking LEDs.  Shortly after a new drive appeared on my computer and a README file was displayed in my web browser.  The README stated "Before you begin, update to the newest demo image".  This proved to be more difficult than expected...:


·         On the download sites, there are no instructions for the Windows user.  The README suggests you consult the BeagleBoard101 presentation, which tells you to use the Ubuntu Win32DiskImager and 7-zip.

·         The primary site for the demo images is Angstrom Distribution BeagleBone demo page.   Downloading from this site was extremely slow on my 35Mbps connection.  The download speed was 4.0kB/s or lower, for a reported download time of 14 hours for a 160MB file.  Yikes!  I tried this from several different geographical locations with the same results.  Ping times to the Angstrom Distribution server seemed fine.  I suspect the problem might be that the distributions are being downloaded from the same system that is used to dynamically build Angstrom releases.

·         I tried the BeagleBoard hosted mirror however the mirrored images were several months old.  The download speed was OK.

·         I tried the Amazon S3 mirrors that are listed on the BeagleBoard site however all the links were broken.


While waiting for the image to download, I decide to play with the release that came with board.  Since the device did not come with a 5v power supply, and because I saw TI's Jason Kridners' BeagleBoard video (http://www.youtube.com/watch?v=EEnOWR-GXjk#!), I wanted to give the give the single cable USB approach a try.  One of the important steps is to install the USB drivers.   This is a place I encountered some lengthy frustration.  It turns out that the supplied driver was not compatible with my version of Windows, Windows 7 64-bit, which I believe has the greatest number installations of any of the Windows flavors.  The driver didn't work at all. This was a surprising problem.  The solution was to download updated drivers from http://beagleboard.org/static/beaglebone/a3/Drivers/Windows/BONE_D64.exe.


In the end, I downloaded and tested using these 3 Angstrom images:


·         BeagleBone_Rev_A3_Production_11_26_2011.img
This was the stock image and permitted me to test GateOne

·         Angstrom-Cloud9-IDE-eglibc-ipk-v2012.04-core-beaglebone-2012.04.09.img
This was the latest equivalent of the stock image.  I primarily tested with this image.

·         Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.04-core-beaglebone-2012.04.09.img
I used this image to test running the BeagleBone with a X server running on my computer. 


These Linux distributions use opkg for installing & upgrading software.  You should perform an "opkg update" prior to changing any packages.   I found that performing a "opkg upgrade" to update all installed packages typically lead to the system no longer functioning. I found preferable to selectively upgrade packages as necessary.


Using the single cable USB development approach


I found when using the single cable USB approach, the startup is not reliable / consistent.  There were many times that the SD was not mounted on the host system.  This is a problem since un-mounting the SD card is what enables the USB-to-Ethernet functionality.


Trying to use the network from the BeagleBone while connected via the USB didn't work and I could not locate instructions for getting this working.


Using the RJ45 Ethernet connection permits outbound connections. This requires a 5v transformer that is not supplied with the device.   It should be noted that under Windows you want to hook the BeagleBone through a router/appliance that is servicing DHCP requests.  Unlike the instructions for Linux, you do not want to cable your directly to your computer.


                The README file has the following important note regarding using the USB connection for power:


"The clock speed of the BeagleBone is determined by if the power source is USB or the 5V adapter at initial boot. It will be 500MHz if the power source is USB and 720MHz if the power source is an adapter."


Cloud 9 IDE


 

The idea behind the Cloud 9 IDE (and its implementation on the standard BeagleBone boot SD) is a good one.  Power up the device, a web browser and start coding.  This goal has been achieve however numerous problems I encountered left me feeling that this facility would not be appropriate for any significant development effort. Some of the issues that I encountered were:


·         Because Cloud 9 IDE targets HTML5, it behavior is different between browsers.  In some browser the behavior and display can be/become erratic.

·         I couldn't figure out how to create new projects.  The Cloud 9 IDE help was of no help here.

·         I found the File->Open... dialog confusing.  The Cloud 9 IDE help was of no help here.  The net result was that all the files had to reside in /var/lib/cloud9. This is the Open File dialog looked like:

·         I had problems in both the old & new images invoking the debugger and setting breakpoints.  The newer version is much better however it didn't seem ready for 'prime-time'.


Gate One


 

I could only get Gate One working if I upgraded it on the stock image.  The stock image prior to upgraded had Gate One v0.9-r15 installed which generated the following error in the browser when you navigated to it:


Error 310 (net::ERR_TOO_MANY_REDIRECTS): There were too many redirects.


The solution is to upgrade to Gate One v1.0 by issuing the following commands:


opkg update

opkg upgrade gateone


In the newer Angstrom images Gate One v1.0 was installed however it didn't work because of some missing/incorrect python dependency.  I never found a fix.


In the end, Gate One turned out to be too slow to be usable.  I tested under both Firefox & Chrome.


GNOME


This was purely for fun.  I had read and watched videos of folks running application on their BeagleBone, so I want to give it a try.  I download and install the Angstrom-Cloud9-IDE-GNOME-eglibc-ipk-v2012.04-core-beaglebone-2012.04.09.img.  My intention was to using Xming with XDMCP on my computer to login into the BeagleBoard and run application from within the GNOME desktop.  The out of the box configuration required me to make the following changes to make this happen:


·         Disable PAM

In the file /etc/pam.d/gdm, I commented out the following lines:

auth     optional       pam_gnome_keyring.so

session  optional       pam_gnome_keyring.so  auto_start

 

·         I found I had to clear out old GDM files by executing this on my system:

rm -rf /var/lib/gdm/.*


·         Enable XD

In both the files /etc/gdm/custom.conf and /etc/gdm/gdm.conf, the following must appear:

[xdmcp]

Enable=true


After these changes are made, you will need to reboot your system.


TI's Code Composer Studio x5.1


 

Following the instructions at http://beagleboard.org/static/beaglebone/latest/Docs/ccs-jtag-simple.htm I ran into one issue. 


It was pretty straight forward downloading CCS 5.1 as long as you don't mind filling out the numerous TI forms.  Installation one a bit of a guess on which options to select.  It would be great if TI or the BeagleBoard folks would state somewhere which options to select. 


I ran into a problem when I attempted to find the location to place the file bbone-target-config.ccxml on my system.  There was no directory named CCSTargetConfigurations or similarly named directory on my system.  The solution was to (from within CCS) select View->Target Configurations, right click on 'User Defined', selected the menu item 'Import Target Configuration' and select the file downloaded from the BeagleBoard site.  You then can continue with the instructions at the "Launch Selected Configuration" step.


Because I didn't find any readily accessible examples of using CCS with the BeagleBone, I had to be satisfied with being able to successfully connect to the device.

 


Documentation


 

There is a fair amount of electronic documentation that comes with the device and available online.  I found that I needed to often look to sites besides BeagleBoard.org in order to work through problems.  BeagleBoard.org doesn't run a forum and relies on Goggle groups (which I am not a fan of) for discussions.  I wish that BeagleBoard had a forum of their own.


A page that would have been indispensable f I had it sooner is: http://circuitco.com/support/index.php?title=BeagleBone


Summary


 

Pros:


·         Very versatile and well-designed board

·         Low cost, high functionality

·         Convenient development from a number of host operating systems

·         Variety of operating systems available to run on the device


Cons:


·         Documentation for a Windows user was not clear or straight forward.

·         The newly received device came with an old image that didn't have drivers compatible with Windows 7 64-bit (a fairly common OS)

·         Requires an external power supply (not supplied) when using the RJ45/Ethernet port



Steven Morlock

168 Middlesex Turnpike, Burlington, MA 01803

p:  781 993-5500

w: http://www.foliage.com

e: smorloc at gmail dot com


Anonymous
  • Hi

     

    i work actually on beaglebone board with the last available image.

    It's completly buggy.

    opkg dont work correctly and some python package are missing.

    It's impossible to load py-serial without load python-distutils , py_compile .

    the cloud9 has no examples!!!!

    in comparaison Raspberry is paradise.

    i dont understand why it's so difficult to work with a commercial product with so bad support.

    I am looking for an older image and I can not find it.

    can someone help me.

    Image with good distribution for python!!!

    JC

  • Hi Steve,

     

    Very good review to date.

    It is very important to provide your honest experiences so that those who might purchase the device later can be forwarned.

    I appreciated your breakdown of your issues while trying to make the board work.  Its the best way for the rest of use to judge the quality of the documentation and the level at which the device is supported.

     

    I look forward to your updates as you test out the full capabilities of the device.

     

    Thanks

    DAB