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.
About the I²C Pull-up Resistor Calculator
The I²C Pull-up Resistor Calculator is a free tool for electronics and circuit design. It runs right in your web browser, so there is nothing to download. 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 it works
Type your numbers into the boxes. The answer shows up right away — you do not have to press a button. If you change a number, the answer changes too. So you can try different numbers and watch what happens, or check an answer you worked out yourself. Just make sure each box has the right kind of number in it.
Want the deeper story? The Knowledge Base explains the ideas behind the tools in more detail.
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.
How do I use the I²C Pull-up Resistor Calculator?
Just type your numbers. The answer shows up right away — there is no button to press. Change anything and it updates by itself.
Is it free? Does it work without internet?
Yes to both. It is free with no sign-up, and once the page has loaded it keeps working even with no internet.
Where does my data go?
Nowhere — every calculation runs on your own device. Nothing you enter is uploaded, logged, or stored.
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: