Pull-Up Resistor Circuit
A pull-up resistor connects a signal line to Vcc. When the output device is off (open), the resistor pulls the line to a logic HIGH. When the device actively sinks current (pulls low), it overcomes the resistor to bring the line to logic LOW.
R_min = (Vcc – V_OL) / I_OL — ensures the device can sink enough current to pull the line LOW.
Pull-Up Resistor Calculator — What It Does
A pull-up resistor connects a signal line to the supply voltage (Vcc) so the line reads logic high when no device is actively driving it low. Without it, a floating digital input picks up noise and causes erratic behaviour. The calculator above takes your circuit parameters — supply voltage, output low voltage, sink current from the data sheet — and returns the safe resistance range, a recommended standard resistor value, and the power dissipation.
Calculating Pull-Up Resistor Values
Minimum Pull-Up Resistor Value
The resistor must be large enough that when the output pulls the line low, the current through the resistor does not exceed the device’s maximum sink current rating. Using Ohm’s law:
VOL is the output low voltage and IOL(max) is the maximum sink current, both from the data sheet. A resistor with a lower value than Rmin forces too much current into the output, preventing it from holding a valid logic low. For a 5 V supply with VOL = 0.4 V and IOL = 8 mA: Rmin = (5 − 0.4) / 0.008 = 575 Ω.
Maximum Pull-Up Resistor Value
The resistor value needs to be low enough that input leakage currents do not drag the voltage level below the high input threshold:
VIH(min) is the minimum input voltage the logic gates recognise as high. Ileakage is the total input leakage from all inputs on the line. With a 5 V supply, VIH = 2.0 V, and 1 μA leakage: Rmax = (5 − 2.0) / 0.000001 = 3 MΩ. In practice the maximum pull-up resistor value is kept well below this — typically under 100 kΩ — to maintain noise immunity and fast rise times.
Optimal Resistor Value
The calculator picks the geometric mean of Rmin and Rmax, then snaps to the nearest E12 standard value. This gives a balanced trade-off: low enough current draw for power efficiency, high enough current to pull the line to a solid high voltage level quickly. For most 5 V or 3.3 V digital circuits, 10 kΩ is the go-to value. Faster buses or higher-load lines may need 1 kΩ to 4.7 kΩ to meet timing requirements.
Pull-Up and Pull-Down Resistors
Pull-Up Resistor
A pull-up resistor ties the signal to Vcc. When the switch is open (or the open-collector output is off), the voltage source pulls the input to a high logical level through the resistor. When the switch is closed (or the output turns on), the output device sinks current and pulls the line low. The pull-up resistor prevents the input from floating — it ensures the line always sits at a defined voltage level.
Pull-Down Resistor
A pull-down resistor works the opposite way: it connects the signal line to ground, holding the input at logic low by default. When an active-high source drives the line, it overrides the pull-down and brings the voltage up. Pull-up and pull-down resistors both ensure a defined logic level on a digital input — the choice depends on whether your default state needs to be high or low.
Pull-Up and Pull-Down Resistors Explained
Open-Collector and Open-Drain Outputs
Open-collector outputs (bipolar) and open-drain outputs (CMOS) can only sink current to ground — they cannot source current to drive the line high. A pull-up resistor is required to drive the output to Vcc when the transistor is off. Multiple open-collector outputs can share the same pull-up, creating a wired-AND bus: any single output can pull the line low, and the line only goes high when all outputs are off. I2C is the most common example — using open-drain devices with external pull-up resistors on SDA and SCL.
When using open-collector outputs, the pull-up resistor value directly controls the rise time and current draw. A low value (e.g. 1 kΩ) gives faster edges but draws more current when the output is active. A high value (e.g. 100 kΩ) saves power but slows the output. The calculator helps you find the optimal value that satisfies both the sink current limit and the required rise time for your specific voltage and bus speed.
Input Considerations for Digital Circuits
Logic Gates and Microcontroller Inputs
Every logic input draws a small leakage current. CMOS inputs draw very little (nanoamps), so Rmax can be large. Bipolar TTL gates draw more (up to 40 μA per input), which limits Rmax significantly. If multiple inputs share the same pulled-up line, multiply the per-input leakage by the number of inputs to calculate the resistance required.
Many microcontroller pins include internal pull-up resistors (typically 20–50 kΩ). These work for low-speed signals and simple switch inputs but are often too resistive for open-drain buses or noise-sensitive lines. External pull-up resistors with a lower value give better noise immunity and faster transitions. Check the data sheet for your specific voltage thresholds and input pin leakage before selecting a value.
Power Dissipation
When the output holds the line low, current flows through the pull-up resistor from Vcc to ground. The power dissipation is P = (Vcc − VOL)² / R. For a 10 kΩ pull-up on a 5 V supply: P = (5 − 0.4)² / 10000 ≈ 2.1 mW — negligible for a standard ¼ W resistor. But on a 3.3 V supply with a 100 Ω pull-up, dissipation rises to about 109 mW. Always verify the resistor’s power rating, especially with low-value resistors. For detailed power analysis, use the Power Dissipation Calculator.
Worked Example
A 3.3 V circuit uses an open-drain output with VOL = 0.4 V and IOL(max) = 4 mA. The input threshold (VIH) is 2.0 V, and total input leakage is 10 μA.
Rmax = (3.3 − 2.0) / 0.00001 = 130 kΩ
Rrecommended = √(725 × 130,000) ≈ 9.7 kΩ → 10 kΩ (E12)
The safe range is 725 Ω to 130 kΩ. A 10 kΩ pull-up sits comfortably in the middle — low enough to pull the line to a valid logic level with margin, high enough that the output can sink the current without exceeding its rating. The voltage drop across the resistor when pulled low is 3.3 − 0.4 = 2.9 V, giving a current draw of 0.29 mA — well within limits.
Frequently Asked Questions
Last updated: March 2026