BeagleBoard Hardware Interfacing

Revision as of 22:14, 28 April 2010 by Batydm (talk | contribs) (I2C Devices)
Jump to: navigation, search

This page is meant to help anyone who wants to create an expansion board to interface with the BeagleBoard. It summarizes some of the commercial options, and includes some recommendations for components for a custom board.

Commercial Options

There are several commercial boards that may work without the need to create a custom board.

A few more options can be found here.

General Notes

1.8V I/O

It is very important to remember that the I/O on the BeagleBoard is 1.8V. Level shifting must occur to interface with 3.3V or 5V devices. This is very important as these voltages will easily break pins on the BeagleBoard.

Powering the Beagle

The BeagleBoard is typically powered through the barrel connector or the MiniUSB connector. When adding an expansion board, the option is available to power the BeagleBoard from a power supply on that expansion board.

Expansion Connectors

There are several expansion connectors available on the BeagleBoard, depending on the revision. All revisions have J3, a 0.1" spaced header. This is not populated by default, it is left up the user to decide which gender header is desired, and where is should be placed. There have been some indications that newer versions of the BeagleBoard will come populated with a female header oriented facing downward. It may be wise to design with this decision in mind to allow for future expandability.

There are two other headers available (J4 and J5). These are 0.05" spaced headers, and are usually used only for interfacing with and external LCD. Headers and connectors are more difficult to find. It is probably best to stick with using the main expansion header unless these signals or the additional I/O is required.

Level Shifting

There are several options for level shifting to use 3.3V or 5V devices.


The MAX3378 is a quad-input 16MBps bidirectioanl level shifter. It works well with I2C or GPIO. Many of the commercial expansion boards use these for level shifting. They are only available in a small TSSOP surface mount package, making it difficult to use on a breadboard or some milled boards.

Single MOSFET Bidirectional Level Shifter

See NXP's Appnote [1] for more information on this method. BSS88 and BSS138 appear to be compatible with the BeagleBoard and this design. This has not been tested with the BeagleBoard, so be sure to research this option fully before implementing it.

I2C Devices

Some general information about I2C and a few compatible devices can be found on Interfacing with I2C Devices. Several devices listed at the bottom of the page are confirmed to work with the BeagleBoard.

PCB Tips


If you are using OrCAD to layout an expansion board, it is extremely useful to use a DXF file to align the mounting holes and the expansion headers. 0.156" holes should be used for the mounting holes. This can be done by exporting the pertinent details from the OrCAD .brd file available in the Design Documents section of the BeagleBoard site. Alternatively, a version that should be compatible with C3 and C4 can be found here: File:BeagleBoard.dxf. Make sure to check that pin 1 is aligned with pin 1 on the BeagleBoard. This will not be the case by default; a new footprint will need to be made or the connector will need to be "placed" on the bottom of the board.


If you make an expansion board using Eagle, please put any hits or information here.