View Course Path

Arduino Uno Power Supply Schematic – Arduino hardware core subsystems

In this article, we are going to take an in-depth look into the Arduino Uno power supply subsystem. It is important to understand the power supply routes on the Arduino so that we can properly leverage the onboard facilities to optimize the overall power sourcing of our projects.

Related:

The article could get a bit technical for beginners, but I still recommend that you go through it. I have formatted the article in a way that would help all kinds of readers find what they are looking for.

We can divide the Arduino Uno power supply subsystem into two main parts. The first part is the system that generates the 5V that is required for the microcontroller to run. And the second part is the system that manages power supply when we connect more than one power inputs to the Arduino. (Yes the Arduino can be powered in multiple ways). The latter system is also responsible for generating the 3.3V onboard voltage.

So, two main parts

  1. Voltage Regulator subsystem – This is the part that generates 5V.
  2. Multiple Input Management subsystem – This is the part that manages multiple inputs.

Let’s take a look at the official schematic to locate our Arduino Uno power supply subsystem.

Arduino Uno power supply subsystem
Arduino power supply schematic (Click to enlarge)

We will start with the first part.

Voltage Regulator Subsystem of the Arduino Uno

This is the part of the Arduino Uno power supply subsystem where stable and constant 5V power is generated. This 5V is required by the microcontroller, Arduino shields and other necessary components on the board.

Understanding the hardware of the Voltage Regulator Subsystem

The 5V supply is produced by a low drop-out (LDO) voltage regulator. Voltage regulators take in input, step it down and give stable DC output. In the process of stepping down, the difference between output and input radiates off as heat in normal voltage regulators. So we have to factor this loss into designing our circuits.

But on the Arduino Uno, we have a low drop-out voltage regulator. It dissipates less power in the form of heat. Thus allowing us to have an output that is very close to the input. Basically, you can get a 5V output even if the input is as low as 6V. Let us take a look at the schematic of this subsystem along with the physically mounted positions of the components.

Arduino Uno - voltage regulator subsystem power supply-min (3)
The Voltage Regulator Subsystem cross-referenced with actual component placing on the board

Understanding the connections of the Arduino Uno voltage regulator subsystem

The rectangular block on the left, titled X1, is the barrel connector. The barrel connector needs a constant DC voltage supply in the range of 6-12V. The barrel connector also needs to have a certain kind of polarity as shown below. The center should be positive, and the outer covering should be negative, or in our case, GND.

barrel connector polarity arduino uno-min
Your AC-DC adapter should have this symbol printed on it

The barrel connector is connected to the diode D1. This is a safety mechanism. The diode ensures that if you use a barrel connector with a different polarity than the one specified, the reverse polarity supply doesn’t get into the system and you don’t fry up your board.

We can access the power that we input at X1 at the Vin pin on the power expansion rail. You can use it to power any other external components in your project.

The diode is connected to the LDO voltage regulator. The voltage regulator converts the input to 5V. Subsequently, this signal powers up the Arduino Uno board. The 5V generated here can be accessed at the 5V pin on the power expansion rail.

There are two electrolytic capacitors and a ceramic capacitor. These capacitors are known as bypass capacitors. We use these capacitors to remove any stray AC ripples and give a clean noise-free DC output.

Working of the Arduino Uno R3 Voltage Regulator Subsystem

The input supplied at the barrel connector passes forward only if the polarity is correct, it can be accessed at Vin. Moving along, the input signal passes through the LDO voltage regulator and along with help from the capacitors a clean and stable 5V is obtained.

Arduino Uno working of the voltage regulator subsystem
The path taken by the voltage applied at the barrel connector

Let us now move on to the second part of the Arduino Uno power supply subsystem

Multiple Input Management Subsystem of Arduino Uno

If the barrel connector is supplying power to our Arduino project and we decide to update the program or get some values from the sensors on our screen, we can just plug-in the USB cable and do that without having to remove the AC-DC adapter.

Behind this ease of use, functionality is a very intuitive circuit that makes a split-second decision to ignore the power from the USB port, keep its data line intact and keep drawing power from the barrel connector.

The Arduino Uno obviously cannot accept both inputs. Because without some management in place, that would lead to a surge in voltage. And this would damage the board. So there is a selection mechanism present. This is the multiple-input management subsystem.

Arduino Uno multiple input management circuit op-amp comparator-min
The Multiple Input Management Subsystem cross-referenced with actual component (op-amp, Arduino power MOSFET, and 3.3V regulator) placing on the board

Understanding the hardware of the Multiple Input Management Subsystem

