Hardware

I²C Interface

The Trainer provides an interface to the BeagleBoard's I²C port. The I²C signals are level translated to either +3.3V or +5V (user selectable with a jumper). The I²C signals are located next the the prototyping area.

GPIO Interface

The Trainer provides an interface to several of the BeagleBoard's GPIO signals. The GPIO signals are level translated to +3.3V and are located next to the prototyping area.

Serial EEPROM

The Trainer board provides an AT24C01 serial EEPROM that contains a Vendor ID and a Device ID that the BeagleBoard uses to identify the type of board connected to the expansion header. This information enables the BeagleBoard to auto-configure the pin mux for signals needed by the Trainer. More information can be found on the Beagle Board Pin Mux Page.

ATmega328 (Arduino Hardware Compatible)

An ATmega328 embedded processor is located on the Trainer board that is user programmable. The ATmega328 is hardware compatible with the Arduino and it's I/O signals are available next to the prototyping area. The ATmega328 can be user jumpered to run at either +3.3V or +5V. One of the BeagleBoard's GPIO signals (GPIO 162) controls the ATmega328's power supply and can turn on or off the power to the ATmega328. The ATmega328 can run off it's internal RC oscillator or it also has an external 8.0 Mhz ceramic resonator.

Prototyping / Breakout Area

PC Board Test Point Locations

PC Board Silkscreen Errata

There are errors on four silkscreen labels on the Trainer Rev-A board. The silkscreen for the signals: GP135, GP134, GP133, and GP132 are mislabeled. The correct labels are indicated on the following image:

Soldering BeagleBoard's Expansion Header

This is a quick guide showing you how to solder the 2x14 Header into the BeagleBoard’s Expansion connector (J3).

Insert the 2x14 Header’s SHORT PINS from the back side of the BeagleBoard into the BeagleBoard’s
expansion connector (J3).

Position the 2x14 Header so the LONG PINS are on the BACK SIDE of the BeagleBoard.

Solder the SHORT PINS of the 2x14 Header from the TOP SIDE of the BeagleBoard.

Attaching to the BeagleBoard

Attach the four board spacers with the screws provided.

Connect the expansion board onto the BACK SIDE of the BeagleBoard by mating
with the 2x14 Header you just soldered. Make sure all of the pins align correctly.

Continue pushing the two boards together until the connectors mate together.

Attach the male standoffs as shown.

Creating a bootable SD card in Ubuntu

This guide will demonstate how to create a dual-partition SD card for the BeagleBoard/Trainer board combination to boot Linux from the first partition and have the root file system located on the second partition.

Command (m for help): w
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: If you have created or modified any DOS 6.x
partitions, please see the fdisk manual page for additional
information.
Syncing disks.

And now copy the first three files onto the boot partition (IMPORTANT: Copy MLO FIRST! because of a bug in the X-loader which causes problems if MLO is not the first file written onto the boot partition).

Where to purchase the Trainer board

RevB Changes

Fix the silkscreen errors on the signals: GP135, GP134, GP133, and GP132. They are currently mislabeled.

Change the pushbutton switch (S1 - ATMEL reset switch) to a different part. The current switch has a high failure rate after being washed in the assembly process. (i.e. it does not tolerate the washing process to remove the flux.)

Move TP58 (+5V) away from the mounting hole about 0.050 inches. It can sometimes short when the mounting screw touches it.

Add a 2x2 header break-out for the TXD and RXD signals going to the ATMEGA328.

Some people want to be able to use the level translated serial signals to communicate with the Beagle/Beagle-xM instead of using it for the ATMEGA328.

Add two traces on the back of the board connecting the two header holes so that jumper are not required.

Fix the footprint on the ceramic resonator.

Change the I2C level translator to a PCA9306. This will allow smaller pull-ups for the I2C signals going to the AT24C01 EEPROM.