Skip to main content

BeagleBone Black

Beaglebone Black is no less than a computer. Yes, you read it right. It is packed with everything you find on a desktop or a laptop. A powerful processor, memory, and graphic acceleration, all shrunken down as chips and soldered into a single circuit board. Therefore, it is fair enough to call it a single-board computer.

This powerful microcontroller board can be hooked up with a display, speakers, Ethernet network, keyboard, and mouse. Moreover, it can be used to boot up a LINUX operating system.

It is a powerful tool for hobbyists and researchers to build sophisticated projects and a good approach to learning more about LINUX-based operating systems.


Similar Development Boards

Raspberry Pi, Arduino Yun, ARM LPC2129, Intel Edison, Beagle Bone Green.


Beaglebone Black Pin Configuration

Each digital I/O pin has 8 different modes to choose from, including GPIO. Below are the BeagleBone Black Pinout tables for the P8 and P9 expansion headers of the Beaglebone black.

The PROC column is the pin number on the processor.

The MODE columns are the different mode settings available for each pin.

Please note that the MODE5  is missing because it really just doesn’t do anything. The only pin that works in MODE5 is GPIO0_7 in expansion header P9. It can be set as mmc0_swdp.


Expansion Header P8 Pinout

1,2         GND        
3 R9 GPIO1_6 gpmc_ad6 mmc1_dat6         GPIO1[6]
4 T9 GPIO1_7 gpmc_ad7 mmc1_dat7         GPIO1[7]
5 R8 GPIO1_2 gpmc_ad2 mmc1_dat2         GPIO1[2]
6 T8 GPIO1_3 gpmc_ad3 mmc1_dat3         GPIO1[3]
7 R7 TIMER4 gpmc_advn_ale   timer4       GPIO2[2]
8 T7 TIMER7 gpmc_oen_ren   timer7       GPIO2[3]
9 T6 TIMER5 gpmc_be0n_cle   timer5       GPIO2[5]
10 U6 TIMER6 gpmc_wen   timer6       GPIO2[4]
11* R12 GPIO1_13 gpmc_ad13 lcd_data18 mmc1_dat5* mmc2_dat1 eQEP2B_in   GPIO1[13]
12* T12 GPIO1_12 gpmc_ad12 lcd_data19 mmc1_dat4* mmc2_dat0 eQEP2A_in   GPIO1[12]
13* T10 EHRPWM2B gpmc_ad9 lcd_data22 mmc1_dat1* mmc2_dat5 ehrpwm2B   GPIO0[23]
14* T11 GPIO1_26 gpmc_ad10 lcd_data21 mmc1_dat2* mmc2_dat6 ehrpwm_tripzone   GPIO0[26]
15* U13 GPIO1_15 gpmc_ad15 lcd_data16 mmc1_dat7* mmc2_dat3 eQEP2_strobe   GPIO1[15]
16* V13 GPIO1_14 gpmc_ad14 lcd_data17 mmc1_dat6* mmc2_dat2 eQEP2_index   GPIO1[14]
17* U12 GPIO1_27 gpmc_ad11 lcd_data20 mmc1_dat3* mmc2_dat7 ehrpwm0_synco   GPIO0[27]
18 V12 GPIO2_1 gpmc_clk_mux0 lcd_memory_clk gpmc_wait1 mmc2_clk   mcasp0_fsr GPIO2[1]
19* U10 EHRPWM2A gpmc_ad8 lcd_data23 mmc1_dat0* mmc2_dat4 ehrpwm2A   GPIO0[22]
20* V9 GPIO1_31 gpmc_csn2 gpmc_be1n mmc1_cmd*       GPIO1[31]
21* U9 GPIO1_30 gpmc_csn1 gpmc_clk mmc1_clk*       GPIO1[30]
22 V8 GPIO1_5 gpmc_ad5 mmc1_dat5         GPIO1[5]
23 U8 GPIO1_4 gpmc_ad4 mmc1_dat4         GPIO1[4]
24 V7 GPIO1_1 gpmc_ad1 mmc1_dat1         GPIO1[1]
25 U7 GPIO1_0 gpmc_ad0 mmc1_dat0         GPIO1[0]
26 V6 GPIO1_29 gpmc_csn0           GPIO1[29]
27* U5 GPIO1_22 lcd_vsync* gpmc_a8         GPIO2[22]
28* V5 GPIO1_24 lcd_pcik* gpmc_a10         GPIO2[24]
29* R5 GPIO1_23 lcd_hsync* gpmc_a9         GPIO2[23]
30* R6 GPIO1_25 lcd_ac_bias_en* gpmc_a11         GPIO2[25]
31* V4 UART5_CTSN lcd_data14* gpmc_a18 eQEP1_index mcasp0_axr1 uart5_rxd uart5_ctsn GPIO0[10]
32* T5 UART5_RTSN lcd_data15* gpmc_a19 eQEP1_strobe mcasp0_ahclkx mcasp0_axr3 uart5_rtsn GPIO0[11}
33* V3 UART4_RTSN lcd_data13* gpmc_a17 eQEP1B_in mcasp0_fsr mcasp0_axr3 uart4_rtsn GPIO0[9]
34* U4 UART3_RTSN lcd_data11* gpmc_a15 ehrpwm1A mcasp0_ahclkr mcasp0_axr2 uart3_rtsn GPIO2[17]
35* V2 UART4_CTSN lcd_data12* gpmc_a16 ehrpwm1_tripzone mcasp0_aclkr mcasp0_axr2 uart4_ctsn GPIO0[8]
36* U3 UART3_CTSN lcd_data10* gpmc_a14 ehrpwm0_synco mcasp0_axr0   uart3_ctsn GPIO2[16]
37* U1 UART5_TXD lcd_data8* gpmc_a12   mcasp0_aclkx uart5
uart2_ctsn GPIO2[14]
38* U2 UART5_RXD lcd_data9* gpmc_a13   mcasp0_fsx uart5_rxd uart_rtsn GPIO2[15]
39* T3 GPIO2_12 lcd_data6* gpmc_a6   eQEP2_index     GPIO2[12]
40* T4 GPIO2_13 lcd_data7* gpmc_a7   eQEP2_strobe pr1_edio_data_out7   GPIO2[13]
41* T1 GPIO2_10 lcd_data4* gpmc_a4   eQEP2A_in     GPIO2[10]
42* T2 GPIO2_11 lcd_data5* gpmc_a5   eQEP2B_in     GPIO2[11]
43* R3 GPIO2_8 lcd_data2* gpmc_a2   ehrpwm2_tripzone     GPIO2[8]
44* R4 GPIO2_9 lcd_data3* gpmc_a3   ehrpwm_synco     GPIO2[9]
45* R1 GPIO2_6 lcd_data0* gpmc_a0   ehrpwm2A     GPIO2[6]
46* R2 GPIO2_7 lcd_data1* gpmc_a1   ehrpwm2B     GPIO2[7]


