Author Options:

Arduino getting really hot? Answered

While running one of my projects, my Arduino is getting really hot. It's swtiching somewhere around 14 I/O's really fast (im not sure exactly how fast, but its refreshing somewhere around 2.5 milliseconds each time). The chip gets really warm, and to burning hot in about 20 mins. The project runs fine (I've tested for at least an hour, with no ill effects) but Im just wondering if its normal and/or safe. Also the voltage regulator chip gets really hot if i run the same sketch with a 9v wall wart rated at 350 ma, and also with a wall wart rated 7.5v at 2.14 A (the v-reg on the arduino board doesnt get hot if i run it off USB). Should I be concerned? -Astroboy907



Best Answer 7 years ago

Hey Astroboy,

This is not good but can be corrected:

I see in step 6 that you are directly connecting the arduino pins to the transistor base.  I usually connect the pins through, say, 1k resistors.  The small switching transistors have high enough gain to switch the LED current at these levels.

Also I see in step 7 that you connect the digit selection pins directly to the arduino.  For these I'd use 4 PNP transistors again going through 1k resistors to teh arduino.

This will take the current out of the arduino.  While each pin is rated at 40 mA max, there is a chip maximum that is small, more like 200 mA if I remember correctly.

After these fixes you may still have an issue with the arduino 5v regulator.  To overcome this problem you may need to connect the 4 PNPs I mentioned above not to the Arduino +5 regulated supply but to the unregulated +7.5 volt input from the wall wart.  This takes the LED current off the Arduino regulator and directly to the wallwart which should drive it without getting warm.  You may have to adjust the LED resistors if you do this since the voltage is greater.  A good design should have NO hot parts and should even avoid warm parts where possible!

Best Wishes!

+1 altjhough you need to be careful about sink/sourcing for many processor I/O pins - most prefer to sink than source.

got it running with 1ks through the NPN's. I dont have pnp's, so I just left the display pins connected to the Arduino- they seem to run fine without a resistor. It hasnt gotten much warmer at all (it might have gotten a little warmer, but its nowhere near the temp that it was before) what PNP's do you recommend? Im guessing 2N3906's? I'll begin updating my instructable with new pics and whatnot. You all are a big help :) Thanks!

k i have everything but the pnp's.. i have a few on my next order though. Will do that, then update my 'ible so hopefully no one will make my mistake and therefore eventually fry their Arduino. Testing now

Oh and i see my problem w/ the regulator (at least possibly) is that for like the 7.5 volt wall wart its going to give me a lot more high voltage because it has a light load compared to its potential output- and the 9v is probably trying to give more than its rated for

I am facing similar problem.I have ARDUINO UNO R3 which i always used to connect to a dc 12V=1A adapter but last time when i connected a 9g servo and uploaded sweep code it just started getting really really hot almost enough to give a burn. What is the problem ccan it be corrected.Please Help!! THANKS in advance because i know instructables will definitely do something.Cheers:)

Your drawing too much current through the chip - Either the supply voltage is incorrect (too high ) or your outputs TOTAL more then the chip can support -

You need to refer to the chip data sheet

if each I/O line can source 40ma of current, its outputting a good 480ma at any given time. If the chip itself consumes some current, its taking the full usb supplied 500ma, but since only some of the I/O's are on, its probably giving around 300-400ma at any given time. As long as it doesnt do a thermal shut down or melt itself, im good, and since it hasnt done that (ive had it on for at least 2 hours with only a few seconds break to refresh with some updated code) I think im fine for now. Will keep watching though

There is also a chip total max power - WHY don't people read the chip data sheets??

What are you interfacing to, and how ?


its just my 'ible, the TimeDuino clock. The I/O's go to either transistors, through resistors, to control the 7 segments of the display, 4 go to power each individual digit, and 1 goes to the colon. The atmega seems to be the only chip that gets hot - except for the power regulator on the board (but that only gets hot when i plug in a wall wart)

Ah, if you are doingwhat you told Rick, you are WAAAAAAYYYYY exceding the maximum PACKAGE dissipation, and you WILL kill the chip eventually. That I/O MUST be buffered from the Arduino.


can you explain in simpler terms? I get the package dissipation part (or at least i think i do)
The datasheet says it can run at 80*c, but im guessing thats just the environment temp, not the chip temp :\

First of all, calculate the PIN dissipation - that's Vpin x Ipin.

Then calculate how many pins have that dissipation = N x Vpin x Ipin.....

+whatever the chip uses

= NOT MORE THAN the package dissipation (usually in milliwatts, and I'd GUESS, because I don't know what chip you are using, that it's something like 200mW - 300mW MAX at an ambient of 40C.

It is a complex factor, and hard for a non-specialist to work out.