Difference between revisions of "BeagleBone Community"

From eLinux.org
Jump to: navigation, search
(Added an audio section, with a single link currently.)
(Tutorials and Videos)
 
(213 intermediate revisions by 29 users not shown)
Line 14: Line 14:
 
<br>
 
<br>
 
= Events =
 
= Events =
* ongoing 2009: [[BeagleBoard/contest|Beagle Sponsored Project Program]] - add a cool project and get a free BeagleBoard to realize it!
+
 
 +
Sponsered events by Element 14
 +
 
 +
* [https://www.element14.com/community/content?filterID=all~objecttype~objecttype%5Bevent%5D&filterID=all~language~language%5Bcpl%5D&ICID=menubar_content_events&query=beagle View events]
  
 
= Description =
 
= Description =
Line 35: Line 38:
 
On 23rd April 2013, Beagleboard officially announced '''[http://beagleboard.org/Products/BeagleBone%20Black BeagleBone Black]''' at a price approximately half that of the original BeagleBone.
 
On 23rd April 2013, Beagleboard officially announced '''[http://beagleboard.org/Products/BeagleBone%20Black BeagleBone Black]''' at a price approximately half that of the original BeagleBone.
  
The new board's most important new features include a AM3359 SoC upgraded to 1GHz, doubling of memory to 512MB, use of faster DDR3 memory in contrast to the DDR2 of the original BeagleBone, and a new HDMI audio/visual output.  (The original BeagleBone required an additional cape daughterboard for graphic output).
+
The new board's most important new features include a AM3358 SoC upgraded to 1GHz, doubling of memory to 512MB, use of faster DDR3 memory in contrast to the DDR2 of the original BeagleBone, and a new HDMI audio/visual output.  (The original BeagleBone required an additional cape daughterboard for graphic output).
  
 
= Specifications =
 
= Specifications =
The two boards are very similar in those features provided directly by the SoC.  Despite the original BeagleBone being specified as using "AM3358/9", in practice most boards are believed to have shipped with the AM3359 generic part.  BeagleBone Black has therefore upgraded only the specific device selected from the AM3359 range, and hence the differences are few.  In contrast, the boards have significantly different designs but a high degree of compatibility.
+
The two boards are very similar in those features provided directly by the SoC.  Despite the original BeagleBone being specified as using "AM3358/9", in practice most boards are believed to have shipped with the AM3359 generic part.  BeagleBone Black has therefore upgraded only the specific device selected to the AM3358 chip, and hence the differences are few.  In contrast, the boards have significantly different designs but a high degree of compatibility.
== BeagleBone ==
+
== Original BeagleBone ==
 
* Up to 720 MHz superscalar ARM Cortex-A8 AM3358/9
 
* Up to 720 MHz superscalar ARM Cortex-A8 AM3358/9
 
* 256 MB DDR2 RAM
 
* 256 MB DDR2 RAM
Line 56: Line 59:
  
 
== BeagleBone Black (differences) ==
 
== BeagleBone Black (differences) ==
* 1 GHz superscalar ARM Cortex-A8 AM3359
+
Updated 5-2020
* 512 MB DDR3 RAM
+
 
* On-board 2 GB eMMC flash, preloaded with Angstrom ARM Linux Distribution
+
* 1 GHz superscalar ARM Cortex-A8 AM3358
 +
* 512 MB DDR3 RAM 800 MHZ
 +
* On-board 4 GB eMMC flash, preloaded with Debian ARM Linux Distribution
 
* MicroSD slot for additional user data or operating systems (no card supplied)
 
* MicroSD slot for additional user data or operating systems (no card supplied)
 
* USB 2.0 type A host port
 
* USB 2.0 type A host port
* Dedicated single mini-USB 2.0 client port (no additional 2-port hub)
+
* USB 2.0 mini client port
 
* New micro-HDMI audio/visual output
 
* New micro-HDMI audio/visual output
* USB-to-serial and USB-to-JTAG interfaces removed (available on expansion headers)
+
* USB-to-serial and USB-to-JTAG interfaces now on 6 pin header and pads
* Power expansion header for backlight removed, battery charging moved onto pads
+
* Battery charging on pads
 
* Lower power consumption of 210-460 mA at 5V
 
* Lower power consumption of 210-460 mA at 5V
  
Line 77: Line 82:
 
In addition to the two large headers above, a small 10-pin dual-row connector "'''P6'''" provides a "'''PMIC Expansion'''" that brings out some additional signals from the TPS65217B Power Management IC, using the following pinout:
 
In addition to the two large headers above, a small 10-pin dual-row connector "'''P6'''" provides a "'''PMIC Expansion'''" that brings out some additional signals from the TPS65217B Power Management IC, using the following pinout:
  
=== P6 - 2x5 pins''' ===
+
=== P6 - 2x5 pins ===
 
[[File:BeagleBone_P6_464x222.jpg|464px|left|middle|border|P6 MPIC Expansion Header]]
 
[[File:BeagleBone_P6_464x222.jpg|464px|left|middle|border|P6 MPIC Expansion Header]]
  
Line 89: Line 94:
  
 
To obtain the top-side pinout that corresponds to the physical orientation shown in the photograph, swap the two rows of pins so that odd-numbered pins are on the left of even-numbered pins.<br style="clear: both" />
 
To obtain the top-side pinout that corresponds to the physical orientation shown in the photograph, swap the two rows of pins so that odd-numbered pins are on the left of even-numbered pins.<br style="clear: both" />
 +
 +
= USB 2.0 Powered Hubs =
 +
Updated 5-2020
 +
 +
USB 2.0 Powered Hub connects multiple USB devices i.e. Keyboard , Mouse ,etc to the Single USB Host Port on the BBB Device. The Advantage a Powered USB Hub provide VS USB Port is the Power draw available for device connected to the Hub. 
 +
 +
* [https://www.amazon.com/Plugable-Charging-Adapter-Support-Android/dp/B005P2BY5I/ Plugable USB Hub]
 +
:* USB 2.0 Speeds up to 480 Mbps (This is the speed on a Beaglebone USB port)
 +
:* 4 Ports
 +
:* Self powered to off-load drain on Beaglebone
 +
:* Reverse voltage protected
 +
:* Blue LED power bar
 +
:* Includes USB cable
 +
:* This means you could have 2 USB sticks plugged in and a WiFi dongle all at the same time
 +
:* This works on Beaglebone running Debian and can also be used on a Windows machine
 +
:* These people stand behind their product
 +
 +
 +
* [http://www.belkin.com/us/F4U040-Belkin/p/P-F4U040/ Belkin USB 2.0 Powered Hub (Retired)]
 +
:Expanded Hub Features
 +
:* 4 Port Powered USB 2.0 Hub
 +
:* Plug and Play   
 +
:* includes Micro USB Cable
 +
:* Includes Power Adaptor which is Made In China and provides 5V 2.6A Power Supply
 +
:* lsusb Info - ID 05e3:0608 Genesys Logic Inc. USB-2.0 4-Port Hub
 +
:* NO LED Indicator for Activity / Plugged In Display 
 +
:* Packaging indicates Part # - F4U040SA
 +
:* Packaging does not mention Linux Kernel compatibility OR Power in Amps provided by the Hub
 +
:* Packaging indicates compatibility with Windows 7 & Mac OS 9.2 and Above
  
 
= Expansion Boards and Accessories =
 
= Expansion Boards and Accessories =
 +
  
 
== Capes ==
 
== Capes ==
 +
Updated 5-2020
 +
 
A '''BeagleBone Cape''' is an expansion board which can be plugged into the BeagleBone's two 46-pin dual-row '''Expansion Headers''' and which in turns provides similar headers onto which further capes can be stacked.  Up to four capes at a time can be stacked on top of a BeagleBone.  An expansion board which can be fitted only at the top of a stack of capes (usually for physical reasons) is a special case of "cape", but this usage is common for display expansion boards such as LCDs (see next section).
 
A '''BeagleBone Cape''' is an expansion board which can be plugged into the BeagleBone's two 46-pin dual-row '''Expansion Headers''' and which in turns provides similar headers onto which further capes can be stacked.  Up to four capes at a time can be stacked on top of a BeagleBone.  An expansion board which can be fitted only at the top of a stack of capes (usually for physical reasons) is a special case of "cape", but this usage is common for display expansion boards such as LCDs (see next section).
  
Line 99: Line 136:
 
The [https://docs.google.com/spreadsheet/ccc?key=0AtD7XdBlve3HdDZqUk0xQ1dpV2NiNm43d0pNWmVGdmc&hl=en_US#gid=0 Capes Registry] seeks to index all existing capes and cape concepts, including private projects.  A [https://docs.google.com/spreadsheet/viewform?formkey=dDZqUk0xQ1dpV2NiNm43d0pNWmVGdmc6MQ registration page] is available to help add capes to the list.
 
The [https://docs.google.com/spreadsheet/ccc?key=0AtD7XdBlve3HdDZqUk0xQ1dpV2NiNm43d0pNWmVGdmc&hl=en_US#gid=0 Capes Registry] seeks to index all existing capes and cape concepts, including private projects.  A [https://docs.google.com/spreadsheet/viewform?formkey=dDZqUk0xQ1dpV2NiNm43d0pNWmVGdmc6MQ registration page] is available to help add capes to the list.
  
This section lists only those capes which are available commercially or which are close to a production release, as well as open hardware designs.
+
This section lists only those capes which are available commercially or which are close to a production release, as well as open hardware designs as of 4-2020. Support the vendors.
 +
 
 +
* [https://www.arrow.com/en/reference-designs/bb-bone-dvid-01-beaglebone-dvi-d-cape-an-add-on-board-for-the-beaglebone/30c1855cd14e908f967f5d0154683474 Arrow BeagleBone DVI D Cape]
 +
* [https://www.amazon.com/Expansion-Breadboard-prototyping-BeagleBone-interface/dp/B00ZXRAK1O/ XYG Study Beaglebone Breadboard cape]
 +
* [https://www.amazon.com/CZH-LABS-Terminal-Breakout-Module-BeagleBone/dp/B07WW5MH2D/ CZH Labs BeagleBone Breakout cape with screw terminals and headers]
 +
* [https://copperhilltech.com/beaglebone-rs485-can-bus-cape/ Copper Hill Tech BeagleBone RS485 and CAN cape]
 +
* [https://www.coolgear.com/product/beaglebone-black-usb-expansion-rs232-module Coolgear Beaglebone 2xRS232-DB9, 2xUSB 2.0 ,SD-Card Reader/Writer 480MBs cape]
 +
* [https://www.element14.com/community/docs/DOC-67892/l/battery-cape-board-for-beaglebone Element 14 BeagleBone Battery cape uses 4 Lithium AA battery cells]
 +
* [https://www.element14.com/community/docs/DOC-81966/l/43-lcd-display-cape-for-beaglebone-board-white-black-or-wireless Element 14 BeagleBone Black 4.3" LCD Expansion Capacitive with Cape]
 +
* [https://www.element14.com/community/docs/DOC-67863/l/expansion-board-for-beaglebone-family-with-43-inch-lcd Element 14 BeagleBone Black 4.3" LCD Expansion Resistive with Cape]
 +
* [https://www.adafruit.com/products/572 Adafruit Proto Cape kit for BeagleBone]
 +
* [https://www.tindie.com/products/ppolstra/beaglebone-xbee-cape Tindie BeagleBone XBee Proto Cape]
  
* [http://beagleboardtoys.com/wiki/index.php?title=BeagleBone_DVID CircuitCo BeagleBone DVI-D cape]
+
* [https://www.mouser.com/ProductDetail/GHI-Electronics/RLYCPE-BBBCAPE?qs=lYGu3FyN48cRDyGlTDwMMA%3D%3D Mouser 4 relay, relay cape with LED indicators]
* [http://beagleboardtoys.com/wiki/index.php?title=BeagleBone_Breadboard CircuitCo BeagleBone Breadboard cape]
+
* [https://www.seeedstudio.com/Motor-Bridge-Cape.html Seeed Motor Controller Cape 4 motors 2 steppers or 6 servos]
* [http://beagleboardtoys.com/wiki/index.php?title=BeagleBone_Breakout CircuitCo BeagleBone Breakout cape]
+
* [https://wiki.seeedstudio.com/Grove_Base_BoosterPack/ Seeed Studio Grove Base Cape 2xUART, 2xADC, 4xDIO, 4xi2c]
* [http://beagleboardtoys.com/wiki/index.php?title=BeagleBone_CANBus CircuitCo BeagleBone CANBus cape]
+
* [https://www.amazon.com/Venel-Beaglebone-Expansion-Compatible-Configuration/dp/B01I5H541E Venel Arduino Cape]
* [http://beagleboardtoys.com/wiki/index.php?title=BeagleBone_RS232 CircuitCo BeagleBone RS232 cape]
+
* [https://www.newark.com/element14/6100310/beaglebone-ai-fan-cape/dp/50AH3704 Element 14 fan Cape]
* [http://beagleboardtoys.com/wiki/index.php?title=BeagleBone_Battery CircuitCo BeagleBone Battery cape]
+
* [https://www.mouser.com/ProductDetail/GHI-Electronics/LODCPE-BBBCAPE?qs=lYGu3FyN48eMRmnB9tAFwA%3D%3D GHI load Cape]
* [http://www.adafruit.com/products/572 Adafruit Proto Cape kit for BeagleBone]
+
* [https://www.mouser.com/ProductDetail/GHI-Electronics/PWRCPE-BBBCAPE?qs=lYGu3FyN48e1aFODTby9Eg%3D%3D GHI power Cape]
* [http://www.towertech.it/en/products/hardware/tt3201-can-cape/ TowerTech TT3201 Multi-Channel CAN Cape]
+
* [https://www.mikronauts.com/proto/ezasbone Mikronauts - EZasBone BeagleBone Black stacking Prototyping Cape]
* [https://specialcomp.com/beaglebone/BeagleBone_FPGA.html Special Computing Spartan-3A FPGA cape for BeagleBone] -- in development
+
* [https://www.newark.com/element14/bb-cape-robotics/robotics-cape-9-18-vdc/dp/95Y0637 Element 14 robotics Cape]
* [http://syntheticlifeforms.net/?p=43 Thinking Machines LCD-IO Expansion Cape] -- in development
+
* [https://www.tindie.com/products/land_boards/33v5v-beaglebone-sensor-conn-cape-bbb-gvs/ Tinde 3.3V / 5V sensor Cape]
* [https://github.com/piranha32/FlyingBone Open Source BeagleBone Prototyping Board] -- piranha32 GitHub repository
+
* [https://www.mouser.com/ProductDetail/GHI-Electronics/PROCPE-BBBCAPE?qs=lYGu3FyN48eN8vMiQr9gTw%3D%3D GHI Proto Cape w/2 buttons w/RGB LED w/Single color LED]
* [http://www.armkits.com/product/beaglebone-hdmicape.asp Embest BeagleBone HDMI cape]
+
* [https://www.mouser.com/ProductDetail/GHI-Electronics/COMCPE-BBBCAPE?qs=lYGu3FyN48eQlTRiRFk3ug%3D%3D GHI Comms Cape w/RS485 w/CAN w/2 20ma w/2 3Amp 50V sinks]
* [[BeagleBone 6502 RemoteProc cape]] -- in development
+
* [https://www.amazon.com/Stackable-Header-Set-for-BeagleBone/dp/B0752YLFSM/ Creatron stackable headers]
 +
* [https://www.amazon.com/Converter-Terminated-Galileo-BeagleBone-Minnowboard/dp/B06ZYPLFNB/ Moyia 6' USB 2.0 > 3.3v TTL not a Cape but useful]
 +
* [https://www.amazon.com/Anmbest-Converter-Connector-Raspberry-Microcontrollers/dp/B07LBDZ9WG/ Anmbest 3.3v-TTL-RS232-Male-DB9 adapter not a Cape but useful]
 +
* [https://shop.mikroe.com/add-on-boards/click-shields/beaglebone-mikrobus-cape/BeagleBone mikroBUS Cape (Hardware Only)]
 +
 
 +
== Wifi ==
 +
Updated 4-2020
 +
 
 +
These USB Wifi modules have been tested and validated to work with the BeagleBone Black. See comments below.
 +
 
 +
* [https://fis.gatech.edu/how-to-configure-bbw-wifi/ From Georgia Tech, Good General Setup BBB and BBBW]
 +
* If WiFi is needed for the Beaglebone consider Beaglebone WiFi (Wireless)
 +
* [https://www.amazon.com/beagleboard-org-Beaglebone-Black-Wireless-BBONE-Black-Wireless/dp/B0875WYVDS/ Beaglebone Wireless]
 +
 
 +
<br>Dated Information<br>
 +
* See the following for more up to date procedures for the Beaglebone Wireless. They can also be applied to the Beaglebone Black.
 +
* [http://elinux.org/BBBWiFiConfigs Working step-by-step WiFi adapter configurations for many of these devices are available here (Dated)]
 +
* [http://www.logicsupply.com/uwn100/ Logic Supply UWN100 Compact USB Wifi Module. Issues with Beaglebone Black]
 +
* [http://www.logicsupply.com/uwn200/ Logic Supply UWN200 Compact USB Wifi Module with Antenna. Issues with Beaglebone Black]
 +
* D-Link DWA-121 (Version A1) Wireless N 150 Pico [Realtek RTL8188CUS] works out-of-the-box with ==>Arch Linux (3.12.1)
  
 
== Audio ==
 
== Audio ==
See [http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/07/06/bbb--building-a-dac here] for how to use the I2S interface for audio.
+
Updated 5-2020
 +
 
 +
*[https://shop.bela.io/ BELA Audio Products]
 +
 
 +
See [http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/07/06/bbb--building-a-dac here] for how to use the I2S interface for audio. It includes a complete schematic for building a DAC.
 +
 
 +
== Battery Power, Charging and Power Management ==
 +
The BeagleBone Black has a built-in power management IC (PMIC) which generates and controls all of the voltage levels used by the board. The PMIC contains Li-Po / Li-Ion battery charging capability which means that it is extremely simple (and low cost) to enable portable use. There is also a built-in push-button on the BBB which can be used to soft power on/power off the board. See [http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/08/10/bbb--rechargeable-on-board-battery-system ==>this link<==] for information.
 +
 
 +
=== Intelligent Power Switch ===
 +
The [http://www.pi-supply.com/ Pi Supply] [http://www.pi-supply.com/product/pi-supply-raspberry-pi-power-switch/ Switch v1.1] was originally designed for use as an automatic on off power supply switch for the Raspberry Pi which includes on, off and soft shutdown switches. The soft shutdown switch is fully programmable using software on the Pi to control the GPIO.
 +
 
 +
However the [http://www.pi-supply.com/product/pi-supply-raspberry-pi-power-switch/ Pi Supply Switch v1.1] is also compatible with BeagleBone boards (both the classic and black) as well as the OLIMEX A13-OLINUXINO single board computer.
 +
 
 +
A very useful add on to help you manage power on your BeagleBone.
 +
 
 +
=== PowerBar "Micro Cape" ===
 +
Updated 5-2020
 +
 
 +
The AndiceLabs [[AndiceLabs:PowerBar|PowerBar]] is a power supply micro cape for the BeagleBone Black. It sports a buck/boost regulator designed to provide 5V power from almost any battery source (3VDC to 12VDC).  Project files are available to build your own or you can purchase one from [https://andicelabs.com/beaglebone-powerbar/ ==>AndiceLabs<==].
 +
 
 +
=== PowerCape LiPo Supply and Charger ===
 +
The [[AndiceLabs:PowerCape|PowerCape]] uses the same regulator as the [[AndiceLabs:PowerBar|PowerBar]] but adds a LiPo charging circuit and AVR power supervisor in a full cape format.  It can power the BeagleBone from a DC source, a LiPo battery, or a combination of both allowing for use cases such as an integrated UPS, solar-powered node, car computer, etc.  Applications can monitor battery voltage and current via an INA219 on the battery input and can schedule BeagleBone power-up conditions and/or timeout via the AVR.
  
 
== LCD Displays and Other Expansions ==
 
== LCD Displays and Other Expansions ==
 +
 +
Updated 5-2020
 +
 
LCD displays for the BeagleBone are typically implemented as capes which plug in as the ''' ''top board'' ''' in a stack of capes, for reasons of visibility.  Such displays are often larger than the BeagleBone itself, so the normal physical relationship in which a daughterboard is smaller than its host board is inverted.  In this arrangement it is the expansion board that provides the physical support for the BeagleBone.
 
LCD displays for the BeagleBone are typically implemented as capes which plug in as the ''' ''top board'' ''' in a stack of capes, for reasons of visibility.  Such displays are often larger than the BeagleBone itself, so the normal physical relationship in which a daughterboard is smaller than its host board is inverted.  In this arrangement it is the expansion board that provides the physical support for the BeagleBone.
 +
* [[24bit_LCD_for_BBB|Using 24 bits per pixel LCD interface wiki page]]
 +
* [https://www.digikey.com/en/product-highlight/n/newhaven-display/7-beaglebone-capes Digi-Key Northaven Display 7" LCD]
 +
:* 7" 800 x 480 TFT LCD screen
 +
:* PWM backlight control
 +
:* 24-bit true color
 +
:* Secondary BeagleBone Cape slot
 +
:* 5-point, multi-touch capacitive touch panel
 +
:* Beaglebone mounts on the back
  
* [[File:Beaglebone.jpg|320px|thumb|BeadaFrame]][http://www.nxelec.com/products/hmi/beadaframe-beaglebone NAXING Electronics BeadaFrame] with BeagleBone companion board
+
* [https://4dsystems.com.au/4dcape-70t 4D Systems 7.0" LCD CAPE]
 +
:* 7.0" 800 x 480 TFT LCD screen
 +
:* 7 push buttons including LEFT, RIGHT, UP, DOWN, ENTER, RESET and POWER
 +
:* 2 LED Lights for Power and User
 +
:* 2x2 Jumper with shunts for EEPROM CAPE ID selection
 +
:* Beaglebone mounts on the back
 +
 
 +
* [https://www.sparkfun.com/products/12085 Sparkfun 4D Systems 4.3" LCD CAPE]
 +
:* 4.3" TFT LCD screen with seven buttons
 +
:* Resistive Touch Screen
 +
:* 7 push buttons including LEFT, RIGHT, UP, DOWN, ENTER, RESET and POWER
 +
:* 2 LED Lights for Power and User
 +
:* 2x2 Jumper with shunts for EEPROM CAPE ID selection
 +
:* Beaglebone Black mounts on the back
 +
* [[File:Beaglebone.jpg|320px|thumb|BeadaFrame]][[BeadaFrame|NAXING Electronics BeadaFrame]] with BeagleBone companion board
 
:Expanded Hardware Features:
 
:Expanded Hardware Features:
 
:* 7" 800x480 TFT LCD screen
 
:* 7" 800x480 TFT LCD screen
Line 135: Line 249:
 
:* RTC with Battery(DS1302)
 
:* RTC with Battery(DS1302)
  
* [http://beagleboardtoys.info/index.php?title=BeagleBone_LCD3 CircuitCo BeagleBone LCD3 cape and LCD display]
+
* [http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2014/01/04/bbb--small-oled-graphic-display OLED Display for the BBB - simple project]
 +
: A compact color OLED graphic display (source code and schematic) are available here. It includes a simple library for text and some primitives.
 +
 
 +
* A very low cost LCD implementation for the BeagleBone Black using the PRU-ICSS is [http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/05/28/bbb--connecting-up-an-lcd ==here==].
 +
:* It requires a graphics library to be written; currently it just displays a couple of lines on the screen.
 +
 
 +
* [http://beagleboardtoys.info/index.php?title=BeagleBone_LCD3 CircuitCo BeagleBone LCD3 cape and LCD display (Retired)]
 
: 3.5" TFT LCD screen, resolution 320x240, 4-wire resistive touchscreen, seven buttons at finger-friendly positions.  
 
: 3.5" TFT LCD screen, resolution 320x240, 4-wire resistive touchscreen, seven buttons at finger-friendly positions.  
* [http://beagleboardtoys.info/index.php?title=BeagleBone_LCD4 CircuitCo BeagleBone LCD4 cape and LCD display]
+
* [http://beagleboardtoys.info/index.php?title=BeagleBone_LCD4 CircuitCo BeagleBone LCD4 cape and LCD display(Retired)]
 
: 4" TFT LCD screen, resolution 480x272, 4-wire resistive touchscreen, seven buttons at finger-friendly positions.  
 
: 4" TFT LCD screen, resolution 480x272, 4-wire resistive touchscreen, seven buttons at finger-friendly positions.  
* [http://beagleboardtoys.info/index.php?title=BeagleBone_LCD7 CircuitCo BeagleBone LCD7 cape and LCD display]
+
* [http://beagleboardtoys.info/index.php?title=BeagleBone_LCD7 CircuitCo BeagleBone LCD7 cape and LCD display (Retired)]
 
: 7" TFT LCD screen, resolution 800x480, 4-wire resistive touchscreen, rear mount for BeagleBone and capes.
 
: 7" TFT LCD screen, resolution 800x480, 4-wire resistive touchscreen, rear mount for BeagleBone and capes.
* A very low cost LCD implementation for the BeagleBone Black using the PRU-ICSS is [http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/05/28/bbb--connecting-up-an-lcd here]. It requires a graphics library to be written; currently it just displays a couple of lines on the screen.
+
 
 +
* [http://www.chipsee.com/best-product/bbb-exp-c.html ChipSee BBB-EXP-C BeagleBone Black 7 inch LCD cape and expansion I/O (Retired)]
 +
: 7" LCD screen, resolution 1024*600, 5 point Capacitive touchscreen, 5 user keys, audio in/out, RS232/485/CAN, 3 axis accelerometer. Available at [http://www.logicsupply.com/bbb-exp-c Logic Supply US] and [http://www.logicsupply.com/eu-en/bbb-exp-c/?___store=eu_en Logic Supply EU (Retired)].
  
 
== Cases ==
 
== Cases ==
* [http://www.adafruit.com/products/699 Adafruit Bone Box - Enclosure for Beagle Bone]
+
* Updated 4-2020
* [http://www.skpang.co.uk/catalog/acrylic-cover-for-beaglebone-p-1076.html SK Pang Acrylic Cover for BeagleBone]
+
* [https://www.amazon.com/gp/product/B00HSDT2NI/ SB Components - Beaglebone case with openings for headers and J-tag port]
* [http://specialcomp.com/beagleboard/BB-Bone-assy2_l.jpg Special Computing Bone Acrylic Case]
+
* [https://www.adafruit.com/products/699 Adafruit Bone Box - Enclosure for Beagle Bone]
* [http://www.thingiverse.com/thing:19153 canadaduane's 3D-printable BeagleBone Case design]
+
* [https://en.wikipedia.org/wiki/Altoids An Altoids Tin - Beaglebone Black fits very nicely inside a regular sized Altoids tin]
* [http://www.thingiverse.com/thing:16195 NinjaBlock's 3D-printable Beaglebone front panel design]
+
* [https://www.skpang.co.uk/catalog/acrylic-cover-for-beaglebone-p-1076.html SK Pang Acrylic Cover for BeagleBone]
* [http://www.thingiverse.com/thing:20122 builttospec's laser-cut design for BeagleBone Enclosure with DVI Cape]
+
* [https://specialcomp.com/beagleboard/BB-Bone-assy2_l.jpg Special Computing Bone Acrylic Case]
* [http://www.built-to-spec.com/blog/2012/03/01/beaglebone-case-update-and-new-kits-page/ Built to Spec BeagleBone Case Update], and [http://builttospecstore.storenvy.com/products/225603-beaglebone-enclosure final product]
+
* [https://www.thingiverse.com/thing:19153 canadaduane's 3D-printable BeagleBone Case design]
 +
* [https://www.thingiverse.com/thing:16195 NinjaBlock's 3D-printable Beaglebone front panel design]
 +
* [https://www.thingiverse.com/thing:20122 builttospec's laser-cut design for BeagleBone Enclosure with DVI Cape]
 +
* [http://www.built-to-spec.com/blog/2012/03/01/beaglebone-case-update-and-new-kits-page/ Built to Spec BeagleBone Case]  
 
* [http://www.phenoptix.com/products/beagle-bone-black-case-clip-together-enclosure Phenoptix (UK) BeagleBone Black clip-together enclosure]
 
* [http://www.phenoptix.com/products/beagle-bone-black-case-clip-together-enclosure Phenoptix (UK) BeagleBone Black clip-together enclosure]
 +
* [http://www.hammondmfg.com/1593HAM.htm Hammond Manufacturing] has cases for the BeagleBone Black and White available from distributors such as [http://www.mouser.com Mouser] and [http://www.digikey.com DigiKey]
 +
* [http://www.eleduino.com/Beaglebone-Black-Metal-Case-black-p10532.html eleduino Beaglebone Black metal case]
  
 
= BeagleBone Operating Systems =
 
= BeagleBone Operating Systems =
BeagleBone's default operating system is [http://www.angstrom-distribution.org/ Angstrom], which ships with the board.  This section provides basic information on Angstrom and other operating systems commonly used on BeagleBone.  This information may help in making a preliminary choice, but full details should be obtained from the home sites.
+
BeagleBone's default operating system is [https://beagleboard.org/latest-images Debian], which ships with the board. You can find more information in [[BeagleBone_Operating_Systems|BeagleBone Operating Systems]] section.
 
 
The latest images of the official Angstrom images for BeagleBoard.org products can be found at [http://beagleboard.org/latest-images the beagleboard.org latest images web page]
 
 
 
=== Angstrom ===
 
* Home site: http://www.angstrom-distribution.org/
 
* Mailing lists:  [http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-devel angstrom-distro-devel] and [http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/angstrom-distro-users angstrom-distro-users]
 
* IRC channel:  irc://irc.freenode.net/#angstrom
 
Ångström was started by a small group of people who worked on the OpenEmbedded, OpenZaurus and OpenSimpad projects to unify their effort to make a stable and user-friendly distribution for embedded devices like handhelds, set top boxes and network-attached storage devices.
 
Ångström can scale down to devices with only 4MB of flash storage.
 
 
 
The Angstrom community does not provide a forum, [http://www.angstrom-distribution.org/contact intentionally].
 
 
 
Angstrom uses [http://www.busybox.net/ Busybox] for many key utilities, which has both pros and cons.  Advantages include requiring less storage space and a smaller memory footprint for many common utilities, which also improves system startup time and performance.  The main disadvantages stem from those utilities not mirroring exactly their full-size counterparts.  These differences can be annoying if one is used to standard behavior, and may also break shell scripts that rely on portable functionality.
 
 
 
Angstrom uses [http://connman.net/ connman] for network connection management, but no documentation is available for this currently.  Also, man(1) and man pages are not provided by default, nor debugging utilities like strace(1) and tcpdump(1).  Getting started may therefore present difficulties, depending on experience.
 
 
 
=== Debian ===
 
* See [[BeagleBoardDebian]]
 
* Home site: [http://wiki.debian.org/ArmEabiPort http://wiki.debian.org/ArmEabiPort]
 
* Mailing list:  http://lists.debian.org/debian-arm/
 
* IRC channel: irc://irc.debian.org/debian-arm
 
The ARM EABI port is the default port of the standard Debian distribution of Linux for the ARM architecture ("armel").
 
EABI ("Embedded ABI") is actually a family of ABIs, and one of the "subABIs" is the GNU EABI for Linux which is used for this port.
 
Starting with Debian 7.0 (Wheezy) there is a port targeted at newer (armv7 with fpu) hardware with another ABI ("armhf").
 
 
 
The [http://www.debian.org/intro/about Debian Project] is strongly committed to software freedom, and has a long pedigree and a good reputation.
 
 
 
=== Ubuntu ===
 
* See [[BeagleBoardUbuntu]]
 
* Home site: https://wiki.ubuntu.com/ARM
 
* IRC channel:  irc://irc.freenode.net/#ubuntu-arm
 
The vision for Ubuntu is part social and part economic: free software, available free of charge to everybody on the same terms, and funded through a portfolio of services provided by Canonical.
 
 
 
The first version of Ubuntu was based on the GNOME desktop, but has since added a KDE edition, Kubuntu, and a server edition. All of the editions of Ubuntu share common infrastructure and software.  In recent years, special emphasis has been placed on netbooks for lightweight, connected, mobile computing, and on the cloud as a new architecture for data centres.
 
 
 
=== Fedora ===
 
* See [[BeagleBoardFedora]].
 
* Home site: http://fedoraproject.org/wiki/Architectures/ARM
 
* Mailing list: http://lists.fedoraproject.org/pipermail/arm/
 
* IRC channel:  irc://irc.freenode.net/#fedora-arm
 
The Fedora Project is sponsored by Red Hat, which invests in its infrastructure and resources to encourage collaboration and incubate innovative new technologies. Some of these technologies may later be integrated into Red Hat products. They are developed in Fedora and produced under a free and open source license from inception, so other free software communities and projects are free to study, adopt, and modify them.
 
 
 
Red Hat has been a major player since the earliest days of Linux distributions, and has earned a good reputation for solidity which continues in Fedora.  The Fedora ARM initiative is very active (see mailing list).
 
 
 
=== ArchLinux ===
 
* Home site:  http://archlinuxarm.org/platforms/armv7/beaglebone
 
* Source repository:  https://github.com/archlinuxarm/PKGBUILDs
 
* IRC channel:  irc://irc.freenode.net/#archlinux-arm
 
Arch Linux for BeagleBone is a version of the Arch Linux ARM distribution.  This carries forward the Arch Linux philosophy of simplicity and user-centrism, targeting and accommodating ''competent'' Linux users by giving them complete control and responsibility over the system. Instructions are provided to assist in navigating the nuances of installation on the varied ARM platforms; however, the system itself will offer little assistance to the user.
 
 
 
The entire distribution is on a rolling-release cycle that can be updated daily through small packages instead of huge updates on a defined release schedule. Most packages are unmodified from the code which upstream developers release.
 
 
 
=== Gentoo ===
 
* Home site:  http://dev.gentoo.org/~armin76/arm/beaglebone/install.xml
 
* IRC channel:  irc://irc.freenode.net/#gentoo-embedded
 
Gentoo is a source-based '' '''meta'''-distribution'' of Linux.  Instead of distributing a standard system image built with predefined options, Gentoo gives each user the means to create their own customized system that doesn't contain unused bloat and with minimum dependencies.  Upgrades are incremental and under user control, so a Gentoo system is normally always up-to-date and wholesale upgrades are avoided.
 
 
 
Being a source-based system, the downside of Gentoo for low-power ARM systems is very long install times for large applications.  Cross-compilation on x86 machines and [http://www.gentoo.org/doc/en/distcc.xml distcc] can overcome this problem, but they add complexity.
 
 
 
=== Sabayon ===
 
* Home site:  [http://wiki.sabayon.org/index.php?title=Hitchhikers_Guide_to_the_BeagleBone_%28and_ARMv7a%29 wiki.sabayon.org/Hitchhikers Guide to the BeagleBone]
 
* IRC channel:  irc://irc.freenode.net/#sabayon
 
Sabayon Linux uses the mechanisms of Gentoo to create a pre-configured Linux distribution that can be installed as rapidly as a normal binary distribution, but still retains the benefits of Gentoo's source-based package management.  Sabayon on Intel/AMD also provides the Entropy binary package management system, which could in principle greatly ease installation of packages on resource-constrained embedded Linux devices, but this is not yet available for ARM.
 
 
 
Although it is still early days for Sabayon on ARM (and hence on BeagleBone), there is regular progress reported on [http://lxnay.wordpress.com/2012/ lxnay's blog], and contributions from the community would probably accelerate the work.
 
 
 
=== Buildroot ===
 
* Home site:  http://www.zoobab.com/beaglebone
 
* Buildroot project site: http://buildroot.uclibc.org/
 
Buildroot is a set of Makefiles and patches that makes it easy to generate a complete embedded Linux system. Buildroot can generate any or all of a cross-compilation toolchain, a root filesystem, a kernel image and a bootloader image. Buildroot is useful mainly for people working with small or embedded systems, using various CPU architectures (x86, ARM, MIPS, PowerPC, etc.) : it automates the building process of your embedded system and eases the cross-compilation process.
 
 
 
The resulting root filesystem is mounted read-only, but other filesystems can be mounted read/write for persistence.  Although user accounts can be created, in practice almost everything is done as root.  Buildroot uses no package manager.  Instead, package selection is managed through '''make menuconfig'''.
 
 
 
=== Nerves Erlang/OTP ===
 
* Home site:  http://nerves-project.org/
 
* Source repository:  https://github.com/nerves-project/bbone-erlang-buildroot
 
* Erlang project site: http://www.erlang.org/
 
Erlang is a programming language used to build massively scalable soft realtime systems with high availability requirements (5-9’s). Some of its uses are in telecoms, banking, e-commerce, computer telephony and instant messaging. Erlang’s runtime system has built-in support for concurrency, distribution and fault tolerance.
 
 
 
OTP is a set of Erlang libraries and design principles providing middle-ware to develop these systems. It includes its own distributed database, applications to interface towards other languages, debugging and release handling tools.
 
  
The Nerves project provides an embedded Linux-based environment for running Erlang and an easy-to-use API to access common I/O interfaces, based on '''Buildroot''' (see above). If you are interested in running an Erlang node on a low power ARM-based board such as BeagleBone, this project can get you started.
+
For the BeagleBone Black, see its [[https://beagleboard.org/latest-images Debian Official documentation]].
  
= Board recovery =
+
= Board recovery and Flashing Images on BeagleBone =
 +
* See [[AM335x_recovery]]
 
* See [http://elinux.org/BeagleBoardRecovery#USB_recovery BeagleBoardRecovery] ''--- (*) Check applicability''
 
* See [http://elinux.org/BeagleBoardRecovery#USB_recovery BeagleBoardRecovery] ''--- (*) Check applicability''
 +
* See [http://www.dc-computing.com/CloningCustomizedBeagles.html Cloning Customized Beagles] ''for pointers on how to put a clone images across BeagleBone (Retired)''
  
 
= Software Development =
 
= Software Development =
Line 247: Line 296:
 
''..... description here .....''
 
''..... description here .....''
 
* Source repository:  https://github.com/jadonk/bonescript
 
* Source repository:  https://github.com/jadonk/bonescript
* Language documentation:  http://nodejs.org/
+
* Language documentation:  https://nodejs.org/en/docs/
 +
 
 +
=== Dart and BeagleBone (Retired) ===
 +
''Directions for installing Dart on Beaglebone''
 +
* Link: http://www.dc-computing.com/PoweringIoTwithDartandBeagle.html
  
 
=== BeagleBone JTAG Debugging ===
 
=== BeagleBone JTAG Debugging ===
 
''..... description here .....''
 
''..... description here .....''
 +
 +
The BeagleBone White is the developers paradise in terms of debugging. You just need to plug a single usb connector to get a serial + JTAG. There is the openocd package with basic support for the Cortex-A8 read [[BeagleBoardOpenOCD]] but if you want to get some work done you are probably better of using Code Composer Studio. Here is a video about using Code Composer Studio on the BeagleBone White
 +
[http://www.youtube.com/watch?v=ra8STql8pJM&list=PL2JiIx7dnbsG09NsK8Rbd9GHqoREz6hKK MINIX3 on ARM : BeagleBone White && Code Composer studio debug]
  
 
===Using Netbeans to remotely compile and debug C/C++===
 
===Using Netbeans to remotely compile and debug C/C++===
Line 268: Line 324:
  
 
* Download Netbeans (Windows/Linux/OS-X/Solaris): http://www.netbeans.org/
 
* Download Netbeans (Windows/Linux/OS-X/Solaris): http://www.netbeans.org/
* Example tutorial on setting this up: http://mechomaniac.com/BeagleboardDevelopmentWithNetbeans
+
* Example tutorial on setting this up: http://mechomaniac.com/BeagleboardDevelopmentWithNetbeans (Retired)
  
 +
=== BlackLib ===
 +
BlackLib library is written for controlling Beaglebone Black's feature with C++. It is created for reading analog input, generating pwm signal, using gpio pins, and communicating with other devices over uart, spi and i2c. In addition to them, it includes debugging feature. So you can check errors after call any function in the library. It also takes parallel programming, mutex usability, realization of directory operation and realization of time operation ability with the last update(BlackLiv v3.0).
 +
* GitHub repository:  https://github.com/yigityuce/BlackLib
 +
* Sourceforge repository:  http://sourceforge.net/projects/blacklib/
 +
* Library documentation:  http://blacklib.yigityuce.com/annotated.html
 +
* Library webpage: http://blacklib.yigityuce.com/index.html
 +
 +
= Building for BeagleBone =
 +
 +
To know how to build u-Boot, Kernel and other softwares see http://elinux.org/Building_for_BeagleBone
  
 
= Kernel =
 
= Kernel =
  
 
=== Getting the Right Kernel ===
 
=== Getting the Right Kernel ===
The modern BeagleBone kernels are Maintained by Koen Kooi and are available on the 3.8 branch at https://github.com/beagleboard/kernel/tree/3.8 . This repo contains a set of patches and a script which downloads a mainline kernel and then patches it appropriately. Exact steps for building it are in the README.
+
The modern BeagleBone kernels are Maintained by Robert C Nelson and are available on the 4+ branch at<br><br>
 +
[https://github.com/beagleboard/linux Beaglebone Github]
 +
<br><br>This repo contains a set of patches and a script which downloads a mainline kernel and then patches it appropriately. Exact steps for building it are in the README.
  
 
=== Step-by-step guide to building a BBB kernel ===
 
=== Step-by-step guide to building a BBB kernel ===
Line 280: Line 348:
  
 
=== Device Tree ===
 
=== Device Tree ===
The 3.5 and newer BeagleBone kernels make use of [[Device_Trees|Device Trees]]. A Device Tree is a text file which describes the layout of a machine, commonly the combination of a system-on-chip (SoC) and a board, so that the kernel can know at what addresses and on which buses hardware is located. The BeagleBone kernels make use of an extension called [[Capemgr|Capemgr]] which allows dynamic loading and unloading of device tree fragments both at compile time and from userspace post-boot.
+
The 3.5 and newer BeagleBone kernels make use of [[Device Tree]]. A Device Tree is a text file which describes the layout of a machine, commonly the combination of a system-on-chip (SoC) and a board, so that the kernel can know at what addresses and on which buses hardware is located. The BeagleBone kernels make use of an extension called [[Capemgr|Capemgr]] which allows dynamic loading and unloading of device tree fragments both at compile time and from userspace post-boot.
 
Learning about the Device Tree is very essential, if you wish to be able to manipulate pins and be able to use them as inputs/outputs. There is a [http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/05/22/bbb--working-with-the-pru-icssprussv2 short guide to it here] (part-way down the page). In a nutshell, the device tree can be manipulated by creating a text 'fragment' file that can be converted into a .dtbo file using a program called dtc which is already installed on the BeagleBone Black. The .dtbo file can then be installed and uninstalled as desired. The procedures to install and uninstall are at that link:
 
Learning about the Device Tree is very essential, if you wish to be able to manipulate pins and be able to use them as inputs/outputs. There is a [http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/05/22/bbb--working-with-the-pru-icssprussv2 short guide to it here] (part-way down the page). In a nutshell, the device tree can be manipulated by creating a text 'fragment' file that can be converted into a .dtbo file using a program called dtc which is already installed on the BeagleBone Black. The .dtbo file can then be installed and uninstalled as desired. The procedures to install and uninstall are at that link:
  
Line 292: Line 360:
  
 
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].
 
For BeagleBoard frequently asked questions (FAQ) see [[BeagleBoardFAQ|community FAQ]] and "official" [http://beagleboard.org/support/faq BeagleBoard.org FAQ].
 +
 +
= Projects =
 +
 +
* [[BeagleBone 6502 RemoteProc cape]]
  
 
= Links =
 
= Links =
 
== Home site and Community ==
 
== Home site and Community ==
* [http://beagleboard.org/ beagleboard.org] -- home for BeagleBoard and BeagleBone products
+
* Updated 5-2020
 +
* [http://beagleboard.org/ Beagleboard.org] -- home for BeagleBoard and BeagleBone products (Use Discover Boards Tab)
 
* [http://beagleboard.org/Products/BeagleBone%20Black BeagleBone Black] -- manufacturer's page for the second BeagleBone board
 
* [http://beagleboard.org/Products/BeagleBone%20Black BeagleBone Black] -- manufacturer's page for the second BeagleBone board
* irc://irc.freenode.net/#beagle -- official combined IRC channel
+
* [https://webchat.freenode.net/#beagle Beaglebone official KiWi IRC channel]
 
* [http://beagleboard.org/discuss Google Groups forums/mailing list] -- [https://groups.google.com/forum/?fromgroups#!forum/beagleboard English], [http://groups.google.com/group/pandabeagle-jp Japan], [http://groups.google.com/group/beagleboard-brasil Brasil], [https://groups.google.com/group/beagle-board-turkiye Turkey]
 
* [http://beagleboard.org/discuss Google Groups forums/mailing list] -- [https://groups.google.com/forum/?fromgroups#!forum/beagleboard English], [http://groups.google.com/group/pandabeagle-jp Japan], [http://groups.google.com/group/beagleboard-brasil Brasil], [https://groups.google.com/group/beagle-board-turkiye Turkey]
 
* [http://beagleboard.org/project BeagleBoard and BeagleBone projects list]
 
* [http://beagleboard.org/project BeagleBoard and BeagleBone projects list]
* [https://docs.google.com/spreadsheet/ccc?key=0AtD7XdBlve3HdDZqUk0xQ1dpV2NiNm43d0pNWmVGdmc&hl=en_US#gid=0 Capes Registry] and its [https://docs.google.com/spreadsheet/viewform?formkey=dDZqUk0xQ1dpV2NiNm43d0pNWmVGdmc6MQ registration page]
+
* [https://docs.google.com/spreadsheet/ccc?key=0AtD7XdBlve3HdDZqUk0xQ1dpV2NiNm43d0pNWmVGdmc&hl=en_US#gid=0 Capes Registry (Dated)] and its [https://docs.google.com/spreadsheet/viewform?formkey=dDZqUk0xQ1dpV2NiNm43d0pNWmVGdmc6MQ registration page]
* [http://www.adafruit.com/blog/category/beaglebone/ BeagleBone articles at Adafruit blog] -- products, projects and tutorials
+
* [https://www.adafruit.com/blog/category/beaglebone/ BeagleBone articles at Adafruit blog] -- products, projects and tutorials
* Use [http://www.google.de/ Google] to search beagleboard.org (including [http://www.beagleboard.org/irclogs/ IRC logs]) using ''site:beagleboard.org <search term>''
+
* [https://www.google.com/search?q=beagleboard.org Google search for "begaleboard.org"]
* [https://www.linux.com/news/embedded-mobile/mobile-linux/715298-45-beaglebone-black-keeps-eyes-on-raspberry-pi Linux.com report on BeagleBone Black] -- with words from beagleBoard.org's cofounder Jason Kridner
+
* [https://www.google.com/search?q=beaglebone.org Google search for "begaleboone.org"]
* [https://github.com/selsinork/beaglebone-black-pinmux github.com/selsinork/beaglebone-black-pinmux] -- pinmux data for BeagleBone Black, including extraction scripts
+
* [https://www.github.com/selsinork/beaglebone-black-pinmux For BeagleBone Black PINMUX, including extraction scripts]
 
* [http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/05/22/bbb--working-with-the-pru-icssprussv2 Element 14 knode blog: Working with the PRU-ICSS] -- detailed tutorial on starting with the PRU on BBB
 
* [http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/05/22/bbb--working-with-the-pru-icssprussv2 Element 14 knode blog: Working with the PRU-ICSS] -- detailed tutorial on starting with the PRU on BBB
 
* [http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/06/01/bbb-neon-and-making-tintin-bigger BBB, NEON and making Tintin bigger] - introduction to using NEON on the BBB
 
* [http://www.element14.com/community/community/knode/single-board_computers/next-gen_beaglebone/blog/2013/06/01/bbb-neon-and-making-tintin-bigger BBB, NEON and making Tintin bigger] - introduction to using NEON on the BBB
* [http://forum.beaglefu.com/ BeagleFu] -- BeagleBone/Board Community, News and Projects.
 
  
 
== Tutorials and Videos ==
 
== Tutorials and Videos ==
* [http://beagleboard.org/static/bonescript/bone101/index.html ''BeagleBone: BeagleBoard-101 Intro''] -- slides (turn off Javascript for single page)
+
* Updated 5-2020
* [http://www.youtube.com/watch?v=EEnOWR-GXjk ''BeagleBone Intro''], video by Jason Kridner, Texas Instruments
+
* [https://www.youtube.com/watch?v=vl2-ZpEdNj8 Beaglebone Comparison]
* [http://www.youtube.com/watch?v=Y0uqRVxismQ ''How-To: Get Started with the BeagleBone''], video by Matt Richardson, MakeMagazine
+
* [https://www.youtube.com/embed/bIvkerJr5wE Beaglebone 5th. Birthday]
 +
* [https://www.youtube.com/embed/_akd9dRLTbs Beaglebone 10th. Birthday]
 +
* [https://www.youtube.com/embed/Aetf9hgHxc0 Beaglebone Reveal Final]
 +
* [https://www.youtube.com/embed/ciX08ysl6LE?rel=0 Beaglebone Black Tour]
 +
* [https://www.facebook.com/BeagleboneBlack/ Beaglebone on Facebook]
 +
* [https://www.twitter.com/beagleboardorg Beaglebone on Twitter]
 +
* [https://www.youtube.com/user/jadonk Beaglebone on YouTube]
 +
* [https://www.youtube.com/embed/u3J5eaUVPdk?rel=0 Element 14 Beaglebone Black Industrial]
 +
* [https://www.youtube.com/embed/FtXKypyE0g4 Fruit Slace on Beaglebone]
 +
* [https://player.vimeo.com/video/47774239 Grove High Voltage Relay]
 +
* [http://www.youtube.com/watch?v=EEnOWR-GXjk ''Beaglebone Intro''], video by Jason Kridner, Texas Instruments
 +
* [http://www.youtube.com/watch?v=Y0uqRVxismQ ''How-To: Get Started with the Beaglebone''], video by Matt Richardson, MakeMagazine
 
* [http://www.youtube.com/watch?v=z6b4zlh0IrE ''The Beaglebone - Unboxing, Introduction Tutorial and First Example''], video by Derek Molloy, DCU/EE
 
* [http://www.youtube.com/watch?v=z6b4zlh0IrE ''The Beaglebone - Unboxing, Introduction Tutorial and First Example''], video by Derek Molloy, DCU/EE
 
* [http://www.youtube.com/watch?v=vFv_-ykLppo ''Beaglebone: C/C++ Programming Introduction for ARM Embedded Linux Development using Eclipse''], video by Derek Molloy, DCU/EE
 
* [http://www.youtube.com/watch?v=vFv_-ykLppo ''Beaglebone: C/C++ Programming Introduction for ARM Embedded Linux Development using Eclipse''], video by Derek Molloy, DCU/EE
 
* [http://www.youtube.com/watch?v=SaIpz00lE84 ''Beaglebone: GPIO Programming on ARM Embedded Linux''], video by Derek Molloy, DCU/EE
 
* [http://www.youtube.com/watch?v=SaIpz00lE84 ''Beaglebone: GPIO Programming on ARM Embedded Linux''], video by Derek Molloy, DCU/EE
 
* [https://gist.github.com/4013192 ''C code for GPIO polling''], sample code by Andrew Montag
 
* [https://gist.github.com/4013192 ''C code for GPIO polling''], sample code by Andrew Montag
* [http://borderhack.com/?p=1062 First steps with the Beaglebone], introductory HOWTO by octavio at borderhack
+
* [https://www.linux.com/topic/embedded-iot/prototyping-iot-applications-using-beaglebone-and-debian Beaglebone Debian and IoT of Things]
 
* [http://learn.adafruit.com/beaglebone Adafruit Learning System - BeagleBone] -- web page
 
* [http://learn.adafruit.com/beaglebone Adafruit Learning System - BeagleBone] -- web page
 +
* [http://derekmolloy.ie/beaglebone/ ''Beaglebone: Tutorials''], by Derek Molloy
 +
* [https://wiki.zoneminder.com/Dedicated_SBC_Camera_Monitor ''Beaglebone Video Monitor''] Configuring from scratch as video monitor with I2C and custom kernel
 +
* [[24bit_LCD_for_BBB|''HowTo for Using 24-bit LCD panels'']]
 +
* [https://www.youtube.com/watch?v=Xw-y3F3Yp0Q 7" LCD Cape from] [https://www.seeedstudio.com/7-Inch-LCD-Cape-for-Beagle-Bone-Black-Touch-Display-p-1697.html Seeed Studio]
 +
* [https://www.youtube.com/embed/rcWoBtybeO8?rel=0 Beaglebone with Ariduno Sensors]
  
 
== Manuals and resources ==
 
== Manuals and resources ==
* [http://beagleboard.org/static/beaglebone/a3/Docs/Hardware/BONE_SRM.pdf BeagleBone System Reference Manual (rev. A3_1.0)]
+
* Updated 5-2020
 +
* [https://cdn.sparkfun.com/datasheets/Dev/Beagle/BBB_SRM_C.pdf BeagleBone Black System Reference Manual (rev. C.1)]
 +
* [https://github.com/beagleboard/beaglebone-ai/wiki/System-Reference-Manual Beaglebone AI System Reference (12-2019)]
 +
* [https://www.mouser.com/catalog/specsheets/Precision%20Technology%20Inc_04112018_BeagleBoard%20X15.pdf Beaglebone X15 System Reference (rev. B.1)]
 +
* [https://beagleboard.org/static/BBSRM_latest.pdf BeagleBone System Reference Manual OMAP3530 (rev. C.4)]
 +
* [https://www.researchgate.net/publication/302915457_A_Comprehensive_Review_of_BeagleBone_Technology_Smart_Board_Powered_by_ARM Beaglebone A Comprehensive Review]
 
* [http://www.ti.com/am335x Texas Instruments - Sitara AM335x ARM Cortex-A8 Microprocessor overview]
 
* [http://www.ti.com/am335x Texas Instruments - Sitara AM335x ARM Cortex-A8 Microprocessor overview]
* [http://www.ti.com/product/am3359 Texas Instruments - AM3359 Sitara ARM Cortex-A8 Microprocessor full documentation]
+
* [http://www.ti.com/product/am3358 Texas Instruments - AM3358 Sitara ARM Cortex-A8 Microprocessor full documentation]
 
* [http://infocenter.arm.com/help/topic/com.arm.doc.subset.architecture.reference/index.html#v7AR ARM/ARMv7-AR Architecture] -- ARM Cortex-A8 architecture overview
 
* [http://infocenter.arm.com/help/topic/com.arm.doc.subset.architecture.reference/index.html#v7AR ARM/ARMv7-AR Architecture] -- ARM Cortex-A8 architecture overview
 
* [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344d/DDI0344D_cortex_a8_r2p1_trm.pdf ARM Cortex-A8 Technical Reference Manual r2p1]
 
* [http://infocenter.arm.com/help/topic/com.arm.doc.ddi0344d/DDI0344D_cortex_a8_r2p1_trm.pdf ARM Cortex-A8 Technical Reference Manual r2p1]
Line 329: Line 422:
 
* [http://www.ti.com/product/tps65217b TI TPS65217 Power Management IC], [http://www.ti.com/lit/ds/symlink/tps65217.pdf TPS65217 PMIC datasheet]
 
* [http://www.ti.com/product/tps65217b TI TPS65217 Power Management IC], [http://www.ti.com/lit/ds/symlink/tps65217.pdf TPS65217 PMIC datasheet]
 
* [http://www.ftdichip.com/Products/ICs/FT2232H.htm FTDI FT2232H Hi-Speed Dual USB UART/FIFO IC overview], [http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT2232H.pdf FT2232H datasheet]
 
* [http://www.ftdichip.com/Products/ICs/FT2232H.htm FTDI FT2232H Hi-Speed Dual USB UART/FIFO IC overview], [http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT2232H.pdf FT2232H datasheet]
* [http://www.linux-usb.org/gadget/index.html Linux-USB Gadget API Framework] and [http://www.linux-usb.org/gadget/h2-otg.html USB OTG], and [http://forums.gentoo.org/viewtopic-t-843255.html kernel config] -- Ethernet-over-USB
+
* [https://github.com/beagleboard/linux Github Beaglebone and 4+ Kernel]
* [https://docs.google.com/document/d/17P54kZkZO_-JtTjrFuVz-Cp_RMMg7GB_8W9JK9sLKfA/pub Beaglebone and the 3.8 Kernel] Details about the 3.8 Kernel, its use of DT and the capemanager.
+
* [https://www.seeedstudio.com/Replicape-Rev-B-3D-printer-controller-board-p-2942.html seeed.studio 3D Printer Control Board]
 +
* [https://www.amazon.com/Serial-Adapter-Signal-FT232RL-Windows/dp/B07RBKCW3S/ Bealebone Black DTECH FTDI USB 2.0 to TTL 3.3V Cable]
 +
* [https://www.ssh.com/ssh/putty/ Beaglebone PUTTY Communications Program P.C. ==> Beaglebone or Linux ==> Beaglebone]
 +
* [https://www.adafruit.com/category/75 Adafruit Beaglebone Products]
 +
* [https://www.amazon.com/s?k=beaglebone&i=electronics Amazon Beaglebone Products]
 +
* [https://www.arrow.com/en/products/search?cat=&q=beaglebone Arrow Beaglebone Products]
 +
* [https://www.digikey.com/en/product-highlight/t/texas-instruments/beagleboard Digi-Key Beaglebone Products]
 +
* [https://www.mouser.com/new/beagleboardorg/beagleboneblack/ Mouser Beaglebone Products]
 +
* [https://www.newark.com/b/beagleboard Newark Beaglebone Products]
 +
* [https://wiki.seeedstudio.com/BeagleBone/ Seeed Studio Beaglebone Products]
 +
* [https://www.sparkfun.com/products/12857 Sparkfun Beaglebone Products]
 +
* [https://www.amazon.com/gp/product/B06XWN9Q99/ Micro SD Card Suitable For Beaglebone, Fast 32GB]
 +
* [https://www.amazon.com/gp/product/B00E2UTU3W/ Micro SD Card Reader/Writer Suitable For Burning Begalbone Images On P.C.]
 +
* [https://www.techspot.com/downloads/6931-etcher.html Etcher Software To Burn Beaglebone Images To SD-Card For Beaglebone]
 +
* [http://www.linux-usb.org/gadget/index.html Linux-USB Gadget API Framework] and [http://www.linux-usb.org/gadget/h2-otg.html USB OTG], and [http://forums.gentoo.org/viewtopic-t-843255.html kernel config] -- Ethernet-over-USB (Dated)
  
 
== Translations ==
 
== Translations ==
Line 338: Line 445:
  
 
= Subpages =
 
= Subpages =
http://elinux.org/BeagleBone_Usb_Networking
+
http://elinux.org/BeagleBone_Usb_Networking (Dated)<br/>
http://elinux.org/BeagleBone_and_the_3.8_Kernel
+
http://elinux.org/BeagleBone_and_the_3.8_Kernel (Dated)<br/>
 +
http://elinux.org/Building_for_BeagleBone<br/>
 +
http://elinux.org/BeagleBone_Operating_Systems

Latest revision as of 17:31, 6 May 2020


BeagleBone
BeagleBone Black

This page collects information about BeagleBoard.org's range of BeagleBone boards based on the TI Sitara AM335x, an application processor SoC containing an ARM Cortex-A8 core. The range currently consists of the original BeagleBone and the upgraded but lower cost BeagleBone Black.

Most features are common to the two models. The differences between them are described in each section under a BeagleBone Black subheading.


Events

Sponsered events by Element 14

Description

The two models of BeagleBone share most features in common through employing only slightly different versions of the same TI Sitara SoC. In addition they both adhere to the same standard for expansion and interfacing through "cape" daughterboards.

BeagleBone (original)

The BeagleBone is a low-cost, high-expansion board from the BeagleBoard product line. It uses the TI AM3358/9 SoC based on an ARM Cortex-A8 processor core using the ARMv7-A architecture. It is similar in purpose to earlier BeagleBoards, and can be used either standalone or as a USB or Ethernet-connected expansion for a BeagleBoard or any other system. The BeagleBone is small even by BeagleBoard standards yet still provides much of the performance and capabilities of the larger BeagleBoards.

BeagleBone ships with a 4GB micro-SD card preloaded with the Angstrom ARM Linux distribution.

The board uses a TI TPS65217B PMIC to generate stable supply voltages regardless of input power variation. +5V DC power can be supplied to the BeagleBone through a barrel connector or from the mini-USB, both of which are located near the large RJ45 Ethernet connector.

The mini-USB type-A OTG/device client-mode socket is multi-functional. In addition to providing an alternative source of power, it gives access to an on-board front-end two-port USB client-side hub. (This is not related to the separate host-mode USB socket described later). One port of the hub goes directly to the USB0 port of the TI AM3358/9 SoC, while the other port connects to a dual-port FTDI FT2232H USB-to-serial converter to provide board-to-external-host serial communications and/or JTAG debugging. The BeagleBone's Linux serial console is available through this USB serial connection.

The SoC's USB0 connection to the front-end hub works in one of two modes, and you can toggle between them at any time: it either presents the SD card as a mountable USB storage device to the host, or it provides an Ethernet-over-USB networking interface which yields a simple method of quick-start. The Ethernet-over-USB facility is additional to the BeagleBone's normal 10/100 Ethernet interface, which is directly implemented in the SoC rather than hanging off USB as in some other designs. Full IPv4 and IPv6 networking is provided by the supplied Linux system out of the box.

In addition to the USB OTG Device or client-mode facilities already described, BeagleBone also provides one host-mode USB type-A socket on the other end of the board. This is driven from the USB1 connection on the AM3358/9 SoC, and provides access to USB host peripherals such as mice, keyboards, storage, and wifi or Bluetooth dongles, or a USB hub for further expansion.

BeagleBone Black

On 23rd April 2013, Beagleboard officially announced BeagleBone Black at a price approximately half that of the original BeagleBone.

The new board's most important new features include a AM3358 SoC upgraded to 1GHz, doubling of memory to 512MB, use of faster DDR3 memory in contrast to the DDR2 of the original BeagleBone, and a new HDMI audio/visual output. (The original BeagleBone required an additional cape daughterboard for graphic output).

Specifications

The two boards are very similar in those features provided directly by the SoC. Despite the original BeagleBone being specified as using "AM3358/9", in practice most boards are believed to have shipped with the AM3359 generic part. BeagleBone Black has therefore upgraded only the specific device selected to the AM3358 chip, and hence the differences are few. In contrast, the boards have significantly different designs but a high degree of compatibility.

Original BeagleBone

  • Up to 720 MHz superscalar ARM Cortex-A8 AM3358/9
  • 256 MB DDR2 RAM
  • 10/100 Ethernet RJ45 socket, IPv4 and IPv6 networking
  • MicroSD slot and 4GB microSD card supplied
  • Preloaded with Angstrom ARM Linux Distribution
  • Single USB 2.0 type A host port
  • Dual USB hub on USB 2.0 type mini-A OTG device port
  • On-board USB-to-serial/JTAG over one shared USB device port
  • Storage-over-USB or Ethernet-over-USB on other USB device port
  • Extensive I/O: 2 I2C, 5 UART, SPI, CAN, 66 GPIO, 8 PWM, 8 ADC
  • +5V DC power from barrel connector or USB device port
  • Power consumption of 300-500mA at 5V
  • Two 46-pin 3.3-V peripheral headers with multiplexed LCD signals
  • Board size: 3.4" × 2.1" (86.4mm x 53.3mm) -- fits in an Altoid tin

BeagleBone Black (differences)

Updated 5-2020

  • 1 GHz superscalar ARM Cortex-A8 AM3358
  • 512 MB DDR3 RAM 800 MHZ
  • On-board 4 GB eMMC flash, preloaded with Debian ARM Linux Distribution
  • MicroSD slot for additional user data or operating systems (no card supplied)
  • USB 2.0 type A host port
  • USB 2.0 mini client port
  • New micro-HDMI audio/visual output
  • USB-to-serial and USB-to-JTAG interfaces now on 6 pin header and pads
  • Battery charging on pads
  • Lower power consumption of 210-460 mA at 5V

Expansion Connectors

The BeagleBone provides two 46-pin dual-row expansion connectors "P9" and "P8" which are also known as "Expansion A" and "Expansion B", respectively. The location and pinout of these connectors is illustrated below (click tables to enlarge). All signals on expansion headers are 3.3V except where indicated otherwise.

P9 and P8 - Each 2x23 pins

P9 Header

BeagleBone P9 + P8 P8 Header


In addition to the two large headers above, a small 10-pin dual-row connector "P6" provides a "PMIC Expansion" that brings out some additional signals from the TPS65217B Power Management IC, using the following pinout:

P6 - 2x5 pins

P6 MPIC Expansion Header

NB. P6 is not available on BeagleBone Black

IMPORTANT

This diagram of P6 provides an UNDERSIDE PINOUT view.

It is therefore laterally inverted relative to the photograph.

To obtain the top-side pinout that corresponds to the physical orientation shown in the photograph, swap the two rows of pins so that odd-numbered pins are on the left of even-numbered pins.

USB 2.0 Powered Hubs

Updated 5-2020

USB 2.0 Powered Hub connects multiple USB devices i.e. Keyboard , Mouse ,etc to the Single USB Host Port on the BBB Device. The Advantage a Powered USB Hub provide VS USB Port is the Power draw available for device connected to the Hub.

  • USB 2.0 Speeds up to 480 Mbps (This is the speed on a Beaglebone USB port)
  • 4 Ports
  • Self powered to off-load drain on Beaglebone
  • Reverse voltage protected
  • Blue LED power bar
  • Includes USB cable
  • This means you could have 2 USB sticks plugged in and a WiFi dongle all at the same time
  • This works on Beaglebone running Debian and can also be used on a Windows machine
  • These people stand behind their product


Expanded Hub Features
  • 4 Port Powered USB 2.0 Hub
  • Plug and Play
  • includes Micro USB Cable
  • Includes Power Adaptor which is Made In China and provides 5V 2.6A Power Supply
  • lsusb Info - ID 05e3:0608 Genesys Logic Inc. USB-2.0 4-Port Hub
  • NO LED Indicator for Activity / Plugged In Display
  • Packaging indicates Part # - F4U040SA
  • Packaging does not mention Linux Kernel compatibility OR Power in Amps provided by the Hub
  • Packaging indicates compatibility with Windows 7 & Mac OS 9.2 and Above

Expansion Boards and Accessories

Capes

Updated 5-2020

A BeagleBone Cape is an expansion board which can be plugged into the BeagleBone's two 46-pin dual-row Expansion Headers and which in turns provides similar headers onto which further capes can be stacked. Up to four capes at a time can be stacked on top of a BeagleBone. An expansion board which can be fitted only at the top of a stack of capes (usually for physical reasons) is a special case of "cape", but this usage is common for display expansion boards such as LCDs (see next section).

Capes are required to provide a 32Kbyte I2C-addressed EEPROM which holds board information such as board name, serial number and revision, although this is typically omitted on simple prototyping capes. Capes are also expected to provide a 2-position DIP switch to select their address in the stack, although this too is often omitted in prototyping capes.

The Capes Registry seeks to index all existing capes and cape concepts, including private projects. A registration page is available to help add capes to the list.

This section lists only those capes which are available commercially or which are close to a production release, as well as open hardware designs as of 4-2020. Support the vendors.

Wifi

Updated 4-2020

These USB Wifi modules have been tested and validated to work with the BeagleBone Black. See comments below.


Dated Information

Audio

Updated 5-2020

See here for how to use the I2S interface for audio. It includes a complete schematic for building a DAC.

Battery Power, Charging and Power Management

The BeagleBone Black has a built-in power management IC (PMIC) which generates and controls all of the voltage levels used by the board. The PMIC contains Li-Po / Li-Ion battery charging capability which means that it is extremely simple (and low cost) to enable portable use. There is also a built-in push-button on the BBB which can be used to soft power on/power off the board. See ==>this link<== for information.

Intelligent Power Switch

The Pi Supply Switch v1.1 was originally designed for use as an automatic on off power supply switch for the Raspberry Pi which includes on, off and soft shutdown switches. The soft shutdown switch is fully programmable using software on the Pi to control the GPIO.

However the Pi Supply Switch v1.1 is also compatible with BeagleBone boards (both the classic and black) as well as the OLIMEX A13-OLINUXINO single board computer.

A very useful add on to help you manage power on your BeagleBone.

PowerBar "Micro Cape"

Updated 5-2020

The AndiceLabs PowerBar is a power supply micro cape for the BeagleBone Black. It sports a buck/boost regulator designed to provide 5V power from almost any battery source (3VDC to 12VDC). Project files are available to build your own or you can purchase one from ==>AndiceLabs<==.

PowerCape LiPo Supply and Charger

The PowerCape uses the same regulator as the PowerBar but adds a LiPo charging circuit and AVR power supervisor in a full cape format. It can power the BeagleBone from a DC source, a LiPo battery, or a combination of both allowing for use cases such as an integrated UPS, solar-powered node, car computer, etc. Applications can monitor battery voltage and current via an INA219 on the battery input and can schedule BeagleBone power-up conditions and/or timeout via the AVR.

LCD Displays and Other Expansions

Updated 5-2020

LCD displays for the BeagleBone are typically implemented as capes which plug in as the top board in a stack of capes, for reasons of visibility. Such displays are often larger than the BeagleBone itself, so the normal physical relationship in which a daughterboard is smaller than its host board is inverted. In this arrangement it is the expansion board that provides the physical support for the BeagleBone.

  • 7" 800 x 480 TFT LCD screen
  • PWM backlight control
  • 24-bit true color
  • Secondary BeagleBone Cape slot
  • 5-point, multi-touch capacitive touch panel
  • Beaglebone mounts on the back
  • 7.0" 800 x 480 TFT LCD screen
  • 7 push buttons including LEFT, RIGHT, UP, DOWN, ENTER, RESET and POWER
  • 2 LED Lights for Power and User
  • 2x2 Jumper with shunts for EEPROM CAPE ID selection
  • Beaglebone mounts on the back
  • 4.3" TFT LCD screen with seven buttons
  • Resistive Touch Screen
  • 7 push buttons including LEFT, RIGHT, UP, DOWN, ENTER, RESET and POWER
  • 2 LED Lights for Power and User
  • 2x2 Jumper with shunts for EEPROM CAPE ID selection
  • Beaglebone Black mounts on the back
Expanded Hardware Features:
  • 7" 800x480 TFT LCD screen
  • PWM Backlight control
  • Resistive touch panel
  • Plastic frame
  • 256MB Nand flash(K9F2G08)
  • RS232 serial ports(UART1 w/ CTS&RTS)
  • Stereo audio out
  • Micro-phone in
  • 6 x USER buttons
  • PWM Beeper
  • RTC with Battery(DS1302)
A compact color OLED graphic display (source code and schematic) are available here. It includes a simple library for text and some primitives.
  • A very low cost LCD implementation for the BeagleBone Black using the PRU-ICSS is ==here==.
  • It requires a graphics library to be written; currently it just displays a couple of lines on the screen.
3.5" TFT LCD screen, resolution 320x240, 4-wire resistive touchscreen, seven buttons at finger-friendly positions.
4" TFT LCD screen, resolution 480x272, 4-wire resistive touchscreen, seven buttons at finger-friendly positions.
7" TFT LCD screen, resolution 800x480, 4-wire resistive touchscreen, rear mount for BeagleBone and capes.
7" LCD screen, resolution 1024*600, 5 point Capacitive touchscreen, 5 user keys, audio in/out, RS232/485/CAN, 3 axis accelerometer. Available at Logic Supply US and Logic Supply EU (Retired).

Cases

BeagleBone Operating Systems

BeagleBone's default operating system is Debian, which ships with the board. You can find more information in BeagleBone Operating Systems section.

For the BeagleBone Black, see its [Debian Official documentation].

Board recovery and Flashing Images on BeagleBone

Software Development

Software development on the BeagleBone is normally no different to any other Linux platform, and typically varies with language and with the IDE used, if any. This section deals only with development issues that are specific to BeagleBone, or mostly so.

Cloud9 IDE and Bonescript

..... description here .....

Dart and BeagleBone (Retired)

Directions for installing Dart on Beaglebone

BeagleBone JTAG Debugging

..... description here .....

The BeagleBone White is the developers paradise in terms of debugging. You just need to plug a single usb connector to get a serial + JTAG. There is the openocd package with basic support for the Cortex-A8 read BeagleBoardOpenOCD but if you want to get some work done you are probably better of using Code Composer Studio. Here is a video about using Code Composer Studio on the BeagleBone White MINIX3 on ARM : BeagleBone White && Code Composer studio debug

Using Netbeans to remotely compile and debug C/C++

When developing c/c++ on a linux desktop, a toolchain is available for cross-compiling the code for arm. However no such toolchain is readily available for windows. Netbeans can be used to write the code on your desktop, save it in a location accessible to the beagle, and then automatically compile it on the beagle itself using ssh and the built in compiler on the beaglebone's OS.

Netbeans can also use GDB for remote debugging over ssh.

Requirements:

  • Set up a samba / smb network share through which code can be shared between both desktop and beagle
  • Give netbeans the SSh login details of the beagle
  • Give netbeans the path mapping so it can translate between the desktop code folder and beagle code folder
  • Setup only takes a few minutes.

More info

BlackLib

BlackLib library is written for controlling Beaglebone Black's feature with C++. It is created for reading analog input, generating pwm signal, using gpio pins, and communicating with other devices over uart, spi and i2c. In addition to them, it includes debugging feature. So you can check errors after call any function in the library. It also takes parallel programming, mutex usability, realization of directory operation and realization of time operation ability with the last update(BlackLiv v3.0).

Building for BeagleBone

To know how to build u-Boot, Kernel and other softwares see http://elinux.org/Building_for_BeagleBone

Kernel

Getting the Right Kernel

The modern BeagleBone kernels are Maintained by Robert C Nelson and are available on the 4+ branch at

Beaglebone Github

This repo contains a set of patches and a script which downloads a mainline kernel and then patches it appropriately. Exact steps for building it are in the README.

Step-by-step guide to building a BBB kernel

There is a step-by-step guide to building a BeagleBone Black (BBB) kernel at http://elinux.org/Building_BBB_Kernel

Device Tree

The 3.5 and newer BeagleBone kernels make use of Device Tree. A Device Tree is a text file which describes the layout of a machine, commonly the combination of a system-on-chip (SoC) and a board, so that the kernel can know at what addresses and on which buses hardware is located. The BeagleBone kernels make use of an extension called Capemgr which allows dynamic loading and unloading of device tree fragments both at compile time and from userspace post-boot. Learning about the Device Tree is very essential, if you wish to be able to manipulate pins and be able to use them as inputs/outputs. There is a short guide to it here (part-way down the page). In a nutshell, the device tree can be manipulated by creating a text 'fragment' file that can be converted into a .dtbo file using a program called dtc which is already installed on the BeagleBone Black. The .dtbo file can then be installed and uninstalled as desired. The procedures to install and uninstall are at that link:

echo cape-bone-name > $SLOTS to install, and


echo -<slotnum> > $SLOTS to uninstall, but read through the web page and comments section first to see what $SLOT is set to).

FAQ

For BeagleBoard frequently asked questions (FAQ) see community FAQ and "official" BeagleBoard.org FAQ.

Projects

Links

Home site and Community

Tutorials and Videos

Manuals and resources

Translations

Errata

Subpages

http://elinux.org/BeagleBone_Usb_Networking (Dated)
http://elinux.org/BeagleBone_and_the_3.8_Kernel (Dated)
http://elinux.org/Building_for_BeagleBone
http://elinux.org/BeagleBone_Operating_Systems