I²C or I2C is an abbreviation of Inter-Integrated Circuit, a serial communication protocol made by Philips Semiconductor (now it is NXP Semiconductor). It is created with an intention of communication between chips reside on the same Printed Circuit Board (PCB). It is usually used to interface slow speed ICs to processor or microcontroller. It is a master-slave protocol, usually a processor or microcontroller is the master and other chips like RTC, Temperature Sensor, EEPROM will be the slave. We can have multiple masters and multiple slaves in the same I2C bus. Hence it is a multi-master, multi-slave protocol.
I2C Interface
It needs only two wires for exchanging data and ground as the reference.
- SDA – Serial Data
- SCL – Serial Clock
- GND – Ground
Pros and Cons
Advantages
- Needs only 2 lines (SCL & SDA) + Ground as reference
- Supports up to 1008 slave devices
- Supports multi-master system
Disadvantages
- Needs more complex hardware
- Data rate less than SPI
Applications
- EEPROMs
- Real Time Clock ICs
- Temperature Sensors
- Accelerometers
- Gyrometers
- LCDs