*some pins are used by internal storage eMMC (11-21) and HDMI (27-46)


Expansion Header P9 Pinout

1,2         GND      
3,4         DC_3.3V      
5,6         VDD_5V      
7,8         SYS_5V      
9         PWR_BUT      
10 A10 RESET_OUT            
11 T17 gpmc_wait0 mii2_crs gpmc_csn4 rmii2_crs_dv mmc1_sdcd uart4_rxd_mux2 gpio0[30]
12 U18 gpmc_be1n mii2_col gpmc_csn6 mmc_dat3 gpmc_dir mcasp0_aclkr_mux3 gpio1[28]
13 U17 gpmc_wpn mii2_rxerr gpmc_csn5 rmii2_rxerr mmc2_sdcd uart4_txd_mux2 gpio0[31]
14 U14 gpmc_a2 mii2_txd3 rgmii2_td3 mmc2_dat1 gpmc_a18 ehrpwm1A_mux1 gpio1[18]
15 R13 gpmc_a0 gmii2_txen rmii2_tctl mii2_txen gpmc_a16 ehrpwm1_tripzone gpio1[16]
16 T14 gpmc_a3 mii2_txd2 rgmii2_td2 mmc2_dat2 gpmc_a19 ehrpwm1B_mux1 gpio1[19]
17 A16 spi0_cs0 mmc2_sdwp I2C1_SCL ehrpwm0_synci     gpio0[5]
18 B16 spi0_d1 mmc1_sdwp I2CL_SDA ehrpwm0_tripzone     gpio0[4]
19 D17 uart1_rtsn timer5 dcan0_rx I2C2_SCL spi1_cs1   gpio0[13]
20 D18 uart1_ctsn timer6 dcan0_tx I2C2_SDA spi1_cs0   gpio0[12]
21 B17 spi0_d0 uart2_txd I2C2_SCL ehrpwm0B   EMU3_mux1 gpio0[3]
22 A17 spi0_sclk uart2_rxd I2C2_SDA ehrpwm0A   EMU2_mux1 gpio0[2]
23 V14 gpmc_a1 gmii2_rxdv rgmii2_rxdv mmc2_dat0 gpmc_a17 ehrpwm0_synco gpio1[17]
24 D15 uart1_txd mmc2_swdp dcan1_rx I2C1_SCL     gpio0[15]
25 A14 mcasp0_ahclkx eQEP0_strobe mcasp0_axr3 mcasp1_axr1 EMU4_mux2   gpio3[21]
26 D16 uart1_rxd mmc1_sdwp mcasp0_axr2 I2C1_SDA     gpio0[14]
27 C13 mcasp0_fsr eQEP0B_in   mcasp1_fsx EMU2_mux2   gpio3[19]
28 C12 mcasp0_ahclkr ehrpwm0_synci   spi1_cs0 eCAP2_in_PWM2_out   gpio3[17]
29 B13 mcasp0_fsx ehrpwm0B   spi1_d0 mmc1_sdcd_mux1   gpio3[15]
30 D12 mcasp0_axr0 ehrpwm0_tripzone   spi1_d1 mmc2_sdcd_mux1   gpio3[16]
31 A13 mcasp0_aclkx ehrpwm0A   spi1_sclk mmc0_sdcd_mux1   gpio3[14]
32         VADC      
33 C8       AIN4      
34         AGND      
35 A8       AIN6      
36 B8       AIN5      
37 B7       AIN2      
38 A7       AIN3      
39 B6       AIN0      
40 C7       AIN1      
41 D14 xdma_event_intr1   tclkin clkout2 timer7_mux1 EMU3_mux0 gpio0[20]
D13 mcasp0_axr1 eQEP0_index   mcasp1_axr0 emu3   gpio3[20]
42 C18 eCAPO_in_PWM0_out uart3_txd spi1_cs1 pr1_ecap0_ecap
spi1_sclk xdma_event_intr2 gpio0[7]
B12 mcasp0_aclkr eQEP0A_in mcasp0_axr2 mcasp1_aclkx     gpio3[18]


  • Up to 8, I/O pins can be configured with PWM (pulse width modulator) to generate signals to control motors without taking up any extra CPU cycle
  • Pin number (32-40) in header P9 constitutes a single 12-bit analog-to-digital converter having 8 channels
  • There are two I2C ports. The first I2C bus is utilized to read EEPROMS. It can also be used for other digital I/O operations without interfering with that function. The second I2C is available to configure according to the need of the user
  • There are 2 SPI ports for fast shifting of data
  • For advanced users, the Beaglebone black consists of 25 PRU low latency I/Os. They can make use 2 built-in 32 bit 200 MHz microcontrollers called PRU (Programmable Real-time Unit) in order to perform some real-time task


