Pull-Up Resistor for Logic

R = (Vcc − VOH) / Isink

Calculator

Result

Formula

R_pullup = (V_cc − V_OL_max) / I_sink

Description

Open-drain and open-collector outputs require an external pull-up resistor to define the high-state voltage. The resistor value must be small enough that the sink current through it (when the output is low) does not cause the low-state voltage to rise above VOL_max. The formula gives the maximum pull-up resistance. Additionally, the pull-up must be large enough that the open-drain device can sink the current without exceeding its IOL rating. I²C bus pull-ups, interrupt lines, reset circuits, and wired-OR buses all require properly sized pull-up resistors.

Variables

  • R — Pull-up resistor value (Ω)
  • V_cc — Supply voltage (V)
  • V_OL — Maximum acceptable low output voltage (V)
  • I_sink — Current the open-drain output can sink (A)

Practical Notes

For I²C at 3.3 V standard mode (100 kHz): R = 1.5-4.7 kΩ. For I²C fast mode (400 kHz): R = 1-2.2 kΩ. Smaller R gives faster rise times but increases power consumption and IOL current. The rise time is determined by the RC time constant: t_rise ≈ 2.2 × R × C_bus. For multiple devices on the bus, the total bus capacitance C_bus is the sum of all device input capacitances plus trace capacitance.

Need more features?

Save calculations, import telemetry data, simulate battery discharge, and collaborate with your team.

Try the App