I²C Serial Bus Walkthrough
Inter-Integrated Circuit (I²C) uses two open-drain lines—SCL for the clock and SDA for data—to let multiple devices communicate across the same bus. Follow the typical write transaction below and see how each stage shapes the waveforms.
Stage title
Description
Bits on SDA
Clock stretching: Any slave may pause the transfer by holding SCL low if it needs more time to prepare data. The master waits until the line is released before continuing.
Pull-up resistors: Because I²C uses open-drain drivers, external pull-ups restore the lines to logic-high levels when no device is driving them. Without the resistors, the idle bus level would float.
Repeated start: Masters can issue another start condition instead of a stop to maintain control of the bus while switching between read and write phases.