Beaglebone Black Technical Specifications


Sitara AM3358BZCZ100

1 GHz, 2000 MIPS

Graphics Engine

SGX530 3D, 20M Polygons/S

SDRAM Memory

512MB DDR3L 800 MHz

Onboard Flash

4GB, 8-bit Embedded MMC


TPS65217C PMIC regulator and one additional LDO

Debug Support

Optional Onboard 20-pin CTI JTAG, Serial Header

Power Source

miniUSB, USB or DC jack

5V DC External Via Expansion Header


3.4” x 2.1”

6 layers


1-Power, 2-Ethernet, 4-User Controllable LEDs

HS USB 2.0 Client Port

Access to USB0, client mode via miniUSB

HS USB 2.0 Host Port

Access to USB1, Type A socket, 500 mA LS/FS/HS

Serial Port

UART0 access via 6-pin 3.3V TTL Header. Header is populated


10/100, RJ45

SD/MMC Connector

microSD, 3.3V

User input

Reset button

Boot button

Power button

Video out

16b HDMI, 1280 x 1024 (MAX)

1024 x 768 x 1280 x 720, 1440 x 900, 1920 x 1080@24 Hz w/EDID Support


Via HDMI Interface, Stereo

Expansion Connectors

Power 5V, 3.3V, VDD_ADC(1.8V)

