# What is a pull up and pull down?

Can some one explain this terminology please I think I understand it but not completely sure.

I think pull down is where you place a resistor between +V and the other component and pull up is where you place the resistor between 0v and the component.

If I am completely wrong then let me know!

It's the other way around.

Pull up is where you place a resistor between a signal and +V, pull down is pulling it to ground.

Here, you can see that when the switch is open, in the pullup scenario the input pin will read high, but for pull down it will read low.

• Nice addition of diagrams! – onaclov2000 Dec 2 '10 at 13:31
• And to complement "pull-" (a gentle force), usually something else will force (drag, etc) the line in the opposite direction, e.g. here, the switches. – Nick T Dec 2 '10 at 16:56
• roguescience.org doesn't seem to exist anymore. Could you post an alternate link please? – Everyone Dec 13 '11 at 16:38
• @Everyone Fixed the image. – Dean May 24 '13 at 7:44

The basic function of a pull-up or pull-down resistor is to insure that given no other input, a circuit assumes a default value. But one pulls the line high, the other pulls it low.

Good source to learn: http://www.seattlerobotics.org/encoder/199703/basics.html

• Of course, many microcontrollers contain internal pullups (which may need enabling in software) – Toby Jaffey Dec 2 '10 at 12:31
• Most (ALL?) microcontrollers have some amount of leakage current on their pins. So a floating pin may or may not be pulled high or low by that leakage. The pullup or pulldown resistor lets you override that leakage with a higher and deliberate leakage of your own. Also local transients like electric fields can bias an I/O pin one way or the other without a pull resistor. – user121934 Feb 21 at 17:35

A pullup resistor will be found connected between some signal and v+. A pulldown resistor will be found connected between some signal and signal_ground(0V).

Common uses are where an input to some component requires one of two voltage states to operate reliably but you are driving the input with some component that can only drive a signal in one way. Maybe the input is the gate of a FET, maybe an input to a microcontroller or a logic gate. Maybe the output is coming from an open drain fet or an open collector BJT transistor or maybe you have a situation where many outputs got diode or'ed.

The deal is that the input can deal with the driven signal from the output but when that signal is no longer present, there's a good chance that you now have a situation where the input sees high impedance. Under these circumstances, what signal the input "sees" is unpredictable. It could pick up noise from nearby electrical cables. It could pick up static electricty discharges from nearby etc. The input may end up switching states at undesirable frequencies. Of course usually you don't want the input to be able to "switch" on its own at all. So you pull the signal up or down when the opposite driven signal is idle.

The value of a pull resistor depends on your power budget, the max current/voltage/power the output components can deliver and what voltage/current the input requires to see a steady state that is opposite to the "driven" output state.

Lots of valid points here, examples of what pull-ups are, and certainly you can work out which way is up from them, but I'm going to aim this at the 'explain the terminology' aspect..

The mnemonic that makes sense (to me anyway) is that the resistor is used to 'pull' the pin to some established voltage; so usually one speaks of pulling 'up' toward the positive supply voltage, or pulling 'down' toward ground or a negative supply voltage.

I think your confusion stems from what you're pulling. You may see the resistor between V++ and the output either as pulling down from V++, or pulling up from output/input. The thing is that it is no use pulling V++; it will remain V++ (as long as you don't exaggerate the pull). Likewise you can't pull ground up; it's ground, it's your reference!
Hence the explanation is that you pull the output/input. Towards V++ is up, towards ground is down.

Let me make an attempt in answering a so-commonly-asked question the best I can.

Say we have an Arduino - A and we want to digitalRead a signal from a pin A2. We will later reference Arduino 5v pin as A(5v) and its ground pin as A(gnd)

Let's me make a simple connection below and read the digital INPUT on Arduino Serial console:

Connection 1:  A2 to A(5v) will read 1
Connection 2:  A2 to A(gnd) will read 0


Fact, if we were to add a button B in between to the above simple connections in a pressed-down state nothing will change to the INPUT digits.

Connection 1:  A2 to B(pressed) to A(5v) will read 1
Connection 2:  A2 to B(pressed) to A(gnd) will read 0


But what will happen when the button is released? Will the digitalRead always guarantee to deliver the opposite digit? No! But do we want to? Yes, of course!

To ensure the reversed digit is delivered when the button is released we would need to add a Resistor - R to the above respective connections as follows:

Connection 1:  A2 to R to A(gnd) will give an opposite read 0 when button NOT pressed
Connection 2:  A2 to R to A(5v)  will give an opposite read 1 when button NOT pressed


Now you can finally see the answers for yourself.

a. Connection 1 is PULLDOWN coz Resistor pulls it DOWN to the ground to give you 0 in OPEN state.
b. Connection 2 is PULLUP coz Resistor pulls it UP to the 5v to give you 1 in OPEN state.


Oh wait, now you know why in the PULL-UP the button delivers 1 when open. :)

Happy soldering!!!

These are generally used in digital logic.

As they can have 3 states. They can be on , off and the third state is HiZ (tristate) which is a high impedance state.

The resistor connected to the load and ground is locked down to the low state. This is known as the pull down resistor.

The resistors connected to load and positive Vcc is locked down to the high state. This is known as the pull up resistor.