I2C Pull up resistor calculator

I2C Pull up resistor calculator

About this tool#

You can use this tool to calculate the minimum and maximum allowed values of the pull up resistors required for your I2C bus, based on the desired operation mode (source). It is based on the official I2C bus specifications and is taking under consideration the constraints set for each mode. For calculating the min and max values of the resistors, we are using the following formulas:

Min Rp#

Rpmin = (VDD – VOLmax) / IOL

where:

  • VDD: Power supply voltage
  • VOLmax: Maximum LOW-level output voltage
  • IOL: LOW-level output current

Max Rp#

Rpmax = tr / 0.8473 x Cb

where:

  • tr: Maximum rise time of signal ( SDA / SCL / SDAH / SCLH)
  • Cb: Maximum capacitive load for bus line

I2C operation modes#

The following operation modes are defined by the specification:

  • Standard mode - max bit rate 100 kbit/s
  • Fast mode - max bit rate 400 kbit/s
  • Fast mode Plus - max bit rate 1 Mbit/s
  • High speed mode - max bit rate 3.4 Mbit/s (depending on Cb)
  • Ultra Fast mode - max bit rate 5 Mbit/s (unidirectional)

Ultra Fast mode devices offer push-pull drivers, eliminating the pull-up resistors.

Electrical Specifications#

The calculator uses the following electrical specifications for each I2C mode:

ParameterStandard ModeFast ModeFast Mode PlusHS Mode Cb<=100pFHS Mode Cb>100pF
Min VDD2VCb<400: None Cb=400: 3VNoneNoneNone
Max Fsclk100 KHz400Khz1MHz3.4MHz1.7MHz
Max VOL0.4 VVDD>2V: 0.4V VDD<=2V: 0.2xVDDVDD>2V: 0.4V VDD<=2V: 0.2xVDDVDD>2V: 0.4V VDD<=2V: 0.2xVDDVDD>2V: 0.4V VDD<=2V: 0.2xVDD
IOL3mACb<400: 3mA Cb=400: 6mA20mA3mA3mA
Max tr1000ns300ns120ns80ns160ns
Max Cb400pF400pF550pF100pF400pF

Resources#