Chapter 4: BeagleBone Black Hardware - tshakthipradeep/BBB GitHub Wiki

I am using BBB Rev C for this tutorial. Image below is of Rev A5A. I will try to find a pic of Rev C or take a pic and upload it here. In fact there is no visual difference between these revisions.

BeagleBone Black Rev A5A

BeagleBone Black Key Component Locations

BeagleBone Black Key Component Locations

BeagleBone Black Connector and Switch Locations

BeagleBone Black Connector and Switch Locations

The expansion headers provide extensive I/O capabitilities.

BeagleBone Black Expansion Headers

Each digital I/O pin has 8 different modes that can be selected, including GPIO.

BeagleBone Black Expansion Headers Digital

In GPIO mode, each digital I/O can produce interrupts.

BeagleBone Black Expansion Headers PWM

Up to 8 digital I/O pins can be configured with pulse-width modulators (PWM) to produce signals to control motors or create analog voltage levels, without taking up any extra CPU cycles.

BeagleBone Black Expansion Headers Analog

Make sure you don't input more than 1.8V to the analog input pins.

This is a single 12-bit analog-to-digital converter with 8 channels, 7 of which are made available on the headers.

BeagleBone Black Expansion Headers Analog

There is a dedicated header for getting to the UART0 pins and connecting a debug cable. Five additional serial ports are brought to the expansion headers, but one of them only has a single direction brought to the headers.

BeagleBone Black Expansion Headers I2C

The first I2C bus is utilized for reading EEPROMS on cape add-on boards and can't be used for other digital I/O operations without interfering with that function, but you can still use it to add other I2C devices at available addresses.

The second I2C bus is available for you to configure and use.

BeagleBone Black Expansion Headers SPI

For shifting out data fast, you might consider using one of the SPI ports.

BeagleBone Black Expansion Headers eMMC & HDMI

BeagleBone Black ships with two virtual capes already on it, one for the on-board eMMC storage and one for the HDMI output. When configured for use these virtual capes consume actual resources.

If the eMMC is not placed in reset, the MMC1* signals may not be used without potentially corrupting the contents of your on-board eMMC---and possibly damaging the physical circuit as well.

The HDMI signals are all inputs to the HDMI device, so there is no need to put the HDMI device into reset, but using those pins for other operations will cause the HDMI output to be disrupted. However, note that the Linux software typically allocates these for use by the HDMI driver, so your software might not be able to get access to them without unloading that driver.