For a hobby project I’m working with a Beagleboard-XM. Suddenly the board starts to have problems booting up. After much trial-and-error the problem persisted even when changing SD-cards and even when changing the entire beagle! It turns out it was a power problem. The beagleboard-XM should operate on 5V and 1A. However even though my adapter was supplying precisely 5V the board would only work when I applied a little more like 5.2V.
It seems that the beagleboard does not precisely work as specified. I’ve read similar stories about the Raspberry Pi and the Pandaboard as well. Most of these problems seem to relate to the inrush current when powering the USB parts of the board. They cause the input voltage drop which triggers an interrupt on the board upon which it will restart. So the hunt is on for an adapter that supplies 5.2V instead of 5!
I could not find an easy accessible adapter so I ended up hacking one I had lying around. Since this could be useful to some of you, I’ll post how to do it here.
Step 1. Find an adapter with multiple voltage settings
I had variable voltage adapters lying around so I opened one up to see if we could modify it.
Step 2. Open up the adapter and find the resistor that belongs to the 5V setting
It turns out that this type of adapter works as a switching power supply for which a number of different input resistors yield the appropriate output voltage. The input resistors are the ones in a row just above the rotary switch in the picture above. The resistor in my adapter was a SMD 3.3K Ohm resistor for 5V. For the 4,5V setting there is a 3.74K resistor and for the 6V setting a 2.65K resistor.
Step 3. Determine the appropriate resistor value to get the desired 5.2V
Judging by the differences in resistance between the settings, this is not a linear progression. At a guess I think 3.15K would yield approximately 5.2V output voltage.
Step 4. Replace the resistor or else attach a parallel resistor for the same effect
I did not have a 3.15K SMD resistor lying around (I don’t think it even exists). So simply replacing the resistor is not an option. Using the equation for parallel resistance (or the handy calculator): Rtotal = (R1 x R2) / (R1 + R2). We can calculate that putting a 68K resistor in parallel (which I did have) yields 3147 Ohm. Close enough to my estimation of 3.15K for my purposes. So I soldered the 68K resistor on top of the existing 3.3K resistor. This is good soldering practice because the resistor is so tiny. In the picture you can see how small the resistor is. It is no bigger that the tip of a ballpoint pen.
In the pictures below you can see the end result. It sits a little crooked on top of the original resistor. But it should work.
Yay, the multimeter satisfyingly shows almost 5.2V, close enough.
Step 6. Reassemble
I reassembled the adapter and tested it with the Beagle. And, voila the beagle boots reliably and works like a charm without having to attach it to a bench power supply.