Pull-up and pull-down resistors are likely to be found in any digital electronic circuit. As with any microcontroller in an embedded system (e.g., Arduino), it uses I/O signals to communicate with external hardware devices, the most well-known of which is GPIO. And if your GPIO pins aren’t connected, your application will read a “floating” impedance state, which we don’t want. We’ll need to use pull-up or pull-down resistors in our digital circuit to obtain either “high” or “low” states.

What Are Pull-up Resistors?

Pull-up resistors are resistors that are used in logic circuits to maintain a consistent logical level at a pin under all circumstances. As a reminder, there are three logic states in digital logic circuits: high, low, and floating (or high impedance). When a pin is not pulled to a high or low logic level, but instead left “floating,” it enters the high-impedance condition. An disconnected input pin on a microcontroller is a good example of this. It is neither in a high nor low logic state, and the microcontroller may interpret the input value as a logical high or logical low in an unpredictable manner. Pull-up resistors are utilised to solve the microcontroller’s dilemma by bringing the value to a logical high state, as shown in the diagram below.

The MCU’s input would be floating when the switch is open and brought down to a logical low only when the switch is closed if the pull-up resistor were not present.

Pull-up resistors are essentially fixed-value resistors linked between the voltage supply (usually +5 V, +3.3 V, or +2.5 V) and the corresponding pin, which define the input or output voltage when there is no driving signal. The value of a typical pull-up resistor is 4.7 k, but this might vary depending on the application, as we’ll see later in this article.

What Are Pull-down Resistors?

Pull-down resistors function similarly to pull-up resistors, but they pull the pin to a logical low value. They are connected to the device’s ground and the corresponding pin. The following diagram shows an example of a pull-down resistor in a digital circuit.

pull down resistor Pull-down resistor

A pushbutton switch is connected between the supply voltage and a microcontroller pin in this diagram. The microcontroller input is at a logical high value when the switch is closed, but when the switch is open, the pull-down resistor pulls the input voltage down to ground (logical zero value), preventing an undefined state at the input. The pull-down resistor must be greater in resistance than the logic circuit’s impedance, or the voltage will be pulled down too much, and the input voltage at the pin will remain at a constant logical low value — regardless of the switch position.

Typical Applications for Pull-up and Pull-down Resistors

When connecting a switch or other input to a microcontroller or other digital gates, pull-up and pull-down resistors are frequently utilised. Because most microcontrollers include programmable pull-up and/or pull-down resistors, they require fewer external components. It is feasible to connect a switch directly to these microcontrollers. Although certain microcontroller families feature both pull-up and pull-down resistors, pull-up resistors are utilised more frequently than pull-down resistors. They’re frequently employed to deliver a regulated current flow into a resistive sensor before the sensor’s output voltage signal is converted from analogue to digital.

Another example is the I2C protocol bus, which employs pull-up resistors to allow a single pin to function as both an input and an output. The pin floats in a high-impedance condition when not linked to a bus.On outputs, pull-down resistors are employed to provide a known output impedance.

Ideal Resistance Values for Pull-up and Pull-down Resistors

In choosing the value of the pull-up resistor, there are two considerations:

  • Power dissipation

The input pin is pulled low when the button is pressed. The value of the resistor near the supply determines how much current flows from VCC to the button, then to ground. If the resistance value of the pull-up resistor is too low, a large amount of current will flow through it. Even when the switch is turned off, the device will heat up, causing excessive power use. This condition is called a strong pull-up and should always be avoided when low power consumption is a requirement.

  • Pin voltage when the switch is open

The input pin is pulled high when the button is not pressed. The voltage on the input pin is controlled by the pull-up resistor’s value. The input voltage can become insufficient when the switch is open and a high pull-up resistance value is paired with a substantial leakage current from the input pin. This is referred to as a weak pull-up. The exact value of the pull-up resistor is determined by the input pin’s impedance, which is directly related to the pin’s leakage current.

Based on the two conditions listed above, you should select a pull-up resistor that is at least 10 times less than the input pin impedance. The average pull-up resistor value for logic devices operating at 5V should be between 1 and 5 k. The average pull-up resistor value for switch and resistive sensor applications, on the other hand, should be between 1 and 10 k.

Pull-down resistors should always have a higher resistance than the logic circuit’s impedance. Otherwise, it will draw the voltage down too much, resulting in a constant logical low input voltage at the pin, regardless of whether the switch is on or off.

How to calculate values for Pull-up and Pull-down Resistors

We’ll need to calculate the real values of several pull-up or pull-down resistors in digital logic level circuits ranging from 2 to 4.7k. We’ll utilise the formula in Ohms law, where R = Voltage/Current or, in short, R = V/I, to determine resistance for a typical resistor.

Calculating actual values for pull-up resistors

The source voltage minus the minimum voltage regarded as high is the voltage for pull up resistors. The current refers to the maximum current that the logic pins can sink.

Formula for calculating actual value for pull-up resistors:

  • R pull-up = (V supply – VH(min)) / Isink

Calculating actual values for pull-down resistors

The formula for pull-down resistors is slightly different, but it’s still based on Ohms law. The current refers to the highest current sourced by the digital pin, whereas the voltage is known as logic Low.

Formula for calculating actual value for pull-down resistors:

  • R pull-down = (VL(max) – 0) / Isource


Here, in this blog we have discussed about the Pull up and Pull down resistors in details.

Leave a Reply

Your email address will not be published.