I²C Pull-up Resistor Calculator

Calculate optimal I²C pull-up resistor values for SDA/SCL based on bus capacitance, VCC, speed, and sink-current limits. Covers standard/fast/fast-plus/high-speed modes.

Calculator Electronics Updated Apr 23, 2026
How to Use
  1. Enter bus supply voltage (VCC), total bus capacitance Cb, and I²C speed mode.
  2. Tool computes minimum pull-up (for Vol spec) and maximum (for rise-time spec).
Input
V
pF
Presets
Pull-up Range
R_min
R_max
Recommended
Rise time

Show Work

Enter values.

I²C Timing Spec

Standard 100 kHz
tr_max = 1000 ns · Cb_max = 400 pF
Relaxed.
Fast 400 kHz
tr_max = 300 ns · Cb_max = 400 pF
Common.
Fast+ 1 MHz
tr_max = 120 ns · Cb_max = 550 pF
Needs pull-up current source.
R_max
R ≤ tr / (0.8473 · Cb)
From RC rise time (63.2%).
R_min
R ≥ (VCC − Vol) / Iol_max
Iol = 3 mA.
Typical
4.7 kΩ (3.3 V) · 10 kΩ (5 V)
Low-Cb buses.

History of I2C

Philips Semiconductors (now NXP) invented I2C in 1982 for interconnection of low-speed peripheral chips in consumer electronics (first used in TV sets for microcontroller-to-tuner communication). The open-drain 2-wire protocol proved elegant enough to become a universal embedded-system standard. Speed grades: Standard 100 kHz, Fast 400 kHz (1992), Fast-Plus 1 MHz (2007), High-Speed 3.4 MHz (1998). Modern MCUs include multiple I2C controllers with hardware glitch and analog filtering.

About This Calculator

Enter VCC, total bus capacitance (sum device + trace), and I²C speed mode. The tool computes R_min = (VCC − 0.4) / 3 mA for minimum (Vol compliance) and R_max = tr_spec / (0.8473 × Cb) for maximum (rise-time compliance).

Pick a standard E24 value between min and max — 2.2 kΩ, 4.7 kΩ, 10 kΩ are most common. If Cb is high enough that R_max < R_min, you need a buffer (PCA9306, TXS0104E) or current-source pull-up. Everything runs client-side.

Frequently Asked Questions

Why pull-up?

I²C is open-drain: slaves pull down, pull-up resistors return bus to high. Too small: driver can\'t pull Vol low enough (3mA sink limit). Too large: rise time too slow at higher speeds.

Bus capacitance?

Each device ≈ 10 pF, each connector ≈ 5 pF, PCB trace ≈ 1 pF/cm. Total Cb = sum of all. Must be &lt; 400 pF for standard I²C (100 kHz); &lt; 550 pF max.

Multiple pull-ups?

Only one pull-up per line is needed for the bus. For dual-supply buses (5V host + 3.3V slave), use level shifter — do NOT add multiple pull-ups on the same line.

Common Use Cases

MCU + EEPROM

3.3V, 50pF bus, 400 kHz Fast mode: 4.7 kΩ pull-up typical. Headroom for 2-3 more devices.

Long-Distance

0.5m cable adds ~50 pF. Drop to 2.2 kΩ to maintain rise time at 400 kHz.

Standard 100 kHz

Lenient. 10 kΩ OK for small buses (&lt; 100 pF).

Last updated: