I2C (Inter Integrated Circuit) is a low-speed serial data protocol, commonly used to transfer data between multiple components and modules within a single device.
Developed in the early 1980s by Philips Semiconductors (now NXP), I2C employs 2 signal wires to transfer “packets” of information between one or more “master” devices such as microcontrollers, and multiple “slave” devices such as sensors, memory chips, ADC and DACs.
Multiple “master” and “slave” I2C devices are connected to the bus using two lines:
- SCL – Serial Clock
- SDA – Serial Data
Signaling voltages are typically 0 V for logic low and +3.3 V or +5 V for logic high.
Pull-up resistors keep both lines at a logic high level when the bus is idle.