I2C (Inter-Integrated Circuit; pronounced as “”), alternatively known as I2C or IIC, is a synchronous, multi-master/multi-slave (controller/target), packet switched, single-ended, serial communication bus invented in 1982 by Philips Semiconductors. It is widely used for attaching lower-speed peripheral ICs to processors and microcontrollers in short-distance, intra-board communication.
Several competitors, such as Siemens, NEC, Texas Instruments, STMicroelectronics, Motorola, Nordic Semiconductor and Intersil, have introduced compatible I2C products to the market since the mid-1990s.
System Management Bus (SMBus), defined by Intel in 1995, is a subset of I2C, defining a stricter usage. One purpose of SMBus is to promote robustness and interoperability. Accordingly, modern I2C systems incorporate some policies and rules from SMBus, sometimes supporting both I2C and SMBus, requiring only minimal reconfiguration either by commanding or output pin use.
I2C is appropriate for peripherals where simplicity and low manufacturing cost are more important than speed. Common applications of the I2C bus are:
Describing connectable devices via small ROM configuration tables to enable plug and play operation, such as in serial presence detect (SPD) EEPROMs on dual in-line memory modules (DIMMs), and Extended Display Identification Data (EDID) for monitors via VGA, DVI and HDMI connectors.
System management for PC systems via SMBus; SMBus pins are allocated in both conventional PCI and PCI Express connectors.
Accessing real-time clocks and NVRAM chips that keep user settings.
Accessing low-speed DACs and ADCs.
Changing backlight, contrast, hue, color balance settings etc in monitors (via Display Data Channel).
Changing sound volume in intelligent speakers.
Controlling small (e.g. feature phone) LCD or OLED displays.
Reading hardware monitors and diagnostic sensors, e.g. a fan's speed.
Turning on and off the power supply of system components.
A particular strength of I2C is the capability of a microcontroller to control a network of device chips with just two general-purpose I/O pins and software.