Arduino overheating with 5V addressable LED strip

arduinoheatled strippower supply

I've got one of those 1-meter addressable RGB LED strips from Sparkfun (link) connected to an Arduino. The Arduino is powered by the recommended 9V DC 650mA power supply through the barrel jack.

According to the Sparkfun website and product video I should be able to power these from the 5V pin (also 1 data pin, and a ground connected). But when I do, the board gets really hot (untouchable). Also, if I try to set all the LEDs to white – they just fade down after a few seconds.

I'm guessing the LEDs are trying to draw too much power from the board? If so, what is the correct way to power both the Arduino and the LED strip (preferably from a single power supply)?

Best Answer

The regulator on the Arduino is a linear regulator, which means that it reduces the voltage by throwing the rest of the power away. At 9V and 650mA, it's throwing away (9V - 5V) * 650mA = 2.6 watts. This is a decent amount of power, and more than the regulator can handle.

Using a switching regulator instead would cause it to make up for the drop in voltage by using less current from the source; a 90% efficient switching regulator would waste only about 5V * 650mA * 10% = 325mW, which is easier for larger packages to disperse.

Look on eBay or DX or the like for a 5V or adjustable DC-DC switching module. Connect the input to your 9V source and the output (set to 5V) to both the 5V input on the Arduino and the 5V input on the LED strip.