Field Guide · concept

Also known as: I2C, IIC, TWI

I²C (Inter-Integrated Circuit) is a two-wire serial bus that lets one controller communicate with many peripheral chips over a shared clock and data line.1

Overview

I²C needs just two signals: a clock (SCL) and a bidirectional data line (SDA), both open-drain with pull-up resistors. Every peripheral has a numeric address, so a single pair of wires can fan out to dozens of devices on the same bus. It is slower than SPI — typically 100 kHz to a few MHz — but its low pin count and addressing make it ideal for connecting many small chips. A microcontroller’s I²C peripheral handles the bit-level timing in hardware.

Where it fits

I²C is the standard way to wire up sensors — temperature, accelerometers, real-time clocks, small displays — to an MCU, because each adds no extra pins beyond the shared bus. It trades speed for simplicity versus SPI, and addressing versus a point-to-point link like UART. It is one of the core peripheral buses in nearly every embedded system, exposed alongside the chip’s GPIO.

Sources

  1. I²C — Wikipedia, on the two-wire bus and its addressing. 

See also