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.

<p>Just wanted to comment and say as a DIY newb, this was a very helpful conversation to read, particularly from SuperTech-IT. I was shocked that with a ~11.6V clean wall wart, that I could not run an Ethernet shield on top of an Uno, as the voltage regulator is getting so hot that eventually the shield just dies (LEDs go out, not working). I'm reading about ~300mA current draw with just Uno+Ethernet shield. What it means is that I cannot provide a 12V input to a sensor, which I was going to pull from the input using another shield (the Security Sensor shield from freetronics). At least, not with this regulator. With USB she's as cool as a kitten, unreal.</p>
run your 12V to the shield, and put a 5V regulator on it and feed that 5V back to the processor.
<p>Thank you! I don't have the hardware expertise to know how to practically do this right now (where to mount the barrel jack/regulator on the shield, for example), but I will do some research, and after trying some things, will post some results here and (most likely) ask you for some of your expertise :)</p>
If the project requires a voltage more than 9 volts, I recommend connecting a switching regulator to it. Don't use the built in regulator.
<p>The project didn't require 9V. 9V input simply allowed the necessary current at 5V out of the regulator.</p><p>If the project itself required over 9V, or if the only power supply I had was 9.5 or more volts, I would have used a KIM-055L regulation module like I designed my 3D RGB Cube PCB to use.</p>
Aah. I see what you meant.<br><br>I guess this is what happens when i speed read through something. I miss something then when I post a comment that doesn't exactly go with the Instructable, then I end up looking lile a dumbass XD
<p>You can't speed read an instructable - and if you do, then commenting is a bad idea. If you find yourself about to comment on an instructable, take the time to read it fully and do your best to understand it. You'll get much more from the site that way while greatly reducing the likelihood of sounding foolish or off topic. This is why we take the time to explain everything as fully as possible. If it were meant to be skimmed over, we would post a project synopsis rather than fully explaining them. Hopefully your experience here will serve as a lesson for others that happen past here and read this. Instructables can be a very informative and rewarding place to be if you take the time to let it.</p>
<p>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. </p><p>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 </p><p>&quot;If 5 Volts is good 12 Volts is better!&quot; NOT!! </p><p>Thanks for answering my problem and for preventing me from chasing ghosts in the future. Kudos to you sir. LOG (lazy old geek)</p>
<p>Would the below description be a highly regulated (voltage/heat) choice?</p><p>12Vcomp-fan&lt;5V_Regulator(W/ heat sink)&lt;then Arduino power</p><p>Where: fan feeds from 12V which then feeds the 5Vregulator (steps down) which then feeds the Arduino.</p><blockquote>Another question: How efficient would a peltier be if I used the heat generated from the regulator to run a small fan for cooling. <em>Given the current needed to run the small fan isn't greater then the output of the peltier.</em></blockquote>
<p>Your best bet is to simply use a good 5V source.</p><p>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.<br>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.</p>
<p>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.</p><p>watts/heat created is almost always a loss in power.</p>
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.
One thing I've started doing, instead of taxing the regulator on my 2 Duemilinova's, Uno, &amp; 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&quot; X 1.5&quot; X 1/4&quot; Thick).. The sources of the 7809's? I went through a LOT of my old computer gear, boards, and found several old 8-bit &amp; 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&quot;, 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&quot; 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 &amp; +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. <br>
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. <br>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.
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.)<br>
Well, charging something can draw a LOT of current.<br>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.<br>Anyway, best of luck with your adventures.<br>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.
I'd still be careful doing this.. The lead between the Vin header pin &amp; 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.) <br> <br> 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.) <br>
Actually, the main thing that will heat the crud out of your regulator is too much voltage in.<br>I find that at 6 to 7.5V in, you generate very little heat even when loading it down pretty well.<br>BUT<br>put in 9V - heat-o-rama.<br>And forget 12.<br>The more voltage the regulator has to sink, the more heat it generates under even the lightest of loads.<br>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.
I really like this I'm going to have to try it soon
Please VOTE for it then at https://www.instructables.com/contest/fixit2013/ <br>Thanks!
Whats the current draw of your circuit?
It varies a LOT depending on how many of the 768 LEDs are on at once.
I can't measure the draw properly without lifting the regulator off the board. <br>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.
Ah that's to bad as that may give some clue as to what is going on. <br>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?
The LEDs are not drawing current from the Arduino's I/O pins. <br>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. <br>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.
Topic over <br>
LOL...Sorry if I came off a little harsh...I am still miffed about that guy that called it a lame hack I think... <br>I understand you probably had a bit of a time understanding what was going on without actually seeing what I was using as an example - but it was just that, an example. I've seen people stack shields 5 high, and I can bet those guys run into voltage drops too. Although these regulators can handle up to 800mA with about a 1.5V drop, they should have a heat sink once you hit about 350mA. The display alone in my example draws 330 on it's own without the Arduino. I'm pretty happy with this modification, and I really hope it helps a lot of other people who experience malfunctions due to voltage drop. <br>I'd like to point out that I would probably generate less heat if I were to use a 6V power supply as well, but then I'd need a higher current adapter. If you have any other questions, please feel free to ask.
To clarify: <br>On external power, the regulator got REALLY REALLY hot, but the voltage never dropped, and everything ran fine. <br>. <br>On USB, the voltage would drop to the point of malfunction. <br> <br>Solution - reduce strain on the regulator for less than 15 cents. <br>DONE.
While your at it (soldering) , adding a small square of copper sheet to the &quot;tab&quot; connection will act as a heat sink to get rid of the heat.
I thought of that, and probably would have done that if the tab was Ground, but on these units, the tab is the 5V output which presents a risk I was unwilling to take if a stray wire was to happen to contact the heat sink on the tab.. <br>I might consider it later if I get a coated piece of heat sink material. <br>I do thank you for bringing that point up, however I didn't want to give anyone the idea to do that because of the same reason I didn't do it. I may later on just spray paint or lacquer a piece of copper and do that later.
ADDENDUM: <br>I did find a way to add a copper heat sink without making it live to the tab. <br>Photos and an addendum have been added to the project. <br>Thanks for suggesting copper - that is what lead to my low-cost addition to the project. <br>Works well too!
If even the added regulator is getting hot doesn't that mean the pong display is still drawing too much power through the arduino? The arduino itself is being stressed with too much of a power drain. Maybe a better circuit design or display driver direct to power is called for.
It's only the 5V regulator that is being &quot;stressed&quot; and regulators get hot - that's just a fact of life, and the reason you usually see them attached to heat sinks if they are not surface mounted. There's a difference between hot, and WAY TOO hot though, and this is just a way too beef up the Arduino's on board regulator so that you can power more things from it without the fear of damage (or at least not nearly as much of a fear). It's like having a chain that is capable of lifting 800 lb, and you need to lift 1500lb - so you use 2 chains to do the job. Yes you are still close to the (now) 1600 lb limit, and the chains will be &quot;stressed&quot;, but not to the breaking point. This specific project I was using as an example for a reason to beef up the Arduino's regulator has 768 LEDs on it, and most people aren't going to encounter a project that draws that much current. Under lesser loads, the regulator pair will run much cooler than just the single regulator, just as the 2 chains will be much less stressed under a 650 lb load. <br>The other option would be to build a 5V power source for the display panel itself in which case you'd be using a couple of these regulators anyway in most cases. The main reason for doing it my way is so that you can have a single power input for the entire project, Once you move the project to a printed circuit or prototype board, you can put in a much better regulator at that point. For me, I like not having to have 2 power sources when debugging, creating or modifying a project that's hooked up to the Arduino.

About This Instructable




Bio: 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 ... More »
More by SuperTech-IT:8X8X8 3D RGB LED Cube Arduino 8 A.C. Outlet (plug) Timer / Vampire Killer One Part $1 Computer Security Power Lockout 
Add instructable to: