In Arduino Pro Mini (3.3V) specs indicated the maximal and recommended current per pin, 40mA and 20mA respectively. Does these values means input current (i.e. safe input current Arduino can handle) or output current?

3 Answers 3


It is the amount of current the pin can source or sink when in OUTPUT mode.

That is, the amount of current that can flow from the pin to ground, or can flow from VCC into the pin.

You can understand it better if you learn how a GPIO pin works.

  • So, basically, there's no needs in current limiting resistors to protect the external processor connected to Arduino?
    – minto
    Aug 4, 2017 at 18:59
  • It can be good to include a small series resistance when connecting microcontrollers together in case both have their pins set to output and one is high and the other low.
    – Majenko
    Aug 4, 2017 at 19:01
  • Will the 100 Ohm 1/4 Watt resistors directly soldered on the wires quite adequate for this? While this resistors protects the buffer from being damaged, it also limits the drive strength of the buffer, that may result in degraded operation.
    – minto
    Aug 5, 2017 at 23:25
  • 100 ohm is pretty much perfect. The drive strength reduction is minimal. You are only driving one gate pair at a few (tens of) pF. It would take many times that to affect the kind of frequency signals an Arduino can produce.
    – Majenko
    Aug 5, 2017 at 23:28
  • Incidentally that is exactly what the Arduino uses between the 328p and the 16u2.
    – Majenko
    Aug 5, 2017 at 23:29

Does these values means input current (i.e. safe input current Arduino can handle) or output current?

Depending on your definition of input.

The numbers are the max current that an output pin can provide , either flowing in or out of the pin.

The max current you can force into or out of an input pin is mostly determined by the clamp diodes. Typical a few ma.

  • 1
    The clamp diodes start working at 0.5V above VCC and 0.5V below GND. There is a Application Note AVR182 that mentions that a maximum of 1mA is allowed to push into or pull from an input put of an AVR microcontroller. I use this 1 mA to calculate the maximum input voltage for a voltage divider with two resistors.
    – Jot
    Aug 4, 2017 at 13:30

In datasheet, paragraph 32.1 is stated:

DC Current per I/O Pin 40.0mA

See comments below about the implication. (I will not delete this questions because of the useful comments below from Majenko and Milliways, unless downvoted).



  • 2
    No, it implies both source and sink which are different to input (high impedance) and output (sources and sinks current).
    – Majenko
    Aug 4, 2017 at 11:37
  • @Majenko ... where can that be found in the data sheet? Aug 4, 2017 at 11:40
  • 2
    Input current is not specified (except for pull-up current). DC Input current would be negligible (of the order of nA). Of more significance in a practical circuit would be the input capacitance ~10pF.
    – Milliways
    Aug 4, 2017 at 12:10
  • Well. I mainly worry about max current, mA that will be applied from Arduino output to digital input pins of external chip to which Arduino connected to.
    – minto
    Aug 4, 2017 at 13:27
  • In that case the following table will be sufficient (and more useful in general with the remarks of Majenko and Milliways Aug 4, 2017 at 21:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.