Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Higher supply voltage → Higher pull-up resistor (V/I = R)
More resistance → Lower power and current consumption (V2/R = Power) (V/R = I)
Lower resistance → Higher bandwidth/frequencies; faster rise time
More capacitance → Lower pull-up resistor

Generally you should check the GPIO pins source/sinking current to determine the sizing of the pull up/down resistor. Common values are 1k, 4.7k, 10k, but that will always depend on the scenario)

https://www.youtube.com/watch?v=sCHK3P5tn7s

Take this example from a random forum online https://electronics.stackexchange.com/questions/102611/what-happens-if-i-omit-the-pullup-resistors-on-i2c-lines

...

The poster added 4.7k ohm pull-up resistors, increasing the rise time significantly. Make sure to choose the appropriate pull-up resistance for your application! Also having I2C test points can really save your sanity 🤠

Note : This also goes into a different discussion of using good practices when probing signals(close ground return paths)

Multi-Slave Busses

I2C buses can hold up to 127 slaves on a single bus. Unlike SPI, I2C does not have a chip select line to control communication. Instead, I2C relies on IC addressing (each IC on the bus has a different address). Typically each slave has alternative addresses that can be configured in the situation two slaves have the same address.

...