How to Read and Draw an I2C Timing Diagram

Document I2C protocols with professional timing diagrams. WavePaint makes it easy to create accurate I2C timing diagrams for datasheets, specifications, and educational materials.

Understanding I2C Timing Diagrams

I2C (Inter-Integrated Circuit) is a two-wire serial protocol used extensively in embedded systems for connecting sensors, EEPROMs, displays, and other peripherals. I2C timing diagrams are essential for understanding and documenting how the protocol works.

I2C Signal Overview

  • SCL (Serial Clock) – Clock signal generated by the master
  • SDA (Serial Data) – Bidirectional data line

Both lines are open-drain with pull-up resistors, meaning devices can only drive the line low. This allows for multi-master operation and clock stretching.

Key I2C Timing Events

  • START condition – SDA falls while SCL is high
  • STOP condition – SDA rises while SCL is high
  • Repeated START – START without preceding STOP
  • ACK/NACK – Acknowledge bit after each byte
  • Clock stretching – Slave holds SCL low to slow communication

Create I2C Diagrams with WavePaint

WavePaint is a powerful digital timing diagram editor that works directly in your browser. Unlike text-based tools like WaveDrom, WavePaint offers an intuitive graphical user interface (GUI) that lets you draw waveforms visually, without writing JSON code.

Built-In I2C Example

Get started instantly with WavePaint’s included I2C timing diagram example. Load it from File → Load Example → I2C, then modify it to match your specific I2C transaction.

Perfect Tools for I2C Documentation

  • Bit signals – Show SCL and SDA transitions clearly
  • Vector annotations – Display address bytes, register addresses, and data values
  • Text annotations – Label START, STOP, ACK/NACK, R/W bits
  • Markers – Highlight critical timing points
  • Arrows – Show relationships between clock and data
  • Color coding – Differentiate address, data, and control phases

Documenting I2C Timing Parameters

I2C specifications include numerous timing parameters that must be met for reliable communication. Use WavePaint’s time span markers to illustrate:

Parameter Description Standard Mode Fast Mode
fSCL Clock frequency 100 kHz 400 kHz
tHD;STA Hold time START 4.0 µs 0.6 µs
tSU;STA Setup time repeated START 4.7 µs 0.6 µs
tSU;STO Setup time STOP 4.0 µs 0.6 µs
tSU;DAT Data setup time 250 ns 100 ns
tHD;DAT Data hold time 0 ns 0 ns

Show Complete I2C Transactions

WavePaint makes it easy to create complete I2C transaction diagrams showing:

  • Single-byte write operations
  • Multi-byte sequential writes
  • Single-byte read operations
  • Combined write-then-read transactions
  • Multi-master arbitration scenarios
  • Clock stretching examples

I2C Diagram Use Cases

Sensor Datasheets – Document how to read temperature, humidity, or accelerometer data from I2C sensors.

EEPROM Programming – Show byte write, page write, and sequential read operations for I2C EEPROMs.

Display Controllers – Document I2C command sequences for OLED and LCD displays.

Training Materials – Create clear educational diagrams for teaching I2C protocol fundamentals.

Export Professional-Quality Diagrams

Export your I2C timing diagrams in publication-ready formats:

  • SVG – Scalable graphics for datasheets and specifications
  • PNG – High-resolution images for documentation
  • WaveDrom JSON – For web-based documentation systems