Introduction: Beef Up Your Arduino Power
Ever been running something on your Arduino, and the project malfunctions because of a drop in power?
I experienced this with a project called the "Pong Clock".
Under normal circumstances, the Arduino can power the display without major issues.
I found however that when I used the "numbers" mode which puts very large numbers on the display, the number of LEDs that were on all at once would cause the clock chip to stop communicating with the Arduino - resulting in a time of 00:00.
It would sometimes trigger this in the "Random" mode too, causing the random mode display to loop over and over between the correct time and 00:00.
I finally tracked the problem to insufficient voltage. You can't put 5V into a 5V regulator and expect good results.
So I plugged in a 9V power adapter, and all the problems went away.
But it created another issue.
The 5V regulator on the board would get EXTREMELY hot, risking damage to the regulator, which could have resulted in damage to the board.
Fortunately, these regulators (the 1117-5 or "5V 1117") are easy to find and cheap on EBAY. I got 10 for $1.20 Canadian with free shipping.
These regulators can be connected in parallel without extra components.
I simply bent the leads and tab straight down, and soldered it on top of the original 5V regulator with a touch of heat sink grease between them.
At the time of this writing (May 24, 2013) these are item number 130750914480 on EBAY.
They still get hot enough that you don't want to put your finger on them very long, but this drastically reduces the chance of failure and reduces the heat quite a bit when using an external supply over 5V.
I did want a heat sink, but didn't want to solder anything to the live tab of the regulator.
My compromise was to add a heat sink to the top of the upper regulator with regular heat sink grease.
Then there was the issue of how to hold it there. The USB jack shield and the 16MHz crystal were perfect mounting points.
A penny, some heat sink grease, and a bit of solder is all you need.
You may need to turn up your soldering iron a bit to get the solder to stick to the USB shield. I found 350 deg. C worked for me.
Now I have a great copper heat sink - and I'd like to say it didn't cost me a penny, but as you can clearly see, it did!
Secondary Addendum - The best way to reduce / remove regulator stress is to use a 5V supply to begin with, and power the project and run a line back to the Arduino to power it.
When this isn't an option, use power adapters between 6 and 7.5 volts. The more voltage the regulator has to absorb, the hotter it gets. Reducing input voltage dramatically reduces the heat the regulator generates.