Arduino Mega Power Woes

Hello folks,

I have been using the Mega for a couple projects here recently, mostly for the mutliple UARTs. We built a board controlling small LED arrays running off a second power supply (using transistors). Upon powering the logic of the unit and programming it with USB, everything worked beautifully. The external supply connected to the shield separately and drove the meatier current to the LEDs. However, when powering the device with two power supplies (one for logic, one for LEDs), the unit runs smoothly for around a minute and then begins to reset about every 3 seconds.

Again, when powering this with USB, it works great and there's no overcurrent notice happening.

But when logic has an external supply connected (through the standard Mega barrel plug), the board gets very hot and appears to be failing through the regulator.

Just a bit stumped by this. I've been looking over the board design eagle files, and everything seems on point. I've done this before with a standard Arduino without problem, so I'm curious as to what could be causing the issues (and if its a flaw I don't see in the Mega design).

I can send on an image of the schematic if necessary.


Here's a snapshot of the schematic as well, (Keep in mind, the 12V going to the transistors is an electrically separated current line from a second barrel plug).

Is your "barrel plug" supply for the Mega also 12V? Are you sure it's DC (there have been others who mistakenly inserted an AC adapter)? Did you measure the actual voltage? Most unregulated wall transformers will drive quite a bit higher than their rated voltage unless loaded down with their max. current, meaning the Mega's voltage regulators are going to drop from a fairly high voltage down to 5V and get pretty hot, explaining your behavior.

And did you connect the grounds between the two power supplies together?

Well the fact that the board works fine when using USB power kind of isolates it to the external power module and the internal voltage regulator. A 9 volt external power would be preferred to keep heat dissipation away from the Arduino's 5vdc regulator. It's too bad that the Arduino design doesn't utilize a switching regulator but that is one of the trade-offs made to make it a affordable design. It would be useful to know what the current draw is being supplied by the external power so we could make a guess at the total heat dissipation that the regulator is under. The regulator will protect it's self but only by turning off and that will generate random resets.


Well, I've contained the situation by using a regulated 5V switching supply connected directly to the 5V pin, bypassing the regulator altogether.

What's strange about this, is I've done almost exactly what I've done on this board, in other boards before without this extreme heat and power down issue. Perhaps the MEGA's overall layout size accounts for an increase in overall amperage, more pins running more sourced potential.

Anyway, problem solved, but its still a bit of a mystery why it doesn't perform the same as a regular Arduino does.

Thanks all, J

Anyway, problem solved, but its still a bit of a mystery why it doesn't perform the same as a regular Arduino does.

Well again the unknown is the amount of current being used. Now that you are using an external +5vdc power supply can you measure the current that is being consumed by the mega board? This shouldn't be a big mystery, just engineering calculations when all the variables are known.


Well, the problem is clearly the transistors, as they have a base draw of about 100 mA. Since their are 9 of them, and 8 of them are active 90% of the time, this is almost an amp of regulated current through the regulator, which would make it hot without question.

The mystery I keep speaking of, however, is that I've built this exact same circuit with the exact same transistors for a regular Arduino, without an overcurrent problem. Just seems peculiar that the Mega would handle this differently.

Oh well, all fixed now. Thanks for the replies!

It seems very strange that if your design is drawing that much current that it works when powered by the USB port as you stated in your first post, which is limited to 500ma max. It sounds like you are either not using current limiting base resistors for your external transistor switches, or are using too low a value for them?


Hence the mystery!