EMBEDDED SYSTEMS & MICROCONTROLLERS · PAGE 14
The I2C Bus
Many chips on two wires.
I2C uses a data line (SDA) and a clock line (SCL) shared by every device. One controller starts each transfer by sending a 7-bit address; only the matching device answers.
Both lines need pull-up resistors, typically a few kilohms, because devices only pull them low. It is slower than SPI but saves pins.
If two devices share an address, change one with its address pin or use a multiplexer.