ECParts Toolkit LogoECParts Toolkit

I²C Pull-up Resistor Calculator

Calculate I²C pull-up resistor limits from supply voltage, VOL(max), device sink current, bus capacitance, and the selected I²C bus mode.

COM-003 focuses on pull-up resistor design, bus rise time, sink current, and RC timing. It does not calculate I²C addresses, timing registers, clock stretching, SMBus PEC, I3C behavior, or firmware configuration.

Engineering tool

I²C Pull-up Resistor Calculator

Calculate I²C pull-up resistor limits, rise time, sink current, RC time constant, and bus capacitance effects.

Calculation mode

Total bus capacitance from traces, cables, connectors, MCU pins, and all I²C devices.

I²C pull-up summary

1.85

3.3 V, Fast Mode

Result console

Recommended pull-up
1.85
Minimum pull-up
966.667Ω
Maximum pull-up
3.5407
Rise-time limit
300ns
Bus capacitance
100pF
Formula used: Rmin = (VCC - VOL) / Isink; Rmax = tr / (0.8473 × Cb)

Engineering recommendation: Choose a practical resistor between the calculated minimum and maximum values, then verify rise time and VOL on real hardware.

Result is valid for the selected ideal I²C pull-up model.

Formula reference

I²C Pull-up Resistor Formulas

I²C uses open-drain outputs, so the bus rises through pull-up resistance and bus capacitance.

Minimum Pull-up: Rmin = (VCC - VOL) / IsinkMaximum Pull-up: Rmax = tr / (0.8473 × Cb)Rise Time: tr = 0.8473 × Rpullup × CbSink Current: Isink = (VCC - VOL) / RpullupRC Time Constant: τ = Rpullup × Cb

Variable definitions

VCC
I²C bus pull-up supply voltage
VOL
maximum allowed low-level output voltage
Isink
low-state current the device must sink
Cb
total bus capacitance
tr
allowed bus rise time for the selected I²C mode
0.8473
30% to 70% RC rise-time factor used for I²C rise-time estimation

Worked Examples

3.3 V, 100 pF, Fast Mode

Rmin = (3.3 - 0.4) / 3 mA = 966.7 Ω. Rmax = 300 ns / (0.8473 × 100 pF) = 3.541 kΩ. A practical value inside this range should be verified on hardware.

5 V, 200 pF, Standard Mode

Rmin = 1.533 kΩ. Rmax = 1000 ns / (0.8473 × 200 pF) = 5.901 kΩ. A mid-range value near 3 kΩ is a reasonable first estimate.

3.3 V, 400 pF, Fast Mode

Rmin remains 966.7 Ω, but Rmax falls to 885.2 Ω. The range is not comfortable, so bus capacitance or speed should be reviewed.

1.8 V, 100 pF, Fast Mode Plus

Rmin = (1.8 - 0.4) / 3 mA = 466.7 Ω. Rmax = 120 ns / (0.8473 × 100 pF) = 1.416 kΩ.

4.7 kΩ, 100 pF rise time

tr = 0.8473 × 4.7 kΩ × 100 pF = 398.2 ns, which is slower than the 300 ns Fast Mode reference limit.

2.2 kΩ at 3.3 V sink current

Isink = (3.3 - 0.4) / 2.2 kΩ = 1.318 mA, below the common 3 mA assumption.

Compare 100 pF vs 400 pF

At the same bus mode, 400 pF produces 4× the rise time and one quarter of the maximum pull-up resistance compared with 100 pF.

Compare 3.3 V vs 5 V

With the same VOL and sink-current assumption, 5 V raises Rmin because the pull-up must sink more current when the bus is low.

Engineering Notes

  • I²C uses open-drain or open-collector outputs.
  • SDA and SCL must be pulled high by resistors or equivalent current sources.
  • A pull-up that is too large increases rise time and can violate bus timing.
  • A pull-up that is too small increases sink current and can violate VOL requirements.
  • Higher bus capacitance requires a lower pull-up value or a slower bus mode.
  • Multiple pull-ups in parallel reduce the effective pull-up resistance.
  • Actual design must reference the MCU and I²C device datasheets.
  • This calculator provides engineering estimates and does not replace device specifications.

Common Mistakes

  • Leaving SDA or SCL without pull-up resistors.
  • Using pull-ups that are too large for the selected bus speed.
  • Using pull-ups that are too small for the device sink-current capability.
  • Ignoring total bus capacitance from traces, connectors, and all devices.
  • Assuming a common 4.7 kΩ value works for every I²C bus.
  • Forgetting that several board-level pull-ups may be connected in parallel.
  • Using the controller datasheet but ignoring peripheral VOL and current limits.
  • Not measuring the actual bus waveform during validation.

Support reference

FAQ

Why does I²C need pull-up resistors?

I²C uses open-drain or open-collector outputs. Devices pull the bus low, while pull-up resistors return SDA and SCL to the high level.

How do I calculate pull-up resistance?

Use Rmin = (VCC - VOL) / Isink for the low-state current limit and Rmax = tr / (0.8473 × Cb) for the rise-time limit.

How does bus capacitance affect rise time?

Higher capacitance increases the RC rise time, so larger buses usually need lower pull-up resistance or slower I²C speed.

Can I use 10 kΩ pull-ups?

10 kΩ can work on short, low-capacitance, low-speed buses, but it may be too weak for Fast Mode or larger bus capacitance.

Why is 4.7 kΩ commonly used?

4.7 kΩ is a practical starting value for many short 3.3 V or 5 V I²C buses, but it still must be checked against capacitance, rise time, and sink current.

What happens if the pull-up is too small?

A pull-up that is too small increases sink current and may prevent devices from meeting the required VOL low-level voltage.

How much sink current is acceptable?

The acceptable sink current depends on the MCU and I²C device datasheets. 3 mA is a common assumption, not a universal guarantee.

Does every I²C device need a pull-up?

No. The bus needs pull-ups on SDA and SCL, but multiple devices can share the same pull-up resistors.

Can multiple pull-ups be connected?

Yes, but parallel pull-ups reduce the effective resistance. Too many pull-ups can make the equivalent resistance too low.

What is the recommended rise time for I²C?

Common reference limits are 1000 ns for Standard Mode, 300 ns for Fast Mode, and 120 ns for Fast Mode Plus. Always verify the actual device requirements.

Future Engineering Guide Topics

How I²C Pull-up Resistors Work

In_Development

Planned guide explaining open-drain outputs, shared buses, pull-up current, and logic-high recovery.

Choosing I²C Pull-up Values

In_Development

Planned guide for selecting practical resistor values from speed, voltage, capacitance, and sink-current limits.

I²C Bus Capacitance Explained

In_Development

Planned guide covering device capacitance, trace length, cables, connectors, and measurement.

I²C Rise Time Requirements

In_Development

Planned guide explaining Standard, Fast, Fast Mode Plus, and high-speed timing constraints.

Engineering Disclaimer

This calculator provides ideal I²C pull-up resistor estimates. Real buses must be checked against device datasheets, measured capacitance, board layout, cable length, voltage levels, oscilloscope waveforms, and product-level timing requirements.