CMozGlow is here: We built a NeoPixel library that writes your code for you
We make things that light up and get worn. So we've spent years teaching people their first addressable LED project — in classrooms, in workshops, and in the comments of our CMozMaker videos. And the same thing happens every single time.
PLATFORM.IO Version
The wiring takes five minutes. The software takes the evening.
Meet CMozGlow: the easiest NeoPixel library in the world (we checked)
Not because NeoPixels are hard — because the tools assume you already know what you're doing. Upload a sketch with a typo in a pixel number and you get… nothing. Silence. A dark strip and no idea why. For someone's first project, that silence is where the fun goes to die.

So we built the library we always wished existed. Today we're releasing CMozGlow — a free, open-source WS2812B/NeoPixel library for our CMoz ESP32-S3 Mini — and we genuinely believe it's the easiest way in the world to get LEDs glowing. Here's our case.
Exhibit A: change one number
Your entire first project is this. Pick an effect from the table, change the number, upload:
#include <CMozGlow.h>
const uint8_t EFFECT = 8; // 8 = Aurora. Try 1 = Sequin, 4 = Heartbeat...
const uint16_t NUM_LEDS = 1; // just the LED on your board
const uint8_t SPEED = 5; // 1 dreamy ... 10 party
const uint32_t COLOR = CMozGlow::Color(255, 42, 120);
CMozGlow glow(NUM_LEDS);
void setup() {
glow.begin();
glow.setEffect(EFFECT);
glow.setEffectColor(COLOR);
glow.setEffectSpeed(SPEED);
}
void loop() {
glow.update();
}
No pin numbers to look up (your CMoz board's LED is already the default). No colour-order mysteries. No delay() loops that freeze your buttons. Ten effects, one number.
And they're our kind of effects — named for fabric and runways, not test patterns: Sequin glints like stage light on a costume, Catwalk sweeps end to end, Loom weaves two colour threads, Silk rolls a sheen along the strip, Heartbeat actually goes lub-dub, and Aurora is the northern lights, because we're Canadian and we couldn't help ourselves. There's even a Morse effect that blinks any message you type in real Morse code — our favourite classroom challenge ever.

Exhibit B: it tells you what went wrong, in English
This is the feature we're proudest of. Every other LED library fails silently. CMozGlow talks to you:
pixel index is past the end of the strip — indexes run 0 to numPixels()-1
LED count must be between 1 and 2000 — remember to include the onboard pixel
Made a mistake? You get a sentence telling you exactly what to fix. And for projects that are already sewn shut, flip on the status pixel and the board's own LED becomes a health light: green means happy, red means check your code. Debugging, no laptop required.
Exhibit C: it won't cook your battery
Wearables run on small batteries, and a strip of NeoPixels at full white can pull more current than a little LiPo should ever give. Tell CMozGlow your limit — one line, glow.setPowerBudgetmA(250); — and it estimates every frame's power draw and automatically dims to stay under it. You design the sparkle; the library minds the electricity. We think every wearable LED project should work this way, so ours does, by default.
(For the advanced folks: there's also AutoPilot mode, which gives your LEDs their very own CPU core on the ESP32-S3 so your sensors, buttons and Bluetooth never stutter. One line: glow.autoUpdate(true);. Your move, other libraries.)

Exhibit D — the big one: write your code by playing
Here's the part we're most excited to show you.
We built a live simulator and code generator that runs right in your browser: [link to the CMozGlow simulator]. A 3D strip of twenty LEDs on a ribbon of fabric, with every knob the library has — effects, colour, speed, brightness, even the power budget with a live current meter.
But here's the trick: it's not an animation pretending to be the library. It runs the library's actual math — the same colour curve, the same power model, the same effects, the same error messages. And as you play, it writes your Arduino sketch for you, live. Dial in exactly the glow you want, hit copy, paste, upload — and your real LEDs do precisely what your screen showed.
You can design your whole light show on the bus. Before your board even arrives.
We've never seen another hobby LED library offer that, and honestly, it's why we're comfortable with the headline. The easiest NeoPixel library in the world isn't the one with the shortest sketch — it's the one where you don't have to write the sketch at all.
Get glowing
- The library: free and MIT-licensed — grab it at [GitHub link], or install from the Arduino/PlatformIO library managers.
- The simulator & code generator: [simulator link] — no hardware needed, works on your phone.
- The board: the CMoz ESP32-S3 Mini, with its onboard NeoPixel ready to glow out of the bag — [shop link to follow on launch!].
- Tutorials: we're doing a full build series on CMozMaker — first video drops soon.
Made with 💛 in Canada, for everyone whose first LED project deserves to work on the first try. Go make something that glows — and when you do, tag us. We genuinely want to see it.
Live on PlatformIO!

PlatformIO — available on the PlatformIO Registry. Just add one line to your platformio.ini:
; platformio.ini
[env:cmoz_s3_mini]
platform = espressif32
board = esp32-s3-devkitc-1
framework = arduino
lib_deps = cmoz/CMozGlow@^1.1.0
All details are covered in the README file on GitHub.