Arduino Uno R3: Directly supply regulated 5V to 5V pin?
Here's a less formal way to look at it: Providing power directly to the +5V pin is (almost) exactly what happens when the Uno is powered over USB. As USB power is perfectly fine, by design, then your setup should be OK too.
External regulated +5V can be supplied to the USBVCC net just as well, for example by using an USB-B cable.
As per the second question, you should not connect to V_in. NCP1117's output may then become an alternative, competing power-source and this is best to be avoided.
The official stance on supplying power directly to the 5V pin on the Arduino Uno is thus:
5V. This pin outputs a regulated 5V from the regulator on the board. The board can be supplied with power either from the DC power jack (7 - 12V), the USB connector (5V), or the VIN pin of the board (7-12V). Supplying voltage via the 5V or 3.3V pins bypasses the regulator, and can damage your board. We don't advise it.
That being said, supplying regulated 5 Volts to the VUSB connector (not broken out as a pin, AFAIK) should be the way to go: This is how the board is normally powered when running off an USB cable, so evidently the voltage drop is acceptable.
Further, the only voltage drop to the +5V line when taking power from VUSB is the drop across the on-resistance of the FDN340P MOSFET, between 70 and 110 mOhms. For typical operations which do not involve driving high currents off the Uno, a current demand of 100 mA would result in a voltage drop of 11 mV, by a rough estimation.
For a simple way to power VUSB, just liberate an USB cable by cutting it open, and apply the 5 Volts across the VUSB and ground pins.
Not recommended officially
Arduino (the company) does not recommend directly supplying 5 volts in, because:
- The target audience doesn't always understand how the schematic is designed, and as beginners/non-techs, would likey cause something bad to happen, like connecting an unregulated 5 volts to the
5V
line, and blowing things, causing customer service calls/refunds/repairs/etcetera. - Directly supplying 5 volts bypasses the auto-sensing/voltage protection method.
How Arduino's USB/external power selection works
Supplying 5 volts directly is easy. USB power practically does this, as does the ICSP protocol/header. USB has a 500mA PTC fuse on the line, and has a p-channel mosfet, which by themselves do not offer any protection. But there is also the LMV358 labeled U5A
, above that mosfet. It is (half) an opamp, being used as a comparator. If VIN
is detected, and higher than 3.3 volts, the opamp drives the line low, disabling the mosfet, cutting the USBVCC
off from the 5V
line. This makes it so that you can use VIN
and USBVCC
at the same time without problems. Otherwise you would have two power sources competing on the same rail (USB and the 5 volt regulator).
The mosfet has a body diode
It's part of the mosfet construction, internal, and functions as reverse voltage protection, preventing the 5V
power rail from back flowing to the USBVCC
. It is disabled when the mosfet is on, and reversed biased when off.
Warnings
- DO NOT CONNECT USB AND YOUR 5V AT THE SAME TIME!
By inputting a regulated 5 volts in at the5V
pin, you skip the helpful power source selection mechanism. You can just as easily connect your 5 volt in to the USB connector, or between the USB connector and the USB PTC fuse, but that will cause you to have a 500mA limit. If you need more current, you can bypass the fuse, but not the mosfet. - DO NOT SHORT
5V
toVIN
!
The 5 volt regulator in any case, will be just dandy, as long asVIN
is not used.