Home
Services
Projects
Documents
About

Back to Documents

Getting Started with the BeagleBoard

Contents

Introduction

BeagleBoard in plastic case.

The BeagleBoard is a small (3 inch × 3 inch) computing platform designed by Texas Instruments, with:

Peripheral connectors included on the board:

Buying the Hardware

Recommended Supplier

We recommend that you buy the BeagleBoard from Special Computing, together with the plastic case and all necessary cables listed on that page. Special Computing offer bootable SDHC cards, making the initial validation and testing of the BeagleBoard much easier. Special Computing are in the US, but they ship internationally and are very helpful via email.

However, you'll still need to get an external 5V 500 mA power supply elsewhere - we bought ours from Reichelt in Germany.

Other Suppliers

Texas Instruments produce the BeagleBoard in cooperation with Digi-Key, so Digi-Key is the most obvious place to buy the BeagleBoard, but they don't sell the case, or make it quite so easy to choose the extra hardware. Before we knew about Special Computing (where we bought the case), we bought the board from Digi-Key and the extras from Reichelt.

In Germany, you might want to buy the BeagleBoard from Embedded Projects instead, though we have not tried that.

Additional Hardware

Necessary Hardware

BeagleBoard with HDMI, stereo audio, 5 V power, serial and USB cables connected. The SD card is in the slot under the serial cable.

Testing a BeagleBoard running Ångström with a touchscreen and USB input devices.

As mentioned above, you need several cables and accessories to use the BeagleBoard. We bought our accessories from Reichelt Electronics, though we would in future buy the set from Special Computing. We mention the Reichelt product links below for people in Germany and to document what we really used. The accessories that you need are:

Note: The BeagleBoard has a USB OTG socket as well as a regular USB socket. You don't need to use the USB OTG socket, but if you ever want to, you'll need a A USB 2.0 (USB A plug to Mini-USB 5-pin) Cable. (Reichelt)

Note: The BeagleBoard USB EHCI is unreliable, see a Google Groups discussion for more details.

Touchscreen

Most BeagleBoard software is designed for a touchscreen, though you can use a normal monitor, keyboard, and mouse. We bought a Xenarc 706TSA – 7" TFT LCD touchscreen that worked perfectly. You will need a power supply (Reichelt) for the touchscreen.

Powering via USB

You should directly power the board from a 5 V power connector instead of the USB OTG port. Power via the USB OTG port might work sometimes (via a USB A to mini B cable), but the BeagleBoard attempts to draw more than 100 mA of current without negotiating any additional current, which violates the USB specification. Therefore, most host software will prevent this to comply with the USB specification.

Incorrectly-wired serial cable

An incorrectly-wired serial cable, such as one that does not have a one-to-one pin mapping can be adapted by carefully removing the IDC end and checking the wiring configuration with a multimeter, before making adjustments and reassembling the connector. This is not recommended as an IDC is not designed to be dismantled and reassembled.

Testing the Board

Further information can be found at the BeagleBoard wiki's validation page

You may access any Linux PC with a serial port via a serial console, as described in the Linux Serial Console HOWTO.

Once you have a BeagleBoard, you should test it before proceeding. First, gain access to the serial console. Minicom or GtkTerm (or some other terminal program) can be used to access the serial console if an RS-232 cable is connected between the 10-pin connector on the board and another PC.

An example minicom configuration file is shown below:

pu port             /dev/ttyS0
pu rtscts           No

Place the above lines in ~/.minirc.dfl and start minicom at a terminal to connect to the BeagleBoard serial console, using the first serial port on the host PC. Alternatively, the settings required for the serial connection are a baud rate of 115200, no parity, one stop bit (also known as 115200 8N1). Be sure to disable hardware and software-based flow control.

Once the serial console is connected and a terminal program is running, connect a power supply to the BeagleBoard. This should output diagnostic information from the bootloader to the serial console. If a video display is connected to the DVI output, you should see a BeagleBoard splash screen. However, with recent versions of the bootloader software, the BeagleBoard splash screen is not displayed, so a serial console is very essential to ensure that your BeagleBoard is working correctly.

Running Linux on the Board

Several different distributions can be used with the BeagleBoard. You may buy SD cards with a working Linux distribution pre-installed, but it is relatively easy to partition and format a blank SD card. Graham Gregory has written a handy script which can easily set up an SD card for booting on the BeagleBoard. This script should be run like so:

mkcard.sh /dev/sdc

where /dev/sdc is the device node for the SD card. This can be determined by examining dmesg output (once the SD card has been inserted into a card reader) for the name of the device. The script needs dosfstools to format the FAT32 boot partition, and e2fsprogs for the second ext3 partition.

A more labour-intensive and error-prone procedure is outlined in the BeagleBoard wiki.

With the card prepared you may then choose a distribution to try:

  • Ångström is a distribution made specially for embedded applications, and is easy to setup and configure, with a large variety of packages and development tools.
  • Ubuntu is the familiar and popular desktop Linux distribution, which is harder to setup but has more up-to-date packages available.
  • Android is Google's software stack based on the Linux kernel. The BeagleBoard port is not developed by Google.
  • Mer/Maemo are ports of Nokia's Maemo software to run on the Beagleboard.

Running Ångström

Screenshot of BeagleBoard running Ångström.

Each distribution is installed in a similar manner, For Ångström you can follow these steps:

Download the following files to your home directory (~/):

Mount the FAT32 boot partition of the SD card:

sudo mount /dev/sdc1 /mnt/bootbeagle

where /dev/sdc1 is the device node of the FAT32 boot partition. If /mnt/bootbeagle does not exist, create it with:

sudo mkdir /mnt/bootbeagle

Your distribution might mount the FAT32 partition automatically, in which case you could copy the files with a graphical file browser instead. Copy MLO to the FAT32 boot partition of the SD card:

sudo cp MLO /mnt/bootbeagle/

You must copy MLO before copying any other file. Then copy u-boot.bin and x-load.bin.ift to the same partition:

sudo cp u-boot.bin x-load.bin.ift /mnt/bootbeagle

Copy the file that starts uImage… to uImage.bin on the FAT32 boot partition. Recent versions of u-boot.bin expect the kernel binary to be called uImage, not uImage.bin, so check the output from the bootloader on the serial console if the BeagleBoard does not boot.

sudo cp uImage.bin /mnt/bootbeagle/uImage.bin

Mount the ext3 Linux partition on the SD card:

sudo mount /dev/sdc2 /mnt/beagle

where /dev/sdc2 is the device node of the ext3 Linux partition. If /mnt/beagle does not exist, create it with:

sudo mkdir /mnt/beagle

If your distribution automatically mounted the ext3 partition, be sure to unmount it and remount the device manually, as otherwise the extraction step below will fail. In a terminal, extract Angstrom-Beagleboard-demo-image-glibc-ipk-2009.X-stable-20090612--beagleboard.rootfs.tar.bz2 as root:

sudo tar -xjvf ~/Angstrom-Beagleboard-demo-image-glibc-ipk-2009.X\
-stable-20090612--beagleboard.rootfs.tar.bz2 -C /mnt/beagle

While still in the ext3 partition, extract modules-2.6.29-r37-beagleboard.tgz as root:

sudo tar -xzvf ~/modules-2.6.29-r37-beagleboard.tgz

Unmount the boot and root partitions of the SD card, insert it into the BeagleBoard and power on the board:

sudo umount /mnt/bootbeagle
sudo umount /mnt/beagle

Ångström should now boot.

Note that connman, the software for configuring networking, does not seem to work in the 20090903 unstable rootfs image, so networking is not possible.

Some extra setup may be required depending on the input and display devices attached to the BeagleBoard, so having a working serial console is useful in case of problems. Alternatively, copying any extra files (such as wireless driver firmware or packages necessary to bring up a network connection) to the root Linux filesystem on the SD card can be helpful.

Other Resources

The main Beagleboard site has links to the reference manual, as well as many other BeagleBoard-related links. There is an IRC channel, #beagle on the freenode network, with helpful discussion of problems and solutions. There is also a BeagleBoard group on Google Groups.

Copyright © Murray Cumming, Openismus GmbH.

Creative Commons License
This work is licensed under a Creative Commons License.