I²C explained: open-drain, START/STOP, bits, ACK, addressing, stretching and arbitration
An interactive guide for people who have never looked at an I²C bus. Every step loads a scenario into a small simulator of a real open-drain bus: one or two controllers, a temperature sensor and an EEPROM, each pulling SCL and SDA low or letting go. Move through time tick by tick and watch the wires, the waveform, the decoded bytes and the state inside every chip. The playground lets you build your own transfers, including broken ones.
I²C Explained Tick by Tick: Open-Drain Pull-Ups, START/STOP, 8 Bits + ACK/NACK, 7-Bit Addressing, Clock Stretching, and Arbitration
Explore the I²C bus (NXP UM10204) tick by tick with an interactive open-drain simulator featuring two controllers, a temperature sensor, and an EEPROM: wired-AND MOSFET stages and RC rise time tr = 0.8473 × Rp × Cb, START (S), repeated START (Sr) and STOP (P), MSB-first byte framing and 9th-clock ACK/NACK, 7-bit and 10-bit addressing, EEPROM page writes and ACK polling, pointer-then-repeated-START register reads, target clock stretching, lossless multi-controller arbitration, and 9-clock stuck-SDA recovery.