The BeagleBone Black is my own personal favourite among the single-board computers that I have used. So much so, in fact, that recently I decided to buy myself another one. Given the relative age of these devices, they are easier to find on the second-hand market than through retail channels, it seems. This, combined with their seemingly not so great track record when it comes to not booting, makes it increasingly likely to find yourself with a non-booting BeagleBone Black.
Whatever way you got your BeagleBone Black, there are some simple steps that you can take in order to check whether your device is actually dead or may just be suffering from bad SD-card contacts when your device is not booting. This short guide will skip over the basics and dive straight into it, so if you’re unsure about a device or technique mentioned, make sure to read up on it.
Check the User-LEDs
The User-LEDs located next to the Ethernet-port of your device are the first indicator of a device that is not booting. Under all official Linux-flavours available for the BBB User-LED 0 will show a kernel heartbeat when the Linux kernel has been loaded. The pattern is quite recognizable: It should be about the same as the rythm of your heart, give or take some BPM. If this LED is flashing, it means that your device is at least functional in so far that it starts Linux and if you have trouble connecting, you should look to your Ethernet or USB-connection instead.
When no kernel heartbeat is visible but either two or all four of the LEDs are lit, this means that U-Boot is active and trying to boot. This may fail due to SD card reading errors or possibly corruption of the data on the eMMC. In any case, if this is what you see, the device should work just fine once you supply it with a freshly imaged SD-card.
Check the Power
If the User-LEDs are not lit, check the Power-LED. This LED should be on as long as the device is active: It will only turn off if the device has shut itself down or if the device has been badly damaged by improper use, like too high an input voltage. Unlike an Arduino the BBB is not capable of handling more than 5V on the power input port!
If the Power-LED is lit on your board, you can go ahead and check the voltages at the various test points on the board. TP5 should read about -270mV, TP6 should read 450mV and TP7 should show you 2.25V. These voltages may be a bit off depending on your particular device, but more than 5 to 10% is definitely a sign that something is not right in the power circuitry. Make sure to check with a separate power supply (make sure to remove the USB cable if you have it plugged it!), as most USB cables aren’t great quality and the voltage at the BeagleBone will be lower than the standard 5V USB voltage you might expect it to be.
Check the Serial Port
If the voltages are fine but the User-LEDs remain off, it is time to get out a serial-to-USB adapter. Make sure that it uses 3V3 logic levels, as the BBB won’t take kindly to 5V on its logic pins: If your BBB is still alive, chances are it would be broken after. Connect only RX, TX and GND to the 6-pin header next to the P9 IO connector and power your BBB separately. If the BBB is attempts to boot, then you should see a C printed to the serial console at 115200 baud. If you do not see anything on the serial port, then it is a safe bet that your device is broken.
If you do see the C on the serial monitor, however, then you device is just not able to find the proper data on the SD card or eMMC to boot from it. The eMMC may become corrupted after long periods of no usage, so make sure to try out an SD card as well. If the SD card doesn’t work, you can try to carefully bend the pins of the SD card slot a little bit more towards the board, so that the contact between the SD card and the reader is good. This is actually what did the trick for my new BBB. You may also try to clean the contacts with a soft brush and some isopropyl alcohol (at least 96% so you don’t damage anything).
If even that does not work, then it is likely there is some more serious issue at play, and I am out of suggestions. If you do find a way to revive your BBB from a different type of issue, make sure to share it somewhere so that others may keep their devices going for as long as possible as well!