Beef Up Your Arduino Power




About: Just getting into the microcontroller craze. I used to do this sort of thing building circuits for 8 bit microprocessors back in the early 80s, so this is kind of like reliving a bit of my childhood. Back th...

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.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Fix It Contest

Participated in the
Fix It Contest

1 Person Made This Project!


  • Made with Math Contest

    Made with Math Contest
  • Multi-Discipline Contest

    Multi-Discipline Contest
  • Robotics Contest

    Robotics Contest

27 Discussions

Thanks for the tip! I have never heard anyone suggest that depending on what you have added that an std. external 12 Volt wall wort could create an issue.

I have had a problem with a digital temperature display just dyeing on me after several hours. I am using a 16 x 2 LCD display with back light. I recently moved it to a new location and for some reason picked up a 5 Volt USB charger that I think came from my tablet used through the USB port. Rated at 2 Amps. I just realized that since I moved it and used the 5 Volt supply I have not had a problem in weeks! Now I think I know why. I can imagine the trouble I would have gone though chasing this kind of random failure on future projects because

"If 5 Volts is good 12 Volts is better!" NOT!!

Thanks for answering my problem and for preventing me from chasing ghosts in the future. Kudos to you sir. LOG (lazy old geek)


5 years ago on Introduction

Would the below description be a highly regulated (voltage/heat) choice?

12Vcomp-fan<5V_Regulator(W/ heat sink)<then Arduino power

Where: fan feeds from 12V which then feeds the 5Vregulator (steps down) which then feeds the Arduino.

Another question: How efficient would a peltier be if I used the heat generated from the regulator to run a small fan for cooling. Given the current needed to run the small fan isn't greater then the output of the peltier.
2 replies

Reply 5 years ago on Introduction

Your best bet is to simply use a good 5V source.

In most cases, just power your project off the 5V source, and run power back to the microcontroller from there, rather than trying to power the project through your on-board regulator.
For most people here, adding a peltier would increase the current draw of the project by a factor of 10 or more, with the fan itself representing a negligible part of that.


Reply 5 years ago on Introduction

TY,I was hoping by creating some heat more in turn create more energy but it seems ohms law still grasps that thought or regeneration.

watts/heat created is almost always a loss in power.


6 years ago on Introduction

I would like to add as a side note that NOT ALL REGULATORS can be hooked up in parallel like this. Always do your research before attempting this. Also, it's usually a better idea to simply get a higher current regulator in a situation like this. I did it this way because (1) I could, and (2) these regulators are extremely common and dirt cheap, and (3) I had to get the regulators anyway for another project. These are handy little devices to have for any project that requires a steady 5V that you want to power off a 6 or 9 volt pack.

5 replies

Reply 5 years ago on Introduction

One thing I've started doing, instead of taxing the regulator on my 2 Duemilinova's, Uno, & MEGA-2560, when using a 12V source (off a slightly modified ATX supply), I use a heavily heatsinked LM7809 regulator. (TO-220 case, Heatsink is 3" X 1.5" X 1/4" Thick).. The sources of the 7809's? I went through a LOT of my old computer gear, boards, and found several old 8-bit & 16-bit SoundBlaster cards had the 7809 as a regulator for the amplifier.. I've used them for Arduino projects, and charger step-downs for an old Sylvania Netbook (7", ARM based) and a portable DVD player, off the same ATX supply.) Whenever I whip-up an arduino circuit, I'll use an old 3.5" floppy power connector, to run a mini-molex plug from the supply, to 4 pins on a breadboard, plug the regulator in nearby, running wires from GND & +12V, then a pair of sacrificed pin leads to a coaxial connector. This way, I can run servos off the +5V on the supply, without overloading the +5V regulator on the Arduino.


Reply 5 years ago on Introduction

A better plan is to take the 5V line off the power supply, and drive the 5V line directly on the board rather than using the 2.1mm power jack.
Better yet, if you have a heavy-draw circuit, put the 5V into the circuit itself, and run a 5V line back to the Arduino to run it.

Although, kudos for a great idea. If I had to make 5V from a 12V battery, this would be the way to go. Reducing the voltage going into the 5V regulator dramatically reduces the heat it produces.


Reply 5 years ago on Introduction

I've had the 7809's get warm, going from 12, down, when charging devices. (usually charging things with a 7.2V battery, but also reduced when going through the circuit to be charged.) (Hence the big heatsinks I've added.) I'm still tinkering with the idea of possibly bending the +5V pin out from the Ethernet board, and hard-wiring a line from the +5V output from the ATX supply.. (letting that supply the 3.3V regulator.) But, seeing the schematic of the more recent R3 ethernet shield, It looks like it has more than one, 1 going through the SPI plug.)


Reply 5 years ago on Introduction

Well, charging something can draw a LOT of current.
You're better off just starting with 5V to begin with, and power the most hungry board, and run feeds from that to the other circuits.
Anyway, best of luck with your adventures.
So far my arduino has been able to drive any and all shields I toss on it, and if I keep the input below 7.5V, the heat is nothing to worry about.


5 years ago on Introduction

I'd still be careful doing this.. The lead between the Vin header pin & the coaxial connection is thin.. Draw too much amperage and it will break like a fuse. (this coming from someone who accidentally shorted the pin to GND. Was no fun, re-bridging it with wire.)

However, This might also be an answer, for those who who've noticed, when you connect any of the Ethernet boards, the 5V regulator gets pretty hot. (even though it's drawing the 5V down to 3.3, the draw really gets the regulator loaded up powering the WZ5100.) Almost makes you wish you could wire a LM7805 TO-220 in parallel, w/a heatsink.)

1 reply

Reply 5 years ago on Introduction

Actually, the main thing that will heat the crud out of your regulator is too much voltage in.
I find that at 6 to 7.5V in, you generate very little heat even when loading it down pretty well.
put in 9V - heat-o-rama.
And forget 12.
The more voltage the regulator has to sink, the more heat it generates under even the lightest of loads.
My advice to any and all is to keep the voltage going into the regulator relatively between 5.5 and 7.5 volts. This was something I hadn't learned yet when I made this instructable. I keep the penny on mine though because I think it's a great conversation starter.


6 years ago

I really like this I'm going to have to try it soon

1 reply

I can't measure the draw properly without lifting the regulator off the board.
I can measure what just the display draws on the 5V line, or I can measure what the regulators are drawing from the 9V supply, but without lifting a leg, I cannot measure what's being drawn from the 5V regulator.


Reply 6 years ago on Introduction

Ah that's to bad as that may give some clue as to what is going on.
The reason i ask is 768 LED's seems like that may be more that the Arduino could handle easily. If you want try running off the USB and see what happens. Also looks like you are not in favor of a second power supply but that should eliminate the regulator problem on the Arduino. The Arduino pins are rated at 20mA. Is it possible 768 LED's are pulling more current than this?


Reply 6 years ago on Introduction

The LEDs are not drawing current from the Arduino's I/O pins.
Although several LEDS are on simultaneously, and the greatest quantity are on when the numbers are large, for the most part the LEDs are rapidly sequenced rather than solidly on. It was while running off the USB that I was having the problems, which is why I switched to the external supply, which is when I discovered the issue. The 5V regulator isn't used at all when running off the USB connector. If you draw too much current off the USB, the voltage simply starts to drop, and if it hits about 3.3, then the clock stops sending data.
I am curious why you would want to be continuing to try to solve the problem which I have already solved though. The fix works. Period. Not only that, it's a great idea for people that don't have a second supply option such as those that may be running multiple shields and running into issues when running off the USB and overheating the regulator with an external supply.