PreBuild Engineering
PCB calculators / Circuit design
Free tool · PreBuild Engineering

I²C pull-up resistor calculator

Pick pull-ups that meet rise-time and sink-current limits, so the bus works at full speed.

Inputs

V
pF
≈10 pF per device + ~1 pF per cm of trace

Result

—

Why it matters

Weak pull-ups cause slow edges and data errors at 400 kHz; strong pull-ups exceed what devices can sink. Breakout modules often add their own pull-ups, which combine in parallel.

Formula

R_min = (Vdd − V_OL) / I_OL (V_OL = 0.4 V, I_OL = 3 mA; 20 mA for Fm+) R_max = t_r / (0.8473 · C_b) (t_r = 1000 / 300 / 120 ns)

Design tips

  • Measure the rise time on a scope during bring-up: it is the real test.
  • Long cables or many devices may need a bus buffer or lower speed.

Results are engineering estimates from standard formulas and published approximations. Always confirm against component datasheets, your fabricator's capabilities and, for critical designs, simulation or measurement.