I2C pull-up resistor calculator
Picking 4.7k by habit fails on a long or heavily loaded I2C bus at 400 kHz. Minimum and maximum pull-up per the I2C specification, with the closest E24 value.
Open the calculator in EM·LINKBelow is a worked example. The working calculator runs free in EM·LINK.
Worked example
Example inputs
Example result
The largest E24 value inside the valid range, so the bus draws the least current.
| Quantity | Value |
|---|---|
| Rp(min) | 967 Ω |
| Rp(max) | 2.36 kΩ |
| Rise time with 2.2 kΩ | 280 ns of 300 ns |
| Sink current with 2.2 kΩ | 1.32 mA |
| Rise time with 4.7 kΩ | 597 ns, too slow |
Valid E24 values run from 1.0 kΩ to 2.2 kΩ.
Calculations run in your browser. Nothing is sent to us.
The working calculator is I²C Pull-Up Calculator in EM·LINK, our free browser tool. The button opens it directly.
How to read the result
If Rp(max) comes out below Rp(min), no resistor works at that speed. Shorten the bus, add a buffer, or slow down.
Estimate bus capacitance at about 10 pF per device plus 1 pF per cm of trace. The spec caps it at 400 pF.
How this is calculated
The lower limit comes from how much current a driver can sink while holding the line at VOL. The upper limit comes from the RC rise time allowed at the chosen speed.
The full derivation, step by step, is in the EM·LINK documentation.
Calculated per NXP I2C-bus specification (UM10204). These tools are an engineering aid, not a certification.
Next step
Shipping hundreds of units? Get OTA updates and remote config without building it yourself.
Common questions
What pull-up for 400 kHz I2C?
Depends on bus capacitance. Enter Cb and the tool gives the valid range and an E24 pick.
Is 4.7k always fine?
For short 100 kHz buses usually. At 400 kHz with more load it is often too high.
Where does 0.8473 come from?
It is ln(7/3), the RC time constants between the 30 and 70 percent points that UM10204 uses to define rise time.
Related tools
- UART baud rate error, for the other on-board serial link.
- RS-485 termination and bias, when the signal has to leave the board on a cable.
- CRC and checksum, to protect payloads that cross a noisy bus.