3.3V I/O on all signals

McASP0, SPI1, I2C, GPIO(69 max), LCD, GPMC, MMC1, MMC2, 7 AIN(1.8V Max), 4 timers, 4 Serial Ports, CAN0, EHRPWM(0,2) , XDMA Interrupt, Power button, Expansion board ID (up to 4 can be stacked)


39.68 grams (1.4 oz)


Note: More technical information can be found in the Beaglebone Black Datasheet, linked at the bottom of this page.


Difference between Beaglebone Black and Beaglebone





Beaglebone Black



AM3358BZCZ100, 1GHz

AM3359ZCZ72, 720 MHz

Video Out




512 MB DDR3L, 800MHz

256MB DDR2, 400MHz


4GB eMMC , uSD


Onboard JT


Yes, over USB




PWR Exp Header




210-460 mA@5V

300-500 mA@5V


Where is Beaglebone black used?

The Beaglebone Black is a pocket-friendly, compact development platform with excellent support from its fast-growing community. It is a perfect device for physical computing and smaller embedded applications.

The best feature of Beaglebone black which makes it a complete game changer is the feature to add different capes to it. Capes are plug-in boards that are added to Beaglebone black to enhance its functionality. Capes are available for motor control, VGA, camera, LCD, and other functionalities.

The Beaglebone Black can be used when–

  • When you need to run heavy operating systems with low power

There are many scenarios during a DIY project when Arduino is not enough. For example, during the boot of the operating system and running heavy softwares, Arduino will require extra power. Here, Black comes in handy and does the same operation with low power.

  • When your project needs a lot of hardware to be connected

In terms of GPIO connectivity, the Beaglebone black knocks out Raspberry Pi. In Pi, we have a single 26-pin header to be used as 8 GPIO pins or serial bus. However, in Beaglebone black, we can find two 48-socket headers using which we can connect virtually n number of I/O hardware. It also features a number of analog I/O pins to connect sensors which out-of-the-box Pi lacks.

  • When you want your project to start quickly

Beaglebone black takes very less time to get up and running. It comes with pre-installed LINUX distro which saves a lot of time and prevents fuss.


How to get started with Beaglebone Black?

As mentioned earlier also, that getting started with Beaglebone black is a very quick and easy process.

  • First, plug-in it into your computer using the included mini USB. This will power it up and boot into its LINUX distro, Angstrom
  • Hook it up to a display and USB peripherals
  • You can intall driver to connect Beaglebone black to web browser an dcontrol it with your computer
  • From here, there are no limits. You can get acquainted with the LINUX operating system or write custom softwares for Beaglebone black using Python and libraries to manage all GPIOs



  • Robotics
  • Motor controller
  • Controlling and monitoring using Display cape
  • Automation
  • IOT
  • AWS
  • Bluetooth connectivity projects


2D-Model and Dimensions

BeagleBone Black Dimensions

Component Datasheet

Related Post

Join 20K+subscribers

We will never spam you.

* indicates required

Be a part of our ever growing community.