I2C Pull-Up Resistor Calculator
Calculate the optimal pull-up resistor value for I2C bus lines based on bus capacitance and supply voltage.
Typically 0.4 V for standard I2C
3 mA for standard, 20 mA for fast-mode+
1000 ns standard, 300 ns fast, 120 ns fast+
Minimum Resistance
967 Ω
Minimum Resistance vs Required Rise Time
I2C Pull-Up Resistor Sizing
I2C uses open-drain outputs with pull-up resistors. Too small a resistor exceeds sink current; too large slows the rise time.
Formulas
R_min = (VCC - V_OL) / I_OL (current limit)
R_max = t_rise / (0.8473 x C_bus) (rise time limit)
The 0.8473 factor comes from the RC time constant to reach 0.7 x VCC.
Choose a standard value between R_min and R_max. Closer to R_min for faster speeds, closer to R_max for lower power.
Example Calculation
3.3 V supply, standard I2C (3 mA sink, 300 ns rise time), 200 pF bus.
- 01R_min: (3.3 - 0.4) / 0.003 = 967 ohms
- 02R_max: 300e-9 / (0.8473 x 200e-12) = 1770 ohms
- 03Recommended: (967 + 1770) / 2 = 1369 ohms
- 04Use nearest standard value: 1.2k or 1.5k ohms
Frequently Asked Questions
Learn More
Ohm's Law Guide
A complete guide to Ohm's Law. Learn the relationship between voltage, current, and resistance, with practical examples, the power triangle, and circuit analysis tips.