NodeLoop

I2C Pull-Up & Rise-Time Planner

Quickly size the pull-up resistors for your I2C bus, estimate rise time, and check compliance with the I2C specification.

Standard & Fast mode • Quick compliance check

Quick presets

Click “Apply” to load values, or “Copy link”.

0.8 m fast sensor tether

Fast • 400 kHz • 2 devices

  • VCC: 3.3 V
  • Cable: 0.8 m @ 70 pF/m
  • Extra: 30 pF
  • Suggested R: 2.7 kΩ

1.2 m standard backbone

Standard • 100 kHz • multi-drop

  • VCC: 5.0 V
  • Cable: 1.2 m @ 80 pF/m
  • Extra: 60 pF
  • Suggested R: 2.7 kΩ

Lab breadboard

Standard • 100 kHz • short

  • VCC: 3.3 V
  • Cable: 0.3 m @ 50 pF/m
  • Extra: 20 pF
  • Suggested R: 4.7 kΩ

Bus parameters

Bus capacitance

Recommended resistors

Estimated capacitance: pF

Rpull-up min (IOL = 3 mA):

Rpull-up max (tr = 1000 ns):

Rise time:

Pull-up current: mA

Frictionless handoff

Share & export

Package the calculation for a ticket, a review, or a teammate in seconds.

References: NXP AN10216-1, TI SLVA689.

Need the full wiring checklist?

Follow the I2C wiring workflow

A step-by-step playbook to estimate bus capacitance, size pull-ups, draft the harness, and validate that SDA/SCL stay within spec.

Frequently asked questions

How much margin should I keep between the minimum and maximum pull-up values?

Staying roughly mid-way between the minimum and maximum resistor values keeps both requirements happy: you respect the sink-current limit while staying well inside the rise-time window. If you need extra robustness, aim for about 20% more current than the minimum and 20% faster rise time than required.

What if the bus capacitance is higher than the limit suggested here?

Try reducing cable length, removing unused branches, or lowering the pull-up voltage so the current requirement relaxes. If the bus is still too heavy, consider an I2C buffer/repeater to split the capacitance or migrate the longest segment to a differential standard that tolerates more load.

Can I run 3.3 V devices on a 5 V pull-up?

Only if every device on the bus is 5 V tolerant. Otherwise you should pull the bus up to 3.3 V, add a level shifter, or use a dual-rail buffer. Overstressing the inputs is a common cause of intermittent I2C faults.

Related resources