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.

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
| Feature | NRZ (WS2812B) | SPI (APA102) |
|---|---|---|
| Wires | 1 (data) | 2 (clock + data) |
| Refresh rate | ~400Hz | ~2-20kHz |
| Timing critical? | Yes | No |
| Global brightness? | No | Yes (5-bit) |
| Max frequency | 800kHz | 10-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)