MorayGlow
RGB LED strip controller built on the XIAO ESP32-S3 with custom PCB design, MOSFET drivers, and buck converter power regulation.
// Overview
MorayGlow is a custom-designed PCB that controls 5050 RGB LED strips using three IRLML6344TR N-channel MOSFETs for individual R/G/B channel PWM. Power is regulated via an MP1584 buck converter stepping down from 12V to 3.3V, with a Schottky diode providing USB back-feed protection during programming.
The board was designed in KiCad, fabricated by PCBWay, and assembled using hot-plate reflow soldering. The firmware runs on the XIAO ESP32-S3 using PlatformIO with the Arduino framework.
// Pins used
| Pin | GPIO | Function |
|---|---|---|
| D0 | GPIO1 | Red channel PWM |
| D1 | GPIO2 | Green channel PWM |
| D2 | GPIO3 | Blue channel PWM |
// Key decisions
Why IRLML6344TR?
Logic-level gate threshold (1.0V typical) means it switches fully on at 3.3V. SOT-23 package keeps the board compact, and it handles the current draw of 5050 LED strips comfortably.
Why remove the copper fill?
The original ground pour was causing solder bridging during hot-plate reflow. Removing it resolved the issue without affecting performance — the trace widths were already sized for the current loads.
Why Schottky diode for back-feed protection?
When the board is powered via the 12V input and simultaneously connected to USB for programming, the buck converter output could back-feed into the USB port. The Schottky diode prevents this with minimal voltage drop.