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
