I2C Pull-Up Calculator

Rmin = (VDD − VOLmax) / IOL. 3.3 V, 0.4 V, 3 mA, 100 pF, 300 ns is 966.667 Ω–3.54066 kΩ.

Calculator

PASS966.67 Ω – 3.541 kΩReq 1.175 kΩ, tr 99.56 ns

Rmin = (VDD − VOLmax) / IOL. Rmax = tr / (0.8473 Cb) from UM10204 Rev. 7.0 §7.1 (30–70 % of VDD). IOL and VOLmax are the values you type, not a mode-capability certificate. Mixed-voltage buses are not certified.

I2C speed mode

Table 10 IOL min at VOL = 0.4 V is 3 mA (Sm/Fm) or 20 mA (Fm+). Override from the pin datasheet.

Module pull-ups (paralleled when enabled)
Rmin
966.67 Ω
Rmax
3.541 kΩ
Req
1.175 kΩ
tr (30–70 %)
99.56 ns
I_sink at VOLmax
2.468 mA
E24 in band
1.8 kΩ (information only)
  • Pass Feasible Rp band: Rmin 966.6666666666666 Ω to Rmax 3540.658562492623 Ω (UM10204 Rev. 7.0 §7.1).
  • Pass Enabled pull-ups: 4 module pull-up(s), Req 1175 Ω.
  • Pass Low-state sink vs IOL: I_sink = (VDD − VOLmax)/Req = 0.0024680851063829785 A ≤ IOL 0.003 A.
  • Pass Estimated 30–70 % rise vs tr limit: tr ≈ 0.8473·Req·Cb = 9.955775000000002e-8 s vs limit 3e-7 s.
  • Warn Not a compliance certificate: Uses UM10204 Rev. 7.0 §7.1 RC 30–70 % approximation and user-entered IOL/VOLmax. Mixed-voltage buses and device mode capability are not certified.
  • Pass E24 inside the band: An E24 in-band value is 1800 Ω (information, not a requirement).
Breadboard I2C pull-ups: 4 enabled, Req 1.175 kΩ, Cb 100 pF on 3.3 V SDA Breadboard I2C pull-ups: 4 enabled, Req 1.175 kΩ, Cb 100 pF on 3.3 V SDA. Open-drain host to GND. Rise model is UM10204 §7.1 30–70 %, not a lab capture. Rp1 4.7 kΩ yellow, violet, red, gold Rp2 4.7 kΩ yellow, violet, red, gold Rp3 4.7 kΩ yellow, violet, red, gold Rp4 4.7 kΩ yellow, violet, red, gold Cb 100 pF host OD VDD 3.3 V SDA GND Rp1 4.7 kΩ Rp2 4.7 kΩ Rp3 4.7 kΩ Rp4 4.7 kΩ Req 1.175 kΩ
I2C SDA/SCL rise (30–70 %) I2C open-drain rise from 0 toward VDD with 30% and 70% markers. Horizontal axis is t (ns); vertical axis is V (V). 30% at 41.91 ns, 70% at 141.47 ns. Left and Right arrows move the cursor along the x-axis; Home and End jump to the ends. Hold Shift for a finer step. 0123V (V)0100200t (ns) 30% VDD70% VDD30%70%

V(t) = VDD (1 − e^{−t/Req Cb}) from UM10204 Rev. 7.0 §7.1, not a scope capture. Req 1.175 kΩ, tr 30–70% ≈ 99.56 ns. Marks at 0.3 VDD and 0.7 VDD.

Formula

Minimum pull-up

Rmin=VDD-VOLmaxIOL Rmin = (VDD − VOLmax) / IOL

Maximum pull-up (30–70 % rise)

Rmax=tr0.8473Cb Rmax = tr / (0.8473 Cb)

Estimated 30–70 % rise

tre=0.8473ReqCb tre = 0.8473 Req Cb

Variables

Symbol Meaning Unit Typical range Precision Default
VDD Bus supply V ≥ 0 V Must be > VOLmax 4 sig 3.3 V
VOLmax Low-level output (user/datasheet) V ≥ 0 V Table 10 VOL1 is 0.4 V at 3 mA when VDD > 2 V; override from the pin datasheet 4 sig 0.4 V
IOL Low-level sink (user/datasheet) A ≥ 0 µA Table 10 IOL min is 3 mA (Sm/Fm) or 20 mA (Fm+) at VOL = 0.4 V; not a capability guarantee 4 sig 3 mA
Cb Total bus capacitance F ≥ 0 pF Table 11 Cb max is 400 pF (Sm/Fm) or 550 pF (Fm+); not a clamp 4 sig 100 pF
mode Speed mode (sets default tr) — — 1 sig fm
tr Rise-time limit (Table 11 or custom) s ≥ 0 ns Sm 1000 ns, Fm 300 ns, Fm+ 120 ns from Table 11; custom overridable 4 sig 300 ns
Rmin Minimum pull-up Ω — 6 sig —
Rmax Maximum pull-up Ω — 6 sig —
Req Enabled parallel equivalent Ω — 6 sig —
tre Estimated 30–70 % rise s — 6 sig —
Isink Low-state current at VOLmax A — 4 sig —
ok Non-empty [Rmin, Rmax] interval — — 1 sig —

