We use Arduino boards in many of our projects. Most of the time we will power it through the USB port. But, that’s not the only way to power an Arduino. In this article we will learn about the four different ways to power an Arduino UNO board. While making any projects, knowing these techniques will be handy in instances when flexibility with regards to the power supply is required.
1. USB Powered Arduino
The USB port of the Arduino Uno can be connected to an USB device or port that can provide a stable 5V output like a computer or power bank or USB charger, etc. By using the USB cable, you can eliminate the need for an external power source, while debugging if your total circuit’s current requirement is less than that of the computer’s USB port can provide. Not only that, you can use it with any standard power bank which makes your project totally portable. A USB 2.0 port can provide current up to 500mA and it is more than enough for an Arduino UNO.
Depending on the Arduino board, the type of USB connector may vary. For example, Arduino UNO have a USB type B connector, meanwhile, Arduino nano has the UCB mini-B connectors. Here is the USB connector types for all the Arduino boards.
USB Connector |
Arduino Boards |
|
USB Type B |
Arduino UNO, Mega, Uno Wi-Fi |
|
USB Mini B |
Arduino Nano |
|
Micro USB |
Arduino Leonardo, Mico, Nano Every, Nano BLE, Mkr Zero, Due, MKR Vidor 400, Arduino Zero, Nano IoT, MKR FOX 1200, MKR WAN 1300/1310, MKR GSM 1400, MKR Wifi 1010, MKR NB 1500, Nano RP2040 Connect |
|
USB Type C |
Arduino Portenta H7 |
Here are the typical ratings for the USB input.
Specification |
Value |
Voltage |
5V |
Current |
500mA (Typical USB Port Rating) |
2. Using Arduino Power Jack
Arduino Uno and all many other big form factor Arduino boards are equipped with a standard 2.1mm DC power jack. Arduino Uno accepts 7-12V dec through this port and the onboard voltage regulator regulates it down to the required 5 and 3.3V. The centre pin is positive and the outer sleeve is grounded. You can use any 12V AC-DC adapter with proper out voltage and proper connector to power your Arduino board. It is more convenient when deploying your project where it’s not constantly monitored.
You can also use a 9V battery to power the Arduino Uno, with the help of a snap-in connector with a DC Barrel Jack. This will allow us to use the Arduino as a portable device. It’s Really helpful when there is no mains voltage available. And since the 9V batteries are cheap and easily available, this option will help to do projects that are meant to be operated in remote areas.
Here are the typical ratings for the DC jack input.
Specification |
Value |
Voltage |
7-12 (Recommended) |
Current |
800mA |
3. Using the Vin pin on Arduino
You can power the Arduino through the Vin pin. Vin pin supports an input between 7-12V. It is directly connected to the positive rail of the DC barrel connector. Same as the barrel connector Vin pin also utilises all the safety measures onboard.
Here are the typical ratings for the VIN input.
Specification |
Value |
Voltage |
7-12 (Recommended) |
Current |
800mA |
4. Directly Powering the Arduino on 5V pin
Yes, you can directly power an Arduino from a 5V source. But keep in mind that the 5V should be steady and regulated. The 5V pin bypasses all the safety measures on the board, including the fuse, reverse polarity protection, input power select and voltage regulators. So, if the input exceeds the 5V (5.5V maximum) or the polarity is reversed, the board can be damaged. It is recommended to be very careful while using this method. The 5V pin is located between the 3.3V and GND pins.
Specification |
Value |
Voltage |
5V |
Current |
Not Limited |
Is it safe to Power Arduino with 12V and USB cable at the same time?
You might wonder what will happen if we connected the USB supply to the USB port and the 12V supply to the DC barrel jack of the Arduino at the same time. Is it safe? Yes, it is. The Arduino Uno board has a clever design for the power input selection. Here is the schematics of the power section of an Arduino Uno. If you look at this, you can find a power selection circuit that is formed around a comparator circuit based on an LM358 OpAmp. When a supply is present in the DC barrel Jack the comparator circuit will turn off the P-Channel Mosfet, which will cut off the USB supply from the board. When there is no other power input available the Mosfet will be turned on and the Board will be powered from the USB.
How to Power Arduino Boards using a Battery?
If you don’t want your project to depend on the main’s power, you can simply connect a battery directly to the DC barrel jack or the Vin pin, as long as it is within the input voltage limit and it can provide enough current. For example, you can directly connect a 9V 6F22 battery to the Arduino through the barrel jack using a 2.1mm connector or directly to the Vin pin using jumper cables. these are the commonly recommended methods to power an Arduino.
How to Power Arduino boards with a 3.7V lithium battery?
You might have thought that since most electronics nowadays run-on Li-ion or Li-po batteries, can we also power an Arduino with a 3.7V Li-Ion or Li-po battery? As a matter of fact, you can. The Arduino will just work if you connect a 3.7V battery to it. But is it a recommended way? I would say no. Most microcontrollers have a recommended working voltage with respect to the operating frequency. If you want to run an Arduino on a 3.7v cell, it is recommended to reduce its clock frequency, to reduce silicon degradation and performance issue. If you are going to power an Arduino board with an Atmega328P microcontroller, like Arduino Uno or nano, it’s better to run it at a safe clock rate of 8MHz instead of the 16Mhz, which is the normal working clock frequency of these chips. You can find that safe voltage–frequency area for ATMega328P in the below section.
Some boards come with a Li-Po (Lithium-ion Polymer) battery socket that supports this kind of battery natively. For example, MKR boards (except MKR FOX and WAN 1300) come with this feature. For those boards, you can connect the 3.7V battery directly without worrying about the clock frequency.
Can Arduino boards work on 3.3V?
The short answer is Yes. Theoretically, the ATMega328P will work with 3.3V. But its clock speed will be reduced. And not only that at 3.3V the manufacturer recommends using an 8MHz crystal instead of the 16MHz found on the Arduino. Here is the Maximum Frequency vs. VCC curve.
So, if we want to run Arduino UNO on 3.3V, we must reduce its clock to avoid any performance instability.
Power the Arduino with Solar Panel
Yes, you can power an Arduino from a solar panel as long as the voltage and current output are correct. The recommended way is to use a charger to charge a battery from the solar panel and to power the Arduino from the battery. So that even if at night or with low sunlight your projects will work just fine.
In this setup, the voltage from the solar panel is going to the charger module and the charger module charges the battery. Then the battery is connected to the Dc barrel connector or the Vin pin of the Arduino. This setup is good for projects in remote areas where the power source is stable or unavailable. For example, this will be the perfect way to power a 24x7 monitoring station or beacons.
So, what’s the best way to power up Arduino?
The best way to power an Arduino would be using the DC barrel jack or the Vin pin. So that we can take advantage of all the built-in safety features. But depending on your situation or needs you may select whichever option is best for you. For example, in your project there already all the voltage regulation systems are implemented, in that case, you can power up your Arduino through the 5V pin. For a project where the backup is required in case of power failure or if the power is unavailable use the solar panel with battery and charger.
The advanced way to Power an Arduino – PoE
Yes, you heard right you can power an Arduino UNO using PoE (Power over Ethernet). Most network device provides PoE support, which eliminates the need for a separate power source for any device that’s connected to the ethernet port. To use this capability, we will be using the Arduino Ethernet Shield 2 POE module.
PoE Module:
Arduino Ethernet Shield 2:
This will allow us to power our Arduino project directly from any PoE supported ethernet shield. The PoE module is designed to extract power from a conventional twisted-pair Category 5 Ethernet cable.