Use VIN pin and bypass regulator?

Hey all,

I'm working on a project to create an arduino-controlled turbidostat, based upon the design found here: Evolvinator - OpenWetWare. (Though with many tweaks and changes of my own for the particular setup I need). I'd finalized the circuit and gone ahead to make a shield for my circuit. The shield stacked on top of the Arduino Mega, with a 12v external power source (through the barrel jack) works perfectly fine. However, when I try to stack an Ethernet shield in between the Mega and my pcb, the voltage regulator on the Mega massively heats up; I've searched around and seen that this is a known issue when using the Mega and Ethernet shield on a 12v power supply. The pinch valve and heaters I am using both need 12v, and in my pcb they draw this power from the VIN pin. I'm aware that I could create a new pcb that has a power jack on it and simply use a 9v adapter to power my Mega, but I'm wondering if there's any way to make this work without having to make a new shield. So could anyone help me with one of the below solutions?

  1. I know I can power the Arduino by bypassing the regulator and plugging a regulated 5v into the 5V and GND pins, but what I don't know is if I can still plug 12v into the power jack after doing that and just run the 12v through the VIN pin without regulating it. In short, bypass the regulator but still run a raw 12V through VIN?
  2. I'm using an aluminum metal housing, do you think I could wire it to the regulator casing to act as a heat sink?
  3. I'm reluctant to but I suppose wire a lead each from my pinch valve and heater to the wall adapter itself instead of plugging them into my pcb for power, think this could work?
  4. any other more elegant solution?

Thanks again for all the help, I'd never have gotten this far without this forum, and sorry about the wall of text.

I’m fairly sure you can’t disable the voltage regulator circuit on the Mega without physically cutting traces.

However, instead of creating new custom PCB you could just get a panel mount style 2.1 mm barrel jack and wire it to a 2.1 mm plug. This would be a faster and cheaper way to connect to a 9 VDC source to an enclosed Mega. Then you can wire the 12 VDC directly your custom PCB, just remember to cut the trace(s) to the VIN header pin on your custom board.

If you place you shield between the ethershield and the Arduino, and add a barrel-jack to your shield, you can provide regulation for both the other boards - you just crop the Vin pin between your board and the Arduino so it gets 5V via your board and its regulator isn't active. Provide a large (TO220 package) regulator flat on your board with lots of PCB area to spread the heat or a heatsink - even add a micro fan to aid cooling if there's room.

The ethershield takes 150mA or so, add this to sundry other loads and there will be say 0.2A load. From 12V to 5V the regulator will dissipate 7 * 0.2A, or 1.4W - this is more than the Arduino's on-board regulator can handle without shutting down.

Another option is a small DC-DC converter - these are little switch-mode supplies that are more power efficient than linear regulators.