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.
How to Use
- Enter bus supply voltage (VCC), total bus capacitance Cb, and I²C speed mode.
- Tool computes minimum pull-up (for Vol spec) and maximum (for rise-time spec).
Show Work
I²C Timing Spec
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 < 400 pF for standard I²C (100 kHz); < 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 (< 100 pF).
Last updated: