mannok
Posts: 63
Joined: Sun Jan 11, 2015 11:19 am

Why is a input GPIO pin so sensitive?

Sat Dec 28, 2019 5:39 pm

According to https://forum.arduino.cc/index.php?topic=454553.0

#4. mentioned
If the input impedance is too high, say 100MΩ, then you'd need only 50nA to get 5V. This would make the input far too sensitive

Yes I know the calculation and this indeed follows the ohms law. However, my question is that in order to make the pin read a HIGH signal, what can the pin control is that "how much current should it draw" but not "how much voltage can the environment apply". From my understanding, as long as the environmental factor cannot provide 5V, then the 100MΩ can never take 5V.

Base on my assumption above, my questions are:
1. How can a high impedance input GPIO be so sensitive if the the environmental factor(volt) cannot be controlled by the GPIO pin? (just like you won't get a 5V circuit from a single 3.7V 18650 battery)
2. is it a truth that environmental factor can make a 5V voltage difference into the high impedance GPIO input pin?

User avatar
rpdom
Posts: 17029
Joined: Sun May 06, 2012 5:17 am
Location: Chelmsford, Essex, UK

Re: Why is a input GPIO pin so sensitive?

Sat Dec 28, 2019 5:58 pm

I think you have a fundamental misunderstanding of how this works.

With the virtual 100MOhm resistance of a GPIO input (it's not really a resistance, it's capacitive, but resistance works for the electrical model), 5V would mean a current of 50nA, not the other way around. It is the voltage that is important. The current flow is minimal - close to zero.
Unreadable squiggle

boyoh
Posts: 1468
Joined: Fri Nov 23, 2012 3:30 pm
Location: Selby. North Yorkshire .UK

Re: Why is a input GPIO pin so sensitive?

Sat Dec 28, 2019 11:09 pm

You are given the option of setting the GPIO
To a impedance level that the processor can
Respond to . In its high impedance state floating
It will not sink or source a working level signal
This being a logic level 0 low or 1 high , So you
MUST set it to a working impedance level by
Setting the internal resistance 50k or using a
External resister of 10k . If you want it to respond
To a logic 1 high you connect it to the 0v rail
If you want it to respond to a logic 0 low you
Connect it to the 3.3v rail
Leaving the GPIO IN/PUT Floating is not allowed
Because it can be influenced be stray signals( Noise)
Regards BoyOh
BoyOh ( Selby, North Yorkshire.UK)
Some Times Right Some Times Wrong

Return to “Beginners”