The selection mechanism discussed above is hardware-based. We use a comparator to select the most apt power supply for the board. The comparator on the Arduino Uno is (an IC) a digital electronic device that compares two inputs and then drives the output to either 5V or ground (In our case).

Comparator

A comparator is an operational amplifier that compares between the inverting and non-inverting inputs and tries to balance them. It is a very fast decision-making circuit. Considering the symbols of the op-amp shown below. If the non-inverting voltage is greater than the inverting voltage, the output goes to +V. If the inverting voltage is greater than the non-inverting voltage, the output goes to -V.

OP_Amp_Symbol

 

What is the function of the Arduino p MOSFET?

The output of the comparator is connected to an Arduino p MOSFET. The MOSFET acts as a switch. And depending on the output of the comparator it makes the decision to either get its 5V from the comparator or the USB power line.

The output of the Arduino p MOSFET then connects to the 5V line at the output of the LDO voltage regulator (not shown in the above diagram) and to the onboard 3.3V regulator.

We’ll see the working of the MOSFET and the role it plays in the Arduino Uno power supply system below.

Working of the Multiple Input Management Subsystem

The comparator is given two inputs. Vin from the barrel connector and 3.3V from the onboard voltage regulator. The Vin, before it connects to the comparator, goes through a voltage divider circuit. The voltage divider circuit divides the Vin voltage to exactly half of its original value.

So if Vin = 6V, then Vin at the comparator’s input will be 3V. If you want to draw power from the barrel connector, Vin should be greater than 3.3V so that the comparator decides in its favor. Hence Vin should be at least 6.6V.

If Vin > 3.3V, the comparator is driven to 5V and the Arduino P-MOSFET turns off (open switch) to allow power to flow in through the barrel connector.

Arduino Uno multiple input management edited 2
Vin (Non-inverting) > 3.3V (Inverting). Hence the output goes to +Vcc.

If Vin < 3.3V, the comparator is driven to GND, and the P-MOSFET turns on (closed switch) to allow power to be sourced from the USB port.

Arduino Uno multiple input management edited 1
Vin (Non-inverting) < 3.3V (Inverting). Hence the output is -Vcc.

The Arduino MOSFET acts as a switch here and sources the right power supply. It either supplies power from the USB connection. Or it supplies power from the barrel connector, keeping the serial communication part of the USB intact. The output from the MOSFET is fed to the onboard 3.3V regulator. This regulator then generates the 3.3V that we can use. In this way, the comparator-MOSFET duo handles multiple power inputs, and we have one less thing to worry about.

Conclusion

In this article, we have seen the wiring of the power expansion rail. It should also help you answer the question of how is it possible to have the barrel connector power up the Arduino and simultaneously attach a USB cable to transfer data to the Arduino microcontroller. With this, we wrap up the Arduino Uno power supply subsystem.

11 thoughts on “Arduino Uno Power Supply Schematic – Arduino hardware core subsystems

  1. Good article overall. Here is something to check:
    – “Because that would lead to a surge in voltage. And this would damage the board.” -> No, the voltage will not add up and surge, just the higher voltage will dominate and try to bias the lower voltage source and thus may damage it.
    – “If Vin > 3.3V, the comparator is driven to 5V and the Arduino P-MOSFET turns on to allow power to flow in through the barrel connector.” -> No, the p-MOSFET turns off and disconnect the USBVCC node from the +5V node. Thus +5V node is supplied only by the barrel connector voltage even though USBVCC is present.
    – “If Vin No, the p-MOSFET turns on and connect USBVCC node to +5V node and +5V node is supplied by USBVCC. This happens when barrel connector is not connected (thus Vin = GND) and the Uno is powered by USB connector.

    1. – Oh yes that’s true. That’s why I said “would”. But you are right, the sentence structure is not apt. I have corrected the sentence to say that this is something that would have happened if there was no selection mechanism present.
      – Good catch! Thanks! It has been updated for more clarity.

  2. Can you please explain how comparator get 3.3V from the onboard voltage regulator. Since onboard voltage regulator require input for regulation which is again an output from comparator

    1. The power management circuit as a whole won’t kick in until you have multiple power sources to manage. Assuming that we have atleast one power source driving the board at all times, we can say that 3.3v is being continuously generated and is available at the comparator whenever the power management circuit needs it. Hope that answers your question!

          1. hi there, thanks for your reply. Is Enhancement P-MOSFET conductive (source-drain terminals) when there is no biasing voltage? Let’s say the arduino is not connected to any power sources initially, is the Enhancement P-MOSFET conductive? If it is not conductive, when we first connect the USB to the arduino, how can the USB current/voltage pass through this Enhancement P-MOSFET to the 3.3V regulator? Please advise. (Have done some research and still cannot find an answer)

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.