Why I2C needs pull-ups
I2C uses open-drain outputs. Devices pull the line low, while resistors pull SDA and SCL high.
Rise time
The bus capacitance and pull-up resistor form an RC network.
Choosing a value
Common values are 4.7 kΩ or 2.2 kΩ, but the best value depends on bus capacitance and speed.
Practical issues
Too weak pull-ups can cause rounded edges and communication errors.
Design notes
Keep I2C traces short and check the electrical limits of all devices on the bus.
Use the calculator
Try the related tool and calculate your own values instantly.
Open I2C Pull-Up Resistor Calculator