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

Vcc · pull-ups SCL SDA controller (MCU) sensor0x1D RTC0x68 display0x3C two shared wires · every peripheral answers to its own address
I²C fans out from just two open-drain wires — a shared clock (SCL) and a bidirectional data line (SDA), both pulled up to Vcc. Because every chip has a numeric address, one pair of lines can reach dozens of devices, which is why it's the go-to bus for wiring many small sensors to an MCU.

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