Skip to content

I²C

Inter-integrated circuit — master/slave timing, clock stretching, and multi-master arbitration.

Foundation 1h 30m readLow-speedSensors

A two-wire serial bus (SDA, SCL) used everywhere — sensors, EEPROMs, configuration registers. Simple to learn, but subtle bugs in clock stretching and arbitration trip up many designers.

What you'll learn

  • Start/stop conditions, 7-bit vs 10-bit addressing
  • Master/slave state machines
  • Clock stretching and how to handle it correctly
  • Multi-master arbitration
  • Common speeds: 100 kHz, 400 kHz, 1 MHz, 3.4 MHz
  • Verifying an I²C master with UVM