Worked example

Fm 3.3 V, four 4.7 kΩ, 100 pF

Rmin ≈ 966.667 Ω, Rmax ≈ 3540.659 Ω. Req 1175 Ω, tre ≈ 99.55775 ns. Not a compliance certificate.

Input Value
VDD · Bus supply 3.3 V
VOLmax · Low-level output (user/datasheet) 0.4 V
IOL · Low-level sink (user/datasheet) 3 mA
Cb · Total bus capacitance 100 pF
mode · Speed mode (sets default tr) fm
Output Value
Rmin · Minimum pull-up 966.667 Ω
Rmax · Maximum pull-up 3.54066 kΩ
Req · Enabled parallel equivalent 1.175 kΩ
tre · Estimated 30–70 % rise 99.5578 ns
Isink · Low-state current at VOLmax 2.468 mA

Fm 3.3 V, 400 pF — empty window

Rmax ≈ 885.165 Ω < Rmin. No feasible interval. A nearby E24 is not Pass.

Input Value
VDD · Bus supply 3.3 V
VOLmax · Low-level output (user/datasheet) 0.4 V
IOL · Low-level sink (user/datasheet) 3 mA
Cb · Total bus capacitance 400 pF
mode · Speed mode (sets default tr) fm
Output Value
Rmin · Minimum pull-up 966.667 Ω
Rmax · Maximum pull-up 885.165 Ω
Req · Enabled parallel equivalent 1.175 kΩ
tre · Estimated 30–70 % rise 398.231 ns

Two of four 4.7 kΩ enabled

Input Value
VDD · Bus supply 3.3 V
VOLmax · Low-level output (user/datasheet) 0.4 V
IOL · Low-level sink (user/datasheet) 3 mA
Cb · Total bus capacitance 100 pF
mode · Speed mode (sets default tr) fm
Output Value
Req · Enabled parallel equivalent 2.35 kΩ
tre · Estimated 30–70 % rise 199.116 ns

Custom 1000 ns rise (Sm table value)

Input Value
VDD · Bus supply 3.3 V
VOLmax · Low-level output (user/datasheet) 0.4 V
IOL · Low-level sink (user/datasheet) 3 mA
Cb · Total bus capacitance 100 pF
mode · Speed mode (sets default tr) custom
tr · Rise-time limit (Table 11 or custom) 1 µs
Output Value
Rmax · Maximum pull-up 11.8022 kΩ
tre · Estimated 30–70 % rise 99.5578 ns

How it works

I2C SDA and SCL sit high through pull-ups and are pulled low by open-drain (or open-collector) drivers. Several modules can hang their own resistor on the same net, so the DC load is the parallel combination, not any one value.

This calculator applies NXP UM10204 Rev. 7.0 §7.1 and TI SLVA689A §2. Rmin is the resistor that still lets the pin reach VOLmax at the IOL you typed. Rmax is the resistor that still meets the 30–70 % rise limit for the bus capacitance you typed. The breadboard shows which module resistors are on; the curve marks 30 % and 70 % of VDD. It is not a lab capture and not a mixed-voltage safety certificate.

When Rmax is below Rmin, the page reports NO feasible interval. It will not promote the nearest E24 to Pass.

Pitfalls

  • Treating a nearby E24 as Pass when Rmax is below Rmin. The window is empty; change Cb, IOL, or tr instead.
  • Using Table 10 IOL as a guarantee that a mixed-voltage or Fm+ pin can actually sink that current.
  • Leaving bus capacitance as a guess. Connector, cable, and pin Ci add to Cb and shrink Rmax.
  • Assuming this page certifies a design. It applies the RC 30–70 % identities you entered; it does not replace the device datasheet.

FAQ

Why 0.8473 and not ln(7/3)?

UM10204 Rev. 7.0 §7.1 writes T = t2 − t1 = 0.8473 × RC for the 30 % to 70 % interval (t1 = 0.3566749 RC, t2 = 1.2039729 RC). The tool uses that factor exactly.

Can I override the Sm/Fm/Fm+ currents?

Yes. Mode only fills the Table 11 tr default. IOL and VOLmax stay whatever you type, including weaker GPIO than Table 10.

What if four modules are all 4.7 kΩ?

Req is 1175 Ω. At 100 pF that rise is about 99.56 ns, inside the Fm 300 ns limit.

Does a Fail window still plot the rise?

Yes. The curve uses the installed Req. Fail means the [Rmin, Rmax] interval is empty, not that the exponential disappeared.

Related

Sources