How to Read and Draw an SPI Timing Diagram

Creating SPI timing diagrams has never been easier. WavePaint includes ready-to-use SPI examples and intuitive tools to document any SPI communication protocol.

Understanding SPI Timing Diagrams

The Serial Peripheral Interface (SPI) is one of the most widely used communication protocols in embedded systems. SPI timing diagrams show how the clock, data, and chip select signals interact during data transfer.

Key SPI Signals

  • SCLK (Serial Clock) – The clock signal generated by the master device
  • MOSI (Master Out Slave In) – Data transmitted from master to slave
  • MISO (Master In Slave Out) – Data transmitted from slave to master
  • CS/SS (Chip Select) – Active-low signal to select the target slave

SPI Modes and Clock Polarity

SPI operates in four modes defined by Clock Polarity (CPOL) and Clock Phase (CPHA):

Mode CPOL CPHA Description
0 0 0 Clock idle low, data sampled on rising edge
1 0 1 Clock idle low, data sampled on falling edge
2 1 0 Clock idle high, data sampled on falling edge
3 1 1 Clock idle high, data sampled on rising edge

Create SPI 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 SPI Example

WavePaint includes a professional SPI timing diagram example that you can use as a starting point. Load it from File → Load Example → SPI, then customize it for your specific application.

Features Perfect for SPI Documentation

  • Bit signals – Show SCLK, CS, and single-bit data lines with crisp transitions
  • Vector signals – Display MOSI/MISO data as hex or binary values
  • Arrows – Indicate sampling edges and data valid windows
  • Markers – Highlight clock edges and setup/hold times
  • Annotations – Label command bytes, address phases, and data regions
  • Signal groups – Organize master and slave signals separately

Show All Four SPI Modes

Need to document all SPI modes for a datasheet? Use WavePaint’s duplicate signal feature to quickly create diagrams showing Mode 0, 1, 2, and 3 side by side. Use arrows to clearly indicate the sampling edge for each mode.

SPI Timing Parameters

When documenting SPI interfaces, you often need to show timing parameters. WavePaint’s time span markers and text annotations make this easy:

  • tSETUP – Data setup time before clock edge
  • tHOLD – Data hold time after clock edge
  • tCLK – Clock period
  • tCSS – Chip select setup time
  • tCSH – Chip select hold time

Export Options for Datasheets

Export your SPI timing diagrams in the format you need:

  • SVG – Perfect for datasheets and technical publications (scalable)
  • PNG – High-resolution images for documentation
  • WaveDrom – For embedding in web-based documentation

Start Creating SPI Diagrams

Whether you’re documenting a sensor interface, flash memory protocol, or custom SPI peripheral, WavePaint has the tools you need. No installation required – start drawing in your browser now.