-
Notifications
You must be signed in to change notification settings - Fork 202
Home
This is the official BeagleBone Black Wiki maintained and supported by BeagleBoard.org a non-profit organization.
If you have any questions or issues with the content on this Wiki, contact jkridner@beagleboard.org or the beagleboard@googlegroups.com.
|
This wiki page is significatly out of date. Please find documenation at https://github.com/beagleboard/beaglebone-black/wiki/System-Reference-Manual
The BeagleBone Black is the newest member of the BeagleBoard family. It is a lower-cost, high-expansion focused BeagleBoard using a low cost Sitara XAM3359AZCZ100 Cortex A8 ARM processor from Texas Instruments. It is similar to the Beaglebone,but with some features removed and some features added. The table below gives the high points on the differences between the BeagleBone and BeagleBone Black.
The following table lists the key features of the BeagleBone Black.
In the box is (1)BeagleBone Black board, (1)USB cable, and (1)card that should be read.
Here is a picture of the Rev A5A board.
Here are the locations of the key components on the Rev A5A.
Below is the location of the connectors and switches on the Rev A5A board.
The Power Button and Battery Connections are new additions to the Rev A5A.
List of frequently asked questions concerning the BeagleBone Black. It will be updated as more questions continued to be answered.
UPDATED INFORMATION
You may use the Beaglebone Black design materials as you choose. We do not encourage the use of the board that we manufacture under the BeagleBoard.org logo in commercial products. We are not able to schedule parts and arrange for production for orders that we cannot see. Meeting demand is difficult as a result.
In addition, we will make revisions to the board as we find necessary and we will not continue to make older revisions. This can result in supply and compatibility issues for those using them in a product.
When used in a product, the end customer is responsible for its use in their product. BeagleBoard.org does not guarantee that it will work in any particular application or use case.
Changes in components used on the production of these boards such as memory devices, may affect operation of the board, either positively or negatively.
This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Unported License. To view a copy of this license, visit [http://creativecommons.org/licenses/by-sa/3.0/ creativecommons.org] or<br> send a letter to:<br> Creative Commons 171 Second Street, Suite 300 San Francisco, California, 94105, USA.<br>
All derivative works released publicly are to be attributed as based on the work created by Gerald Coley of BeagleBoard.org.<br>
For more information, see [http://creativecommons.org/license/results-one?license_code=by-sa Creative Commons Attribution-ShareAlike 3.0 Unported License] <br>
ALL design materials are Open Source and easily accessible. Everything is provided to build your own board. You can make changes as needed or use it as is. It is your product when you use these materials.
Feel free to build the board yourself at your contract manufacturer of choice.
If you have questions on any of this, you can contact jkridner@beagleboard.org or the beagleboard@googlegroups.com.
We have shipped a total 286,810 boards to date.
4/16......3,000
3/16......3,000
2/16......2,900
1/16......3,200
12/15.....2,800
11/15.....3,000
10/15.....2,500
09/15.....2,400
08/15.....3,000
07/15.....3,500
06/15.....4,297
05/15.....6,800
04/15.....7,104
03/15.....7,400
02/15.....6,028
01/15.....7,460
12/14.....5,274
11/14.....2,024
10/14....11,620
09/14....10,930
08/14.....6,797
07/14.....7,509
06/14....10,600
05/14.....7,500
04/14....11,297
03/14....12,698
02/14....13,050
01/14....13,575
12/13.....7,192
11/13.....9,298
10/13.....7,698
For a list of the confirmed working accessories please go to *Accessories Page
Covered there are cables, power supplies, displays,etc. Anything that can be added to the BeagleBone Black.
There is no JTAG over USB support on the BeagleBone Black. The BeagleBone Black is different than the BeagleBone. JTAG is an uninstalled option.
To install the JTAG header, all you have to do is install P2 on the back of the board.
P2 is a Samtec FTR-110-03-G-D-06 connector and can be purchased from Samtec or any of their distributors.
If you are using Code Composer Studio, you will need a Gel File
BeagleBoard.org is not the maker of the various capes. For information on cape compatibility and support go to BeagleBone Black Capes.
NOTE: It is highly recommend that you use DC power when running these dongles due to the current requirements of the dongles.
DONGLE WORKS ON [http://www.amazon.com/USB-N13-Wireless-N-Adapter-802-11b-Wireless/dp/B002UVNW5W ASUS USB-N13 802.11 b/g/n] Angstrom Debian 8.2 [http://www.amazon.com/computers-accessories/dp/B005CLMJLU EDIMAX EW-7811UN] [http://www.amazon.com/D-Link-Wireless-Network-Adapter-DWA-125/dp/B002KEA8OM/ref=sr_1_2?ie=UTF8&qid=1371742501&sr=8-2 D-Link DWA-125] [[Beagleboard:Installing_LXDE#LXDE#On#A#Micro#SD#with#Debian#Wheezy | Debian LXDE]], [[Beagleboard:Desktops_On_Ubuntu/Debian#Debian_Wheezy_On_A_microSD_With_Gnome_Desktop | Debian Gnome Desktop]] [http://www.amazon.com/D-Link-DWA-121-Wireless-N-Pico-Adapter/dp/B004P8K2JW/ref=sr_1_1?ie=UTF8&qid=1371742501&sr=8-1 D-Link DWA-121] Angstrom [[Beagleboard:Installing_LXDE#LXDE#On#A#Micro#SD#with#Debian#Wheezy | Debian LXDE]], [[Beagleboard:Desktops_On_Ubuntu/Debian#Debian_Wheezy_On_A_microSD_With_Gnome_Desktop | Debian Gnome Desktop]] [http://www.amazon.com/Belkin-Wireless-Adapter-Latest-Generation/dp/B004N625BE/ref=sr_1_2?ie=UTF8&qid=1371742934&sr=8-2 Belkin N150] [[Beagleboard:Installing_LXDE#LXDE#On#A#Micro#SD#with#Debian#Wheezy | Debian LXDE]] [http://www.amazon.com/TP-LINK-TL-WN721N-Wireless-Adapter-150Mbps/dp/B002ZDQHS4/ref=sr_1_1?ie=UTF8&qid=1371743079&sr=8-1 TP-Link TL-WN727N] [[Beagleboard:Installing_LXDE#LXDE#On#A#Micro#SD#with#Debian#Wheezy | Debian LXDE]], [[Beagleboard:Desktops_On_Ubuntu/Debian#Debian_Wheezy_On_A_microSD_With_Gnome_Desktop | Debian Gnome Desktop]] [http://www.amazon.com/Netgear-WNA1100-802-11n-Wi-Fi-Adapter/dp/B0036R9XRU/ref=sr_1_1?ie=UTF8&qid=1371743487&sr=8-1 Netgear WNA1100] [[Beagleboard:Installing_LXDE#LXDE#On#A#Micro#SD#with#Debian#Wheezy | Debian LXDE]], [[Beagleboard:Desktops_On_Ubuntu/Debian#Debian_Wheezy_On_A_microSD_With_Gnome_Desktop | Debian Gnome Desktop]] [http://www.amazon.com/KEEBOX-W150NUIEEE-Wireless-N-150-Adapter/dp/B004FM1X1O/ref=sr_1_1?ie=UTF8&qid=1371743962&sr=8-1 Keebox W150NU] [[Beagleboard:Installing_LXDE#LXDE#On#A#Micro#SD#with#Debian#Wheezy | Debian LXDE]], [[Beagleboard:Desktops_On_Ubuntu/Debian#Debian_Wheezy_On_A_microSD_With_Gnome_Desktop | Debian Gnome Desktop]]
Note: Always run the board from 5VDC 1A minimum supply when using a Wifi Dongle. You may need to use a extension cable to move the dongle away from the planes of the PCB.
Sometimes standoffs will work. We also have had instances where when placed in a metal case, there can be Wifi issues as well.
You can also use a dongle with a real antenna on it such as http://www.logicsupply.com/uwn200/. Logic Supply which will help
For information on the serial debug cables go to Serial Debug Cables
This revision increases the eMMC from 2GB to 4GB. We are making this change for several reasons:
1) Complaints from the community about lack of space left in the eMMC.
2) For those worried about their eMMC wearing out, the added space will help in the area of moving the data around to prevent wear out. Assuming of course you don't try and use it all.
3) Concerns over the long-term availability of the 2GB device. 4GB is currently the low end of the offering. This also gives us two sources.
We are planning a price increase for the Rev C somewhere between $5 and $15. We are working to figure out where it needs to be. This is for several reasons:
1) To cover the increased cost of the 4G devices.
2) Currently there is $0 margin on these boards which limits our ability to bring more manufacturing capacity on line. Added some margin allows us to find more capacity.
3) Without margin, we cannot respond to component price increases due to market forces. This is of particular concern in the area of NAND and DDR3. We have been successful in fighting back some increases, but we don't know if that will continue.
This version moves to the AM3358BZCZ100 processor as we are no longer able to get the limited production version of the AM3359AZCZ100.
No changes in features or operation of the board resulted from this change.
No changes in features or operation of the board.
1) Added optional zero ohm resistor to tie GND_OSC1 to system ground.
2) Changed C106 to a 1uF capacitor.
3) Changed C24 to a 2.2uF capacitor. This extends the reset signal to solve an issue where some boards would not boot on power up.
4) Removed R9 and installed R8. This change was based on an alert we just received from TI that there is a power sequencing issue with the TPS65217C power management IC and the power sequencing is incorrect. This change connects the VDDS rail to the VRTC rail. We do not believe at this time, that the issue is causing any issues with the boards, but we want to comply with the directive.
No changes in features or operation of the board.
1) Based on notification from TI, in random instances there could be a glitch in the SYS_RESETn signal from the processor where the SYS_RESETn signal was taken high for a momentary amount of time before it was supposed to. To prevent this, the signal was ORed with the PORZn (Power On reset).
2) Noise issues were observed in other designs where the clock oscillator was getting hit due to a suspected issue in ground bounce. A zero ohm resistor was added to connect the OSC_GND to the system ground.
3) Moved the enable for the VDD_3V3B regulator to VDD_3V3A rail. Change was made to reduce the delay between the ramp up of the 3.3V rails. No evidence of this being an issue, but it really needs to be as close to the same as possible.
Production had some fallout of boards when running the HDMI tests in the previous production run. Resistor values were tweaked to improve the test results.
No changes in features or operation of the board.
1) Changed R46,R47,R48 to a 0 ohm.
2) Changed R45 to a 22 Ohm.
1) Updated the PCB to incorporate the modification that was being done on Rev A5A. There is NO DIFFERENCE AT ALL in functionality between REV A5A and REV A5B.
2) Made the LEDs dimmer for those that could not sleep due to the brightness of the LEDs.
1) Boards are built using the XAM3359AZCZ100 processor.
2) PCB Change...LCD noise issue was resolved by adding 47pf bypass caps on some of the LCD signals.
3) PCB Change...Added access to four battery charger signals on the TPS65217 (TS=Temperature Sense, BAT=Battery connection,BATT_SENSE=Battery voltage pin, GND=Ground). Pins are not populated but the four signals are in a 2x2 .1x.1 spacing.
4) PCB Change...Added a power button which allows for wake up, power down, and sleep options. It also provides the ability to alert the processor before powering down to provide an orderly shutdown. It is expected that SW will be used in conjunction with the switch to control the various power modes and transitions from one to the other. By holding the button down for 8 seconds, it will force a power down of the board.
5) Added a 100K pull down resistor from J1 pin 1 to J1 pin 4 to fix the unterminated serial port issue.
Added a 100K pull down resistor between pins 1 and 4 of J1 to fix the serial port issue.
Incorporated the capacitors to fix the noise issue on the display
First prototype release version of the board. Limited distribution. One notable issue here is that the board has an AM3352 processor instead of an AM3359, despite how the part is marked. Part was mismarked as an AM3359. The SGX and PRU are not operational.
There are several precautions that need to me taken when working with the expansion headers to prevent damage to the board.
ALL VOLTAGE LEVELS ARE 3.3V MAX. APPLICATION OF 5V TO ANY I/O PIN WILL DAMAGE THE PROCESSOR AND VOID THE WARRANTY.
ANALOG IN VOLTAGES ARE 1.8V MAX. APPLICATION OF >1.8V TO ANY A/D PIN WILL DAMAGE THE PROCESSOR AND VOID THE WARRANTY.
1) Do not apply any voltages to any I/O pins when the board is not powered on.
2) Do not drive any external signals into the I/O pins until after the SYS_RESETn signal is HI (3.3V).
3) Do not apply any voltages that are generated from external sources until SYS_RESETn signal is HI.
4) If voltages are generated from the VDD_5V signal, those supplies must not become active until after the SYS_RESETn signal is HI.
5) If you are applying signals from other boards into the expansion headers, make sure you power the board up after you power up the BeagleBone Black or make the connections after power is applied on both boards.
In the System Reference Manual you will find reference to Boot Pins. These pins are connected to the expansion header.
If you load or terminate these pins to the point it affects their default setting, the board will not boot.
Powering the processor via its I/O pins can cause damage to the processor.
The expansion headers can be viewed on this Cape Expansion Headers.
Power restrictions on the serial debug header are not an issue. On the board, there is a buffer that prevents damage from occurring by having the connector of the FTDI cable connected to the the header. It is safe to do and will not cause damage to the board when power is not applied to the board.
BeagleBoard home page
BeagleBoard How to Videos
Hipster Circuits
Getting Started on Beaglebone Black
Adafruit Tutorials This site is well worth a visit. You may even decide to make it your home page!
Derek Molloy's Blog
GPIO and Device Tree (Derek Molloy)
C/C++ Introduction on BeagleBone (Derek Malloy)
Hackaday You can also subscribe to this. Should be checked often for the latest cool projects on BeagleBone Black
Interent Sharing On Windows 7
Linuxonarm Wiki
If you have installed a Linux distribution on your microSD you can modify the root file system partition. You are then able to utilize all of the space on your microSD card regardless of the size of the default partition of your given image. Follow the instructions found on Expanding File System Partition on a MicroSD.
Note: The instructions on that page are general and are not guaranteed to work on every Linux distribution.
Bonescript is a Node.js library specifically optimized for the Beagle family, featuring familiar Arduino function calls, exported to the browser. The BoneScript library provides several functions useful for interacting with your hardware. The following BoneScript provides a dozen of hardware demos that interact with the BeagleBone Black.
In the following Terminal Shells page, there are instructions on how to connect to the BeagleBone Black through either a serial connection, SSH using an ethernet cable, or SSH to the BeagleBone's built-in IP address over a USB cable.
MicroSD Card For Extra Storage
HDMI Issues..We have several people having issues getting the board to work with various TVs and Displays. RMA returns have shown no issues.
If you are having issues a separate support page has been set up at HDMI Issues
If you find any issues with any information on this WIKI, please send the information to the discussion forum http://beagleboard.org/Community/Forums.
1) The microSD card cannot be used as a storage device when booting from microSD in the 3.8 kernel.
2) SGX support is not currently provided i the 3.8 kernel.
3) The latest production image 6_20_2013 does not work on Lapdocks.
You can find a list of reported issues and add additional ones by going to Bug Tracker
Here are the known Hardware issues:
Processor is a AM3352 due to the incorrect part being marked as an AM3359.
Does not ship with any cables. Rev A5 will ship with the USB cable.
If you look closely, you will notice some noise in the display. This is due to a termination issue on the board caused by too many connections to the LCD data pins. This will be fixed on the A5 revision.
Serial port can cause the system to crash if there is not a serial cable plugged into J1.
We have been noticing a very small number of boards that are experiencing power issues, where the LED flashes and the board does not power up. We have been chasing this for a while now and due to the small number of boards that have the issue and the fact that the issue can also be caused by having things connected to IO pins not powered correctly, it has been hard to nail down. Our initial take was that it was a manufacturing issue on some boards, but we could never prove that. Based on the latest information we have gathered, this appears to be an instance where the PMIC does not power down the processor in the right order due to the violent removal of the power cables, either USB or DC. So, we are recommending that the power button be used to power off the board or by issuing the Halt command. After that you can remove the power cable. If everyone follows this process, we should see a decrease in these issues, but it will take a while for the results, either good or bad, to show up. This will also help prevent the contamination of the eMMC and the SD cards by allowing the kernel to shutdown properly before power is removed.
Another issue that we have seen is that the power supply when plugged in will create a spike that exceeds the voltage rating of the PMIC or will cause the voltage to drop momentarily. This can occur after power up cycle has started. When this occurs, the PMIC will shutdown. This can cause the processor to be powered down before it is powered all the way up, damaging the processor. It is suggested that to prevent this that you use a well regulated power supply that can handle the current surge of the powering up process.
All boards now ship with the Debian image. The Debian is compatible with all versions of the BeagleBone Black
Building a CNC machine or 3D printer can be greatly simplified with this customized Linux distribution. http://blog.machinekit.io/p/machinekit_16.html
It is highly recommended that you always use the latest version of the Software.
For instructions on updating the Angstrom Software on your BeagleBone Black go to Updating the Software
If you power off the board without using the Power Button to do it, you can corrupt the data in the eMMC Flash.
For instructions on reflashing the Angstrom Software on your BeagleBone Black go to Updating the Software
Software Sources
- Bootloader: http://www.denx.de/wiki/U-Boot/SourceCode (git://git.denx.de/u-boot.git)
- Kernel: http://github.com/beagleboard/kernel/tree/3.8
- Root file system: http://github.com/beagleboard/meta-beagleboard
1) Go to http://github.com/jadonk/beaglebone-getting-started.
2) At the top of the page next to the "Clone in Windows" button, click the ZIP button.
3) Unzip that folder into a separate directory.
4) Open the readme file.
For instructions on how to get Android onto the board goto Android
FreeBSD now has official support for BeagleBone Black: Project Page
If you want to turn your BeagleBone Black into a SNES (Super Nintendo Entertainment System) you can check that out at BeagleSNES
This link is provided as a convenience and the software located at this link is not supported by BeagleBoard.org.
This link is provided as a convenience and the software located at this link is not supported by BeagleBoard.org. Gentoo
This link is provided as a convenience and the software located at this link is not supported by BeagleBoard.org. ArchLinux
This link is provided as a convenience and the software located at this link is not supported by BeagleBoard.org. LinuxCNC
This link is provided as a convenience and the software located at this link is not supported by BeagleBoard.org. Minix
This link is provided as a convenience and the software located at this link is not supported by BeagleBoard.org. CNU
This link is provided as a convenience and the software located at this link is not supported by BeagleBoard.org. Asterisk (Instructions Asterisk on BeagleBone Black).
For information on how to install the latest EZSDK from TI got to EZSDK.
The BeagleBone Network Multitool (beaglenmt) is a lightweight, X11-free, networking-centric, and IPv6-ready server distribution targeting the BeagleBone platform. beaglenmt supports the BeagleBone Black hardware platform.
The links below are static links that always point to the latest version of the listed documents. These links can be used by distributors or users to point to the latest documentation. As documents are updated, the links will remain the same, but the actual file will be updated. This insures that you always have the latest documents and your links will always work.
If you have any questions on these files, contact jkridner@beagleboard.org or
-
System Reference Manual Rev C.1(PDF)
-
Schematic (PDF)
-
Schematic (OrCAD)
-
BOM (xls)
-
PCB Files Rev B6 (Allegro and Gerbers)
-
MD5 Checksum for all files (md5)
-
All Hardware Documents
If you are interested in an Mentor version of the A5C board they can be found at Mentor A5C. These files are provided AS IS with no support.
Mentor has also recently released a PADS version of the board at PADS BeagleBone Black.
Upverter has a version uploaded (unverififed) Upverter BeagleBone Black.
You can find the Solid Works and 3D PDF files provided AS-IS at 3D Models
A GitHub repo is available with all revisions of the documentation - https://github.com/beagleboard/BeagleBone-Black
-
System Reference Manual B (PDF)
-
Schematic B (PDF)
-
Schematic B (OrCAD
-
BOM B (xls)
-
PCB Files Rev B (Allegro and Gerbers)
-
All Hardware Documents B
-
System Reference Manual A6A (PDF)
-
Schematic A6A (PDF)
-
Schematic A6A (OrCAD
-
BOM A6A (xls)
-
PCB Files A6A (Allegro and Gerbers)
-
All Hardware Documents A6A
-
System Reference Manual A6 (PDF)
-
Schematic A6 (PDF)
-
Schematic A6 (OrCAD
-
BOM A6(xls)
-
PCB Files A6 (Allegro and Gerbers)
-
All Hardware Documents A6
-
System Reference Manual A5.6 (PDF)
-
Schematic A5C (PDF)
-
Schematic A5C (OrCAD
-
BOM A5C(xls)
-
PCB Files A5C (Allegro and Gerbers)
-
All Hardware Documents A5C
-
System Reference Manual A5.5 (PDF)
-
Schematic A5B (PDF)
-
Schematic A5b (OrCAD
-
BOM A5B(xls)
-
PCB Files A5B (Allegro and Gerbers)
-
All Hardware Documents A5B
-
System Reference Manual A5.3 (PDF)
-
Schematic A5A (PDF)
-
Schematic A5A (OrCAD
-
BOM A5A(xls)
-
PCB Files A5A (Allegro and Gerbers)
-
All Hardware Documents A5A
BeagleBone capes are add on boards that can be connected to the BeagleBone Black to add functionality. These capes are made by a lot of different companies and individuals.
A list of capes that are in production are listed at BeagleBone Capes.
If you have a cape that is in production and can be purchased and you would like it listed, please contact jkridner@beagleboard.org or the beagleboard@googlegroups.com. More information regarding the Cape Expansion Headers can be found at Cape Expansion Headers.
Most of the current capes will work with the BeagleBone Black at some point. However, the kernel is 3.8 on the BeagleBone Black, so work is required to get the drivers updated for most of the capes to work.
Some may not work or may require some hardware changes due to some differences in the design of the BeagleBone Black as described below.
For a list of the ones that are currently identified as compatible and incompatible, go to BeagleBone Black Capes.
The onboard HDMI driver uses the LCD pins. They are still connected to the expansion header, but in some cases, they could cause an LCD cape to have some noise issues unless the cape has a buffer.
A buffer should take care of this issue. If you want to use these pins as GPIO pins, you may be limited in speed due to the capacitance caused by the loading of the pins by the HDMI driver.
They should function fine in most applications.
The onboard eMMC uses the MMC1 signals. They are also connected to the expansion header.
The expectation is that in order to use these signals, the eMMC device on the BeagleBone Black will need to be disabled by activating the reset line to the eMMC device.
It is not clear that this will work as you have to write to the eMMC first and tell it to enable the reset.
At this point in time, it is not totally clear that the reset line will do the trick. Further investigation is ongoing. This will also require booting from the uSD port.
Best option is to not use the MMC1_CLK and MMC1_CMD signals at all and tie them low.
Do not use these signals for anything else will trying to use the other eMMC1 lines on the expansion header.
The 10 pin power expansion header has been removed. Any cape needing this connector will not be 100% compatible.
ECCN: 5A002A1
CCATS: G141473
If you feel the board is defective and you want to get it looked at go to RMA Request
You will need the serial number. It is located on the expansion header in the form of a white label.
If you purchase a board from an unauthorized distributor, you need to return the board to them for replacement or repair.<br> Shipping to the repair depot is covered by the requester. Return shipping is paid by the repair depot.<br>
- BeagleBone Cookbook: Software and Hardware Problems and Solutions examples
- Exploring BeagleBone: Tools and Techniques for Building with Embedded Linux examples
- Bad to the Bone: Crafting Electronics Systems with Beaglebone and BeagleBone Black examples
- Getting Started with BeagleBone: Linux-Powered Electronic Projects With Python and JavaScript
- BeagleBone für Einsteiger (German Edition)
- Programming the BeagleBone Black: Getting Started with JavaScript and BoneScript examples
- Learning BeagleBone Python Programming
- Learning BeagleBone
- BeagleBone Home Automation
- Building a Home Security System with BeagleBone
- BeagleBone Robotic Projects
- BeagleBone for Secret Agents
- BeagleBone for Dummies
- 30 BeagleBone Black Projects for the Evil Genius
- The BeagleBone Black Primer
- Building a BeagleBone Black Super Cluster
- BeagleBone Black Interfacing: hardware and software
- Mastering BeagleBone Robotics
- BeagleBone Black Programming by Example
- BeagleBone Media Center
- Android Hardware Interfacing with the BeagleBone Black
- BeagleBone Essentials
- Building Network and Servers Using BeagleBone
- Using Yocto Project with BeagleBone Black
- BeagleBone Black Programming using Matlab
- BeagleBone Black Cookbook
- My BeagleBone Black work notes (Japanese)
- BeagleBone Robot Development Guide (Chinese Edition)
- Programming the BeagleBone
- BeagleBone Home Automation Blueprints
- BeagleBone Black Programming using Matlab
- Hacking and Penetration Testing with Low Power Devices
- The Internet of Things: DIY Projects with Arduino, Raspberry Pi, and BeagleBone Black
- Make: JavaScript Robotics: Building NodeBots with Raspberry Pi, Arduino, and BeagleBone
- Embedded Android: Porting, Extending, and Customizing
- Embedded Linux Development with the Yocto Project
- Embedded Linux Systems with the Yocto Project
- Software Engineering for Embedded Systems: Methods, Practical Techniques, and Applications
- Beginning NFC: Near Field Communication with Arduino, Android, and PhoneGap
- Zero to Maker: Learn (Just Enough) to Make (Just About) Anything
- Designing the Internet of Things
- Getting Started with Electronic Projects
- Operating System Design: The Xinu Approach, Second Edition
- Learning ROS for Robotics Programming - Second Edition
- Hacking Your LEGO Mindstorms EV3 Kit
- Motors for Makers: A Guide to Steppers, Servos, and Other Electrical Machines
- Embedded Linux Primer: A Practical Real-World Approach
- Building Embedded Linux Systems
- Linux Device Drivers
- Linux All-in-One For Dummies
- Embedded Operating Systems: A Practical Approach (Undergraduate Topics in Computer Science)
- ARM Assembly Language: Fundamentals and Techniques
- ARM Architecture Reference Manual - may be available as a free download