I²C Pull-up Resistor
R_max = t_rise / (0.8473 × C_bus)
Calculator
Formula
Description
I²C uses open-drain outputs with external pull-up resistors to drive the SDA and SCL lines high. The rise time depends on the RC time constant formed by the pull-up resistor and the total bus capacitance, which includes pin capacitance of all connected devices, trace capacitance, and any protection circuitry. The 0.8473 factor comes from the RC charging equation solved for the time to reach the 0.7×Vdd logic high threshold from 0.3×Vdd. Too large a resistor gives slow rise times that violate the I²C specification, while too small a resistor exceeds the sink current capability of the open-drain outputs.
Variables
- R — Maximum pull-up resistance (Ω)
- t_rise — Maximum allowed rise time (s)
- C_bus — Total bus capacitance (F)
Practical Notes
I²C standard mode allows 1000 ns rise time with 400 pF max bus capacitance, yielding ~2.95 kΩ max pull-up. Fast mode (400 kHz) allows 300 ns, yielding ~880Ω. A typical starting point is 4.7 kΩ for standard mode and 2.2 kΩ for fast mode. The minimum pull-up resistance is limited by the 3 mA sink current specification.
Related Formulas
Need more features?
Save calculations, import telemetry data, simulate battery discharge, and collaborate with your team.
Try the App