I2C Pull-up Resistor Calculator

I2C bus issues that only show up at certain clock speeds or bus lengths are almost always a pull-up resistor problem. This calculator finds the valid pull-up range straight from the I2C-bus specification's sink-current and rise-time limits, for your actual bus capacitance and target clock speed, rather than defaulting to whatever value ended up in the last design.

I2C Pull-up Resistor

Bus pull-up range from the I2C-bus specification's sink-current and rise-time limits

Show your work
Bus speed mode
Rp min (sink-current limit)
967 Ω
Rp max (rise-time limit)
3.54 kΩ
Suggested E24 value
1.80 kΩ
Rise time at suggested value
153 ns

Two pull-ups are needed — one on SDA, one on SCL — each sized from this same range. Most designs use matched values on both lines.