Power architecture for +5V rail

I'm currently planning wiring for Arduino Mega based Quadcopter. The quad peripherals (Gyro, Sonar, GPS, XBee, etc) draw quite a bit of power so I most likely need an external 5V regulator as the one built on the Mega isn't rated for that much current.

The electronic speed control I'm using to drive the engines contains a +5V regulated output which I meant to use as the +5V rail for both the peripherals and the Arduino itself but when I measured the different +5V outputs the ESC +5V reported 5.28 V whereas the Arduino regulated +5V reported 5.02 V. The relatively large over voltage of the ESC made me think twice about using that to power Arduino through the +5V pin.

Most 5V devices, including the Atmega2560 on the Arduino, seem to be rated for maximum of 5.5 V voltage so I'd guess the 5.28 V would still be safe. So now I've got two options:

  1. Power up Arduino with 11 V through its own regulator and everything else with the 5.3 V available through the ESC
  2. Power up everything with the 5.3 V available through the ESC, skipping Arduino's own regulator.

Obviously the 1st option would be safer but what does this do in the case Arduino receives 5.3V through the IO pins? Say my Accelerometer is powered by the 5.3 V line and its interrupt pin is wired straight to an Arduino IO pin. When the Accelerometer raises an interrupt it pulls the interrupt pin to 5.3 V which is higher than Arduino's supply voltage.

The 2nd option would involve powering the Arduino through the +5V pin which is not recommended. As far as I've gathered this isn't recommended because it skips the internal regulator and has no safeguards against over voltage. In this specific case I'd be supplying regulated 5.3 V voltage, which while high should still be within allowed limits.

  1. IO should be no more than 0.5V above VCC. So 5V & 5.3V are okay.

  2. Power via 5V pin is okay, connect a diode from 5V (anode) to Vin (cathode) so regulator is not reverse driven.

Hey,

Thanks for the info! Should have figured out the max voltage for the IO pins was specified somewhere.. >.>

I drew up the followings designs based on the original plans and the recommended diode:

(Click for larger image)

The +5V -> Vin diode confuses me slightly though. Would the regulator be reverse driven even if the Vin was unconnected and thus the IN of the regulator was floating?

Also when I'm looking at these two schematics now I realize there's one major functional difference:

Powering the Arduino through the +5V pin means sharing the +5V with the external components. When the Arduino is plugged in to a computer with an USB cable, the +5V from the USB ends up powering the external components. This would allow testing the system without having to power the external components with a battery. Although at the same time if the Arduino is powered up using the +12V battery, the +5V rail will have 5.3V voltage and thus it'll run roughly 0.3V reverse voltage through the USB cable.

So with USB cable it would be more convenient to go with the 2nd option which shares the +5V with the external components but this would also cause extra strain on the USB host when the system is battery powered. Although I don't imagine that reverse voltage of 0.3 V would be that dangerous.

Am I missing any other details and more importantly does anyone have an opinion on which one of these two designs is better? Having a separate +5.0V regulator for the Arduino feels safer but being able to power the peripherals with USB instead of having to plug in battery every time is a big benefit as well. So currently I'm pretty torn here. :~

At the moment I'm thinking of finalizing the PCB design with the diode in place and a jumper connection from the +5.3 V rail to the +5V pin of the Arduino. In the case the Arduino is powered through Vin the diode shouldn't affect the system at all (as long as the breakdown voltage is greater than 12V anyway).

USB only sources 500mA, is that enough for your external device testing?

Should be. Quick calculations give 385mA peak and 87mA continuous power consumption for the 5V peripherals (Gyro, GPS, Magnetometer, Barometer, Range finder, XBee) - and that is dominated by the 215mA/55mA XBee which isn't strictly required when the Arduino is plugged in by cable. Throw in 25mA for the Arduino itself and it's still well below the 500mA.

Of course the full copter includes more power hungry components such as the electric motors, but these aren't running off the 5V rail and thus wouldn't be powered up when using only the USB cable. I don't want the thing revving up on the floor next to my feet anyway :slight_smile: