# What is the maximum current for each I/O pin?

### Question

As far as I know each I/O pin has to keep around 20mA, what are the consequences of going higher or lower? But if I am using all I/O pins is there a maximum current value I should keep in mind? For example, the sum of all currents in all pins should not be greater than 100mA.

• The 20 mA is a recommended MAXIMUM current per pin - you should always try to use less current. There is no problem sinking or sourcing 5 mA, or even 1 mA per pin. Nov 21, 2016 at 0:45

This comes up as first result when Googling your question:

And can be confirmed by page 313 and 314 of the datasheet:

To know where each pin is connected to (on the Arduino Uno) you can look the official (messy) schematic.

I provide an excerpt below that shows the Vin and 5V pins at the headers, and the power barrel connection.

If you want to control a 12V motor or a 12V LED strip or other DC loads you can use the following (which is also easy to find using Google):

*Note that your 12V Gnd and Arduino Gnd have to be connected.

simulate this circuit – Schematic created using CircuitLab

• What means the "sink"? English not my first language so I not getting this. By the way is 150 mA total by each of that red square or both together?
– Vitor Costa
Nov 20, 2016 at 23:53
• "Sink" means that the Arduino is conducting current IN from the pin down to ground. "Source" means that the Arduino is sending current OUT of the pin. It is MUCH more common to use the chip to SINK current rather than SOURCE current. Nov 20, 2016 at 23:53
• Either way, you shouldn't be coming close to those values, as Richards answer says: if you need to drive significant current, you should use an external device. Nov 20, 2016 at 23:56
• @WesleyLee how do I safely get external power? For example I have here some batteries already in serie that gives me 7.2V and a 9V one. Can I just connect and Arduino regulate it for me?
– Vitor Costa
Nov 20, 2016 at 23:58
• Many questions do not work as "general purpose question". You are asking about details that are DIFFERENT depending on which model Arduino you are talking about. Nov 21, 2016 at 0:22

The power limits per pin and per chip are listed for each model (based on the Atmel chip). You can look up the Atmel chip number and see the power ratings. For example, the chip may have a maximum of 40mA per pin, but a total of 200mA for everything on the chip. These numbers are just examples. The actual numbers depend on which Arduino and which chip you are talkng about.

Remember that microcontroller chips are NOT designed to SWITCH any significant amount of power. That is NOT the job of the microcontroller. Its job is to CONTROL external devices (transistors, thyristors,SSR, relays, etc.) which do the actual "heavy lifting" of switching larger amounts of power.

Your last question really does not make any sense. Can you clarify it?

VCC is the name of the main power bus and input to the microcontroller chip. It may or may not be 5V depending on which Arduino you are talking about. The older ones were 5V, but newer chips (including those used in Arduino) are tending more to 3.3V.

• See edit. It is Arduino Uno. So when do I use vcc?
– Vitor Costa
Nov 21, 2016 at 0:01
• You use VCC whenever you want the Arduino to actually operate. VCC is the main power source to the Arduino. Your question seems very strange. Nov 21, 2016 at 0:04
• Omg sorry, did remove this strange question, I am truly sorry. I mean the Vin pin and the correct and safe way to use it!
– Vitor Costa
Nov 21, 2016 at 0:11
• The published specifications for Uno say that Vin can take 6~20V, but the recommended is 7~12V. Please read the official details at: arduino.cc/en/Main/ArduinoBoardUno They will answer almost all of your questions Nov 21, 2016 at 0:15
• Sorry for one more noob question: if I supply 12V with Vin, will arduino regulate them for pins and they still at 5V?
– Vitor Costa
Nov 21, 2016 at 0:23