pull up resistors and pull down resistors..

Do anybody have sound knowledge ?can even help me with some good links.. :grin:


How about this http://www.thebox.myzen.co.uk/Tutorial/Inputs.html

I volt this one http://www.thebox.myzen.co.uk/Tutorial/Inputs.html It has real " sound knowledge"

Nice site Mike

Do anybody have sound knowledge ?

Very simple: they are there to "fix" the bus to a default logic / voltage level, and the fix can be easily overwhelmed by an output.

dhenry: Very simple: they are there to "fix" the bus to a default logic / voltage level, and the fix can be easily overwhelmed by an output.

but not so easily flipped/overwhelmed by random noise :)

Here's how i Think of it...

Your job is to look at a stream, if it's flowing with water, it's "on" or "1", if it's dry or very little water, it's "off" or "0"

So just precisely do you put down if it's neither of these 2 states? if it's flowing slowly and only a little water? 0 or 1?

well that's the problem at the reviving end.

the idea of the pull up, is to keep that stream always constantly flowing so that the detector can see a high signal. the idea of the pull down, to keep the voltage at 0, to keep it from flowing, so the detector can clearly see (detector being you i might add in this analogy) the flow of water.

Without the resistors, it will float in between neither high voltage (5v) or low voltage (0v) the resistor just allows the detector to do it's job properly without false readings.

Many beginners to electronics/arduino/microcontrollers do seem to struggle with the why for the need of pullup/pulldown resistors as used for arduino digital input pins. I think the basic problem is that in the software/logic world a signal is either a 1 or a 0, there is no other valid input state, but in the real world of electronics a digital input pin on a arduino, with nothing wired to it, does not know if it should be a 0 or a 1. It must therefore be wired such that in all cases at all time (like when a button is both being pressed and not being pressed) that there is always an electrical path to a voltage that is either 0 volts DC or +5vdc DC. A no connection is not a zero voltage, rather the input pin is just floating around in the world of the undefined.


In the old days of TTL logic an unconnected input floated high and pull ups were used as part of good design practice. The down side was that pulling down needed a very low resistor about 330R was the biggest that would work. Now with CMOS that doesn't happen and you NEED to use pull ups. But pull downs can be in the order of 10K and still be effective.

thank you guys for your help :)