# does INPUT_PULLUP uses power?

When using a digital pin as input, one has the option of using the internal arduino resistor, which is connected to VCC; that is setting the digital pin as INPUT_PULLUP, and then the pin reads HIGH. Does this uses electricity?.

I mean the resistor is connected directly to VCC and I presume electricity is constantly flowing through the system, no?. as oppose to having the pin as just INPUT?

• I presume electricity is constantly flowing through the system - only if there is a load. With no load there is nowhere for it to flow, except as leakage current, as Ignacio Vazquez-Abrams said. Commented Oct 6, 2015 at 3:27
• You can measure the current when using INPUT_PULLUP. https://hackingmajenkoblog.wordpress.com/2016/08/12/measuring-arduino-internal-pull-up-resistors/ I measured mine on a 3.3v 328p 8mhz and I calculated it to be 0.108ma
– A.W.
Commented Mar 24, 2018 at 14:46

Only the leakage current on the input itself is constantly consumed if there is no external connection. This is usually much less than the waste caused by having the input floating.

If a voltage between 0.8 V and 2 V is applied to the input for a prolonged period of time, this situation becomes critical and should not be ignored, especially with higher bit count and more dense packages [...]. For example, if an 18-bit transceiver has 36 I/O pins floating at the threshold, the current from VCC can be as high as 150 mA to 200 mA.

• There is not really a load applied to the pin with the INPUT_PULLUP. I am using only for a push button, for a counter. Commented Oct 6, 2015 at 4:35

The pullups have a value between 20k and 50kOhm. If the input is connected to ground (button pressed), between 0.1mA and 0.25mA is flowing through the resistor. So bare anything.

• What happens if the switch is open? Does it use power?
– Basj
Commented Nov 14, 2019 at 17:39
• @Basj basically; no current will go though the resistor when the switch is open. Though I found out there is a tiny amount (1 µA max) of leakage current Commented Nov 15, 2019 at 16:18

See Deviation of power consumption between datasheet and real world? - there we established that leaving the pins input consumed considerably more power than input_pullup. That was with the pins not connected to anything.

• Is there a typo here or am I reading wrong? You said leaving pins as INPUT is more than INPUT_PULLUP, but your experiments show 0.35 µA for INPUT and 1.25 µA for INPUT_PULLUP
– rfii
Commented Mar 26, 2021 at 15:42
• @rfii Yes, I did say that, and indeed it contradicts what I wrote. However as a general principle you are not supposed to leave chip inputs "floating", and configuring for input, with nothing connected, does that. You would probably get variable results depending on what noise was present near the inputs. I should probably re-measure the examples I gave on the quoted page. Commented Mar 26, 2021 at 22:51
• Thanks your website is very helpful in how it tests everything so orderly
– rfii
Commented Mar 27, 2021 at 4:24