Calculating pull-up resistors values for I2C communicationsd

How do you calculate the values of pull-up resistors used in I2C communications and level shifters for SPI, I2C, and UART communications?

The I2C bus must have pull-up resistors, one on the SDA line and one on the SCL line. They’re typically 4.7K or 10K ohm, but should be in the range of 2K to 10K.

Here’s a .PDF that covers it in detail:

The selection of pull-up resistor values for I2C communications and level shifters in SPI, I2C, and UART interfaces depends on factors such as the bus capacitance, desired rise time, and the electrical characteristics of the devices connected.

The formula for calculating the pull-up resistor value (R_pull-up) is:


1 Like