I noticed that pull up resistors are much more common than pull downs, why?

For example, the Arduino's MCU has internal pull ups but these tend to invert the physical logic of things you are working with (such as working with switches) whereas a pull down resistor would do the same job and avoid the logic issue.

  • 1
    \$\begingroup\$ The only reason you think of it as inverting is because you think of 1(logic high) as on. Why does 1 need to be on? There is a reason, and someone will go into the transistor reason, but just something to think about. \$\endgroup\$
    – Kortuk
    Oct 11, 2011 at 0:54
  • 2
    \$\begingroup\$ @Kortuk blasphemy! \$\endgroup\$
    – kenny
    Oct 11, 2011 at 1:02
  • 2
    \$\begingroup\$ Kortuk's got a point though. 1's and 0's are just symbols, and you can write programs to work either way. Just because billions of power switches are marked '1' for ON doesn't mean it has to be so. \$\endgroup\$
    – JustJeff
    Oct 11, 2011 at 1:06
  • \$\begingroup\$ In fact because billions of power switches are marked '1' for ON it DOES mean it has to be so for clarity sake. UX has to be consistent ;) \$\endgroup\$
    – Kromster
    Oct 11, 2011 at 8:52
  • \$\begingroup\$ Yeah, I'd prefer if a power switch actually gave me some power when turned on, but that's just me... \$\endgroup\$
    – Lundin
    Oct 11, 2011 at 15:18

4 Answers 4

  • TTL has a threshold between low and high that is closer to ground than to the positive rail, so it is better when the stronger transistor pulls the output down against the relatively weaker resistor.

  • In general ground is presumably a better (e.g. more stable) reference voltage than a power rail.

  • You can use open collector/drain outputs as voltage converters, if you connect the resistor to the positive rail of the target voltage.

  • The ancient resistor transistor logic even used this as its working principle throughout.

That said, some microcontrollers have configurable internal pull-ups and pull-downs, e.g. the NXP LPC1xxx.

  • 2
    \$\begingroup\$ Another observation: An external switch (or other) input connection which has one side tied to ground and the other side tied to VDD via 47K pullup and to an input via another 47K resistor will expose the internals of the device to damage far less than would a connection which has one side tied to VDD. \$\endgroup\$
    – supercat
    Oct 13, 2011 at 3:41
  • \$\begingroup\$ @supercat Almost ten years later, but I don't understand why. \$\endgroup\$ Mar 10, 2021 at 9:22

This stems from the TTL era. Floating TTL inputs are seen as high, no pull-up needed.

enter image description here

So you could just connect a switch between the input and ground. Later, with the advent of CMOS the switch position was kept, but the floating input (switch open) left the input undefined, so a pull-up was added.

  • 2
    \$\begingroup\$ I often still see microcontrollers that have higher current to drive an output low then output high. \$\endgroup\$
    – Kortuk
    Oct 11, 2011 at 17:41

There are a lot of open-collector and open-drain outputs, which require a resistor in order to drive logic inputs. These almost universally switch the output to ground; I'm not sure if there are any open-drain type outputs that pull the output to the positive rail. Besides, given the choice, ground is the better rail to pull to, since it's conventionally the voltage reference for the rest of the circuit. Also, if you're not driving a logic input but switching a load current, any resistor present has more to do with limiting load current than with pulling up a voltage.


We can take a high impedence point to logic 1 (Say it is 5V) by just pulling it up (possibly through a high impedance) to VCC. But pulling dowm the same point may not make the point to GND potential. A good quality zero logic means that it has low impedence sinking capacity.

Suppose you made a switch using an NPN transistor, and the base is pulled up. And now you have a logic circuit, which has an input and a single output. Here you can never turn off the circuit using a pull down resistor, you can turn the switch off only by directly connecting the input terminal to GND. So we can't say a pulled down terminal is logic ZERO.

But finally it depends on the type of logic that we use.

  • \$\begingroup\$ Please do not post text as code. Your post still has some content problems, but it's much more readable this way. \$\endgroup\$ Oct 12, 2011 at 16:31

Your Answer

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

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