When planning the power supply for a project a common question is how much current can I draw from an Arduino? The current you can draw depends on where you are drawing it from the board. On the other hand, regardless of where you’re drawing it from, all of the current you draw add up to the maximum that your power supply can offer :
- 400mA on USB (the fuse on the board will trip at 500mA). This is also a limit to the usb port.
- Around 900mA from a good qualify external power supply (limited by the regulator on board).
This budget also includes what the Arduino itself draws, which can vary depending on what you’re running on it and how it’s powered. 25mA should be a safe bet, but since it depends on the features you are using, the best way to know is to measure it with your program running (which is also true of the other devices you want to use.
If you need to have the USB plugged in for debugging, but also need the extra current from the barrel jack, you don’t need to worry about not having the current you need. The Arduino will switch to the barrel jack as a power source if enough voltage and current are coming in.
I also like to use my benchtop power supply to test if a given power source will be enough: you can set the power and maximum current that can be drawn, and see how much of that current is really used by your project.
Finally, the maximums discussed here are for the Arduino Uno R3 (Rev 3) and the Arduino Uno Wifi Rev2. If you have another Arduino board, you’ll need to look at the datasheet for your board to make sure the values are the same.
Drawing power from an I/O pin
For an Arduino Uno, the recommended value in the datasheet from a single I/O pin is 20mA. Those pins are meant for logic signals, and not for components with large power requirements. Also, the total that can be drawn from all the pins on the board is 200mA.
The board and the pin will be damaged if you go over 40mA, which is also documented in the datasheet. This gives you some safety margin: you shouldn’t have any problem if you stick to 20mA and below.
Powering components from the 5V or 3.3V pins
There are three different pins that handle power on the board:
- The Vin pin, which is the 5V input that will go through the regulator on the board. This means that you can supply voltage safely through this pin if you don’t want to use the barrel jack or USB. On the other hand, devices should not draw their power from that pin since they won’t be protected by the regulator.
- The 5V pin, which is meant to supply power to components after it has been regulated by the onboard regulator. If you supply power using this pin, you bypass the protection that the regulator offers. You can draw from this pin the maximum current available: 400mA with a USB port or 900mA with a power supply, minus what is used by the board and the other pins.
- The 3.3V pin, which takes its power from the 5V pin. Since it’s also after the regulator so it can be used to power devices safely at 3.3V On the other hand, this pin can only handle 50mA.
So, if you need to power various components, the 5V pin is your best option if it can supply enough power. If you need even more than that, you’ll need to consider an external source of power for those components that’s not linked to the Arduino power supply and leave the Arduino to do what it’s the best at, controlling the logic of your project.