# 6×10 WS2812 Matrix for XIAO nRF54L15

> Zephyr examples and docs for driving Seeed's 6×10 RGB WS2812 matrix from a XIAO nRF54L15 with a GPIO bit-bang driver.

Canonical page: [6×10 WS2812 Matrix for XIAO nRF54L15](<https://devanmetz.com/portfolio/ws2812-matrix-xiao/>)

Project date: May 2026

Updated: 2026-10-15

Category: Embedded libraries

Status: Open source

Tags: C, Zephyr, nRF Connect SDK, WS2812, Embedded

- **My work:** Zephyr bit-bang driver, demo gallery, hardware docs, and pixel-mapping notes
- **Hardware:** Seeed 6×10 RGB matrix · XIAO nRF54L15
- **License:** MIT

- [View source](<https://github.com/DevanMetz/6x10-RGB-WS2812-Matrix-for-XIAO-nRF54L15>)
- [Hardware notes](<https://github.com/DevanMetz/6x10-RGB-WS2812-Matrix-for-XIAO-nRF54L15/blob/main/docs/hardware.md>)

## In short

I documented how to drive Seeed's 6×10 RGB WS2812 matrix from a XIAO nRF54L15 in Zephyr. The repo includes a GPIO bit-bang driver, a demo gallery, pinout and pixel-mapping notes, and a wiring diagram, because the stock WS2812 SPI driver did not light this panel on that board.

![Close-up photo of a compact 6-by-10 RGB LED matrix on a dark PCB running a left-to-right rainbow gradient, with XIAO-style header pads along the top and bottom edges.](<https://devanmetz.com/_astro/ws2812-matrix-rainbow-demo.DhI3tARG_Z28ssl2.webp>)

The Seeed 6×10 RGB matrix running the rainbow demo from the Zephyr example on a XIAO nRF54L15.

## Overview 

I built community examples and documentation for driving Seeed’s 6×10 RGB (red, green, and blue) WS2812 LED matrix from a XIAO nRF54L15. The project fills a gap for Zephyr (an embedded operating system) and nRF Connect SDK (Nordic’s software development kit) users, with C code, wiring notes, and patterns for the 60 individually controlled lights.

## Getting the panel to light 

The stock `worldsemi,ws2812-spi` driver, which uses SPI (Serial Peripheral Interface) to generate the LED data signal, did not light this panel on this board. I built a GPIO (general-purpose input/output) bit-bang driver, which generates the signal by toggling a pin in software.

The data connection uses **D0/A0**, the XIAO header pin connected to **P1.04** on the nRF54L15. My hardware notes and wiring diagram record that connection alongside the panel’s power and ground pins.

## Finding the pixel order 

I reverse-engineered the pixel mapping by lighting pixels and observing their positions. The 6×10 panel has **10 runs of 6 pixels** in plain raster order: each run follows the same direction. It is not serpentine (alternating direction on successive runs).

Documenting that observed order gives the demos a consistent way to translate positions on the panel into LED indices (numbers identifying individual lights).

## Demo patterns 

I included a demo gallery with a scrolling green dot, solid fills, a wipe, a rainbow, a bouncing dot, a breathing brightness pattern, and a 0–10 counter. These patterns exercise individual pixels, color changes, movement, and number display. The cover photo shows the panel running the rainbow demo.

## Power and wiring 

I prefer **5 V** for the panel’s VCC (power input), with a common ground between the panel and XIAO and D0/A0 connected to DIN (data input). The panel also works at **3.3 V**, with dimmer output. The [hardware notes](<https://github.com/DevanMetz/6x10-RGB-WS2812-Matrix-for-XIAO-nRF54L15/blob/main/docs/hardware.md>) collect the pinout and wiring details.

## Related work 

My [nRF54L15 Support](<https://devanmetz.com/portfolio/nrf54l15-support/>) project provides reusable libraries and Zephyr drivers for the same microcontroller family. This matrix repository focuses on the Seeed panel’s driver, examples, and hardware documentation.

My [Printed LED Sculptures](<https://devanmetz.com/portfolio/printed-led-sculptures/>) are separate projects using printed structures and lighting; they are not builds of this matrix example.

## Build photos

![Wiring diagram connecting a XIAO nRF54L15 5V, GND, and D0/A0 pins to a 6×10 RGB matrix VCC, GND, and DIN, noting that D0/A0 is P1.04.](<https://devanmetz.com/_astro/ws2812-matrix-wiring.BmCpjMLu_Z1rFF1W.webp>)

Wiring diagram from the repository: 5 V to VCC, common ground, and data on D0/A0 (P1.04).

## Related reading

- [nRF54L15 Support](<https://devanmetz.com/portfolio/nrf54l15-support/index.md>)
- [OpenFloat Archery](<https://devanmetz.com/portfolio/openfloat-archery/index.md>)
- [Tab5 OS](<https://devanmetz.com/portfolio/tab5-os/index.md>)
