Hardware and wiring
The official Seeed 6×10 matrix has 60 WS2812 LEDs, GRB order, 800 kHz data.
XIAO profiles use D0 for DIN, 5 V for matrix power and common GND.
Do not confuse D0 with GPIO0.
| Target |
Matrix DIN |
Optional piezo |
Flash |
| XIAO S3 |
D0 / GPIO1 |
D1 / GPIO2 |
8 MB |
| XIAO C3 |
D0 / GPIO2 |
D1 / GPIO3 |
4 MB |
| XIAO C6 |
D0 / GPIO0 |
D1 / GPIO1 |
4 MB |
| XIAO C5 |
D0 / GPIO1 |
D1 / GPIO0 |
8 MB |
| ESP32 DevKit |
GPIO4 |
GPIO5 |
4 MB minimum |
| ESP32-S2 Saola |
GPIO4 |
GPIO5 |
4 MB minimum |
S3 Sense can use the S3 profile without its camera expansion; cameras are unused.
Other boards may need different flash mode, USB settings or pins. Create a
PlatformIO environment with MATRIX_PIN and BUZZER_PIN overrides.
Power
The default 500 mA matrix budget excludes the ESP32's consumption. It estimates
1 mA idle per pixel plus 20 mA per full-scale color channel. Actual LEDs vary:
this is an estimate, not measured protection. Budget limiting applies to both
nightlight and alert output.
External wiring: supply 5 V to matrix VCC, join supply/ESP32/matrix grounds, and
route the documented GPIO to DIN. Use a suitable 3.3 V-to-5 V level shifter,
a series data resistor (commonly 330–470 ohms), and adequate supply decoupling.
Do not back-feed USB from an external supply.
Optional buzzer
A small passive piezo rated for GPIO drive can connect through an appropriate
series resistor to the buzzer GPIO and GND. Check its current requirement
against the board limits. A powered buzzer or magnetic transducer needs a
transistor/MOSFET driver, appropriate resistors and common ground. Add a flyback
diode for inductive loads. Never power a high-current load from a GPIO.
Active buzzers have their own oscillator and will not reproduce selected pitch
like a passive piezo. Enable buzzer hardware in Alert rules, then enable sound
for selected detections. It starts disabled, with the pin low. Pin changes need
a source build.
Recovery and partitions
Hold BOOT, tap RESET, release BOOT, and select the new port. Close serial
monitors before flashing. All builds use a 3 MB factory partition, NVS settings,
and no OTA. Export settings before a clean install.
References: Seeed matrix,
Arduino board variants,
ESP Web Tools.