ESC Beagle Board Class Wrapup

This week I attended the Build Your Own Embedded System (BYOES) classes at ESC 2009.

The BYOES classes were primarily focused on the Beagle Board, an ARM Cortex-A8 based single board computer developed by engineers at Texas Instruments.

When I picked up my conference registration on-site, I also received a Beagle Board dev kit which included a 2GB SD card, a Class 1 Bluetooth USB adapter, and a tiny box containing a brand new Rev C2 Beagle Board.  This was pretty exciting, given that the C2 boards haven’t even hit Digikey yet, making me one of a select group to have a C2 board!

Here’s a photo of the kit as provided by ESC.

Rev C2 Beagle Board

The classroom was full of LCD monitors, keyboards, mice, and USB hubs – but no computers.  This is where the Beagle Board comes in.

ESC Beagle Board Class

The first step was to plug the peripherals into the board, as shown below.  The HDMI interface for the LCD is at the upper right of the board, while the SD card and USB host port is on the left.  The bottom of the board has a DC power jack and the USB OTG port which we used later.  The whole board is actually powered via USB – the other end of the cable with the DC plug goes into the USB hub, and the hub powers everything.  Pretty cool.

Rev C2 Beagle Board running Android

The classes were fantastic.  I saw lots of really impressive demos, including some really neat 3D graphics using the onboard OMAP35x SGX 2D/3D graphics accelerator.

I particularly enjoyed the Monday morning class, led by Beagle Board designers Jason Kridner and Gerald Coley.  Jason gave an overview of both the impressive feature list of the board and the large development community behind beagleboard.org.  Gerald talked about the hardware development process, including some of the difficulties with the OMAP3 processor, which uses PoP technology.  The system memory chip is soldered to pads on top of the CPU, which is then soldered to the PCB.  Not surprisingly, this process took some optimization to get right.

Some observations:

  • While the Beagle Board was developed by engineers at Texas Instruments, TI does not officially support the board, which is more of a technology demonstration.  Instead, people using the board can go to the beagleboard.org community for support, where there is a vibrant community of volunteer developers.
  • The philosophy behind the hardware is “Bring your own”.  The board contains a minimum set of peripherals and you attach what you want.  Apparently most eval boards contain a lot of features people never use (cameras, wireless interfaces, etc.) and tend to force desigers into using only the “supported devices”.
  • The hardware is open source.  You can download gerbers, Allegro files, schematics, etc from their site.  (Sadly, no Eagle files, although the 6 layer PCB wouldn’t be supported by the cheap/free versions of the Eagle anyway.)    You can develop products based on the Eagle board and just stick copies of the design into your own PCB, or develop your own design.
  • The Beagle Board is not recommended/supported for use in production hardware.  It’s for evaluation only.  If you develop a product, you’re supposed to handle your own PCB builds, etc.  The good news is, you can call up their contract manufacturer (CircuitCo) directly and get a batch of Beagle Boards made if you want to use the hardware as-is.
  • The communiy is very good about having mutliple avenues for discussion and collaboration.  They are leveraging lots of old and new technologies: IRC, a wiki, a mailing list, delicio.us social bookmarking, RSS, etc etc etc.  All of these are accessible from beagleboard.org.

You can download the class slides and an SD card image at http://beagleboard.org/esc

Lastly, the Beagle Board runs Android.  It also runs Linux distros like Angstrom and MontaVista, among others!

Rev C2 Beagle Board running Android

4 thoughts on “ESC Beagle Board Class Wrapup”

  1. Daniel – I just popped in the SD card and the board boots from it automatically. I don’t know if the SD cards in the class were set up in a special way or if the bootloader is different on the C2 boards vs. B7. It’s possible the boot order is different, or you need to hold down the USER button or change somethng in the internal NAND flash bootloader on the board. I would ask on the Beagle Board mailing list or IRC channel and see if anyone ovet there can help!

    Jan – Good question! I’m not sure what the video playback capabilities are, but I’m pretty sure I saw some video playing on a board before the class. I’m not sure that any existing media center packages support the Beagle board, but it might be worth looking into…

  2. would it be technically possible to run something like boxee on the beagleboard? just in theory. or some similar media center solution.
    right now i can’t really imagine what to do with such a board other than plug it in my tv.

    i know boxee is looking for some sort of hardware in the sub 200 dollar range. would still be 50 dollar left to give it a nice custom case 🙂

    http://blog.boxee.tv/2009/01/16/a-boxee-box/

    this is interesting as well:

    http://blog.boxee.tv/2009/01/27/boxee-in-a-box-survery-results/

  3. Thanks for sharing!

    I tried to boot my B7 board using the image you guys played around with at ESC. I can’t seem to get it to boot though. How did you configure your BeagleBoard and what other preparations did you do to the image to get it to boot?

    Excellent article!

  4. Excellent writeup! Sorry I missed it—I have been doing this stuff on my own and with the help of the growing beagleboard community.

    Please stop by the demo table on Tuesday if you make it to the Embedded Linux Conference next week. I’ll have a beagle board (B7) running MontaVista’s yet-to-be-released MID stack. I also encourage you to join the TI Platforms embedded Linux discussion group on Meld at http://meld.mvista.com (full disclosure: I’m an admin on Meld).

    Keep up the excellent work, your blog looks great. I’m a new subscriber.

Leave a Reply

Your email address will not be published. Required fields are marked *