I²C pull-up resistor calculator
Find the permissible I²C pull-up resistance range from capacitance, rise time and device sink-current limits. Check standard resistor values.
Calculate the effective passive pull-up resistance for one SDA or SCL line. Enter the guaranteed IOL current and corresponding VOL,max from the weakest driver’s datasheet.
A preset changes only the rise-time limit. Also check IOL and VOL,max in every device’s datasheet, especially for Fast-mode Plus and low supply voltages.
Nominal resistance range including tolerance: 1.01754–1.68603 kΩ.
| Nominal (kΩ) | Slowest rise (ns) | Current at VOL,max, Rmin (mA) |
|---|---|---|
| 1.1 | 195.726 | 2.77512 |
| 1.2 | 213.52 | 2.54386 |
| 1.3 | 231.313 | 2.34818 |
| 1.5 | 266.9 | 2.03509 |
| 1.6 | 284.693 | 1.90789 |
Method and assumptions
Rp,min = (VCC − VOL,max) / IOL
Rp,max = tr / (0.8473 × Cb)
The equations use volts, amperes, seconds and farads. With fractional tolerance t, the nominal resistance must be at least Rp,min / (1 − t) and at most Rp,max / (1 + t).
TI comparison example: 3.3 V, 0.4 V VOL,max, 3 mA IOL, 200 pF and 300 ns gives approximately 967 Ω–1.77 kΩ before tolerance.
Combine parallel pull-ups into one effective resistance and include board, cable and all pin capacitances. This model assumes a passive RC rise from 30% to 70%; it does not model active pull-ups, buffers, leakage or nonlinear level translators.
Supply and capacitance tolerances are not included. Use worst-case inputs, verify pin voltage ratings and low-level compatibility, and measure rise time and VOL on the actual board. The table evaluates current at VOL,max; actual current can be higher when VOL is lower.
Source, presets and comparison example: Texas Instruments — I2C Bus Pullup Resistor Calculation (SLVA689).
Your inputs stay in your browser. Nothing is sent to Haksi unless you choose to submit an enquiry.
Help with a hardware project
Haksi works on electronics, firmware and manufacturing. Tell us what you are building and where you need help.
Contact Haksi →You can review and edit the message before sending it.