Is a buck converter the solution to a resetting mega?

Hello experts,

I have a 7-segment backpack display and a piezo buzzer connected to 3.3V on a mega. Also running 4 LEDs off pins 3-6.

When I power the mega with USB from a laptop, no problems. But when I power the mega off a 12V 1A wall wart, the mega spontaneously resets after a few minutes.

Am I trying to draw too much current from the 3.3V pin and triggering a reset? The voltage regulator gets hot to the touch.

I think the correct solution to this problem is to use a Y-cable from the 12V wall wart to power the arduino and a buck converter, and then power the 7-segment and buzzer off the buck converter.

Does this sound like it would work? Thanks.

Your solution should work.

The reset is caused by overheat protection of the 5V regulator. The excessive heat can be reduced by a reduced current, as you suggest, or by reduced voltage on Vin or direct power by a 5V supply.

The 3.3volt regulator on a Mega can only supply ~150mA, and is powered from the 5volt rail.

The 3.3volt regulator has nothing to do with the rest of the board.
The Mega will keep on working if that regulator would overheat and shut down.

The 5volt regulator is bypassed on USB power, but it is used on an external supply.
12volt to 5volt is a big drop, and it can only deliver 200-250mA with that input voltage.
Since the Mega is already using ~70mA for itself, there is not much left to power a display.

So I think the 5volt regulator is overheating and shutting down.
Try a 7.5volt or 9volt regulated supply on the DC socket, or a 5volt cellphone charger connected to the USB socket.

Not sure why you power a display from the 3.3volt pin.
That could also create logic level problems.
Post a link to the display.
Leo..

DrDiettrich:
or direct power by a 5V supply.

Thanks for the advice. My understanding was that minimum recommended power supply for the Mega is 7V, so are you talking about powering the Mega with 5V through USB?

Wawa:
Not sure why you power a display from the 3.3volt pin.
That could also create logic level problems.
Post a link to the display.

It's one of these from Adafruit: Adafruit 0.56 4-Digit 7-Segment Display w/I2C Backpack - Yellow : ID 879 : $9.95 : Adafruit Industries, Unique & fun DIY electronics and kits

I think the rule of thumb for these is 20mA per segment, so any more than a few segments and clearly I'm over my mA budget. I'll try offloading the display and buzzer to the buck converter and report back.

jrodda:
I have a 7-segment backpack display and a piezo buzzer connected to 3.3V on a mega.

Why would you imagine it is appropriate to power a backpack specified for 5 V, from 3.3 V?

Or for that matter, a buzzer?

jrodda:
I think the correct solution to this problem is to use a Y-cable from the 12V wall wart to power the Arduino and a buck converter, and then power the 7-segment and buzzer off the buck converter.

This whole system, unless there is some part you have not revealed, operates from 5 V. The most sensible way to power it is using a regulated 5 V supply. The most readily available form of these nowadays, are phone chargers costing a few dollars each, most are rated for 2 A.

The regulator on the UNO, Mega 2560, Nano and many other versions, is not suitable for powering anything other than the microcontroller itself and a few LEDs. If you reduce the load by powering it at 7 V, then it can power a few more LEDs. But you have problems. If powering it from an unregulated supply, then the minimum voltage must be 7, but the maximum may be a lot more, so you cannot draw so much current. Powering it from a regulated adapter makes little sense as if you have a regulated power supply, you would power it at its native 5 V. If what you have is a 12 V supply and a suitably rated "buck" converter, that will do just fine.

In short, the on-board regulator is there for experimenting with programs and demonstrating things with a few LEDs or sensors that draw very little current. It is not suitable for serious applications.

For up to 500 mA or so, you can feed 5 V into the USB connector but it has a safety fuse in series. Generally speaking, you simply connect your regulated 5 V supply to the 5 V terminal and ground and also connect it to all the other 5 V modules. For a final implementation you connect it by soldering. The Arduino does not really supply 5 V power to anything else, you supply power to it. There are limits on how much current you can draw from the microcontroller itself so it will never require more than 500 mA from either the USB socket or the 5 V pin.

Thanks Paul, that's a detailed and comprehensive answer to my question. I wish I'd known this stuff a week ago.

I had been thinking that it was OK to drive all kinds of loads willy-nilly off the 5V and 3.3V pins, but clearly that's not the case.

Paul__B:
In short, the on-board regulator is there for experimenting with programs and demonstrating things with a few LEDs or sensors that draw very little current. It is not suitable for serious applications.

I'm going to print this statement out and hang it over my workbench.

Yeah, this is getting to be my hobby horse lately, but it is germane to just so many enquiries. :grinning:

Update on this project: the buck converter solution worked! The Mega is no longer overheating and shutting down.

Thanks everyone for your advice.