I2C Communication Protocol Animation
Watch START, address, R/W, ACK, data, repeated START, clock stretching, and bus arbitration on a two-wire I2C bus.
animation
i2c
serial-communication
sensing
actuation
protocol
intermediate
Animation
I2C
Timing
Debugging
I2C Communication Protocol Animation
Follow an I2C transaction as a master uses the shared SCL and SDA lines to address one device, exchange bytes, wait for ACKs, handle repeated START, and expose common bus problems such as slow pull-ups, clock stretching, address conflicts, and arbitration loss.
Temp sensor 0x48
Selected target device
Register read
Transaction pattern
ACK expected
Receiver response on bit 9
Rise OK
Pull-up and capacitance check
Bus and Timing Animation
Idle bus: no device is pulling the lines low, so pull-up resistors hold both SCL and SDA high.
Current event
Idle
Address frame
0x48 + W
Electrical rise
224 ns
Bus state
Ready
Healthy I2C transaction
The addressed device ACKs, SDA is stable during SCL-high sample windows, and the pull-up network is fast enough for the selected speed mode.
Why it matters
START and STOP are the two legal times SDA changes while SCL is high. During data bits, changing SDA while SCL is high would be misread.
Debug habit
When a transaction fails, first check pull-ups and address ACK before debugging firmware parsing.
Quick Reference: What to Look For on I2C
- START: SDA falls while SCL is high.
- STOP: SDA rises while SCL is high.
- Both lines idle high on a released bus.
- 0 means master writes to slave.
- 1 means master reads from slave.
- The byte is sent MSB first.
- ACK: receiver pulls SDA low.
- NACK: SDA remains high.
- Master usually NACKs the final read byte before STOP.
- Common pattern: write register address, repeated START, then read data.
- No STOP appears between the write and read phases.
- The master must wait if it supports stretching.
- Some controllers or software stacks do not tolerate long stretches.
- Too-weak pull-ups and high capacitance slow rising edges.
- Too-strong pull-ups increase sink current.
- Shorter buses and lower capacitance give more margin.