Skip to content

SPI Protocols for Pixel LEDs

SPI Protocols for Pixel LEDs

Pixel LEDs communicate using serial data protocols. Understanding these helps you choose the right chip and troubleshoot issues.

WS2812B timing diagram from datasheet

Single-Wire NRZ (WS2812B, SK6812, WS2815)

Uses one data wire with strict timing:

WS2812B timing (800kHz):

Bit 1 (high):  0.85µs high, 0.40µs low
Bit 0 (low):   0.40µs high, 0.85µs low
Reset:         >280µs low (all zeros)

Pros: Single wire, simple wiring Cons: Strict timing, no error checking, limited refresh rate

2-Wire SPI (APA102, SK9822, P9813)

Uses clock (CI) and data (DI) wires:

  • Clock provides synchronized timing
  • Data carries pixel values
  • No strict timing — clock handles synchronization

Pros: Higher refresh rates (2kHz+), global brightness control, no timing issues Cons: 2 wires instead of 1, slightly more expensive chips

Comparison

FeatureNRZ (WS2812B)SPI (APA102)
Wires1 (data)2 (clock + data)
Refresh rate~400Hz~2-20kHz
Timing critical?YesNo
Global brightness?NoYes (5-bit)
Max frequency800kHz10-20MHz
Price per LED~$0.05-0.10~$0.10-0.20

Other Protocols

  • TM1814 — 4-channel (RGBW), 800kHz NRZ
  • UCS1903 — 400kHz NRZ (older, slower)
  • GS8208 — 12V, 800kHz NRZ with backup data line
  • LPD6803 — 250kHz SPI-like (obsolete)