HW Interview
Free tool

I²C Pull-Up Resistor Calculator

There is no single right pull-up — there is a window. Enter the supply, bus speed and bus capacitance to get the range that works and the standard values inside it.

Bus capacitance estimate: about 10 pF per device pin, plus 1–2 pF per cm of trace, plus connectors and cables. A 10× scope probe adds about 10 pF.

How it works

Too large a resistor and the bus capacitance makes the rising edge too slow. Too small and a device cannot pull the line low enough.

Pick a standard value inside the window, nearer the low end for rise-time margin. If the window is closed: lower the speed, split the bus, cut the capacitance, or use a bus buffer or an active pull-up.

Worked example

3.3 V, 400 kHz, 200 pF. Rmax = 300 ns / (0.8473 × 200 pF) ≈ 1.77 kΩ. Rmin = (3.3 − 0.4) V / 3 mA ≈ 967 Ω. So 1.0–1.6 kΩ works — 1.2 kΩ is a good choice. The "always 4.7 kΩ" habit fails here: 4.7 kΩ × 200 pF × 0.8473 ≈ 800 ns, far over the 300 ns limit.

Assumptions

Sources

Tool v1.1 · 15 Nov 2026 · formulas checked by 28 automated tests.

The interview question behind this tool

EM-02 — Sizing I²C pull-ups (free full answer) · EM-01 — I²C vs SPI (free full answer)