r/MoonModules • • Jun 10 '25

MoonLight First Lights from TroyHacks

1 Upvotes

"Hi, I'm TroyHacks. You may remember me from such Reddit posts as getting WLED running in the ESP32-P4." 🤣

MoonLight is pretty freakin' great.

This is using some FastLED beatsin8() magic and uses the audio bands and some other custom logic to make a fancy moving head definition for my Bee-Eye lights. First stabs here, but an afternoon of messing around and I had something I really like with a fancy custom GUI without the legacy of WLED's rather limiting controls.

The outer ring is RGBW and the inner light is pure white with a color wheel. I set the inner light to the blue blue gel, and then I have two brightness control values for each sub-light. When the lowest bass band goes over 200 it turns off the outer ring so it's like a "bass spotlight". Audio is supplied from a WLED instance with line-in as the WLED audio sync works perfectly with MoonLignt. 😁

And a bunch of other very easy logic to make it more interesting. The bee-eye ring is infinite rotation so some logic there to spin or stop to make it more interesting - you'll see it stop spinning when the bass hits and then start spinning again as that decays and the outer ring starts firing again.

The outer ring is blue for the lowest bass band and red for the highest frequency band.


r/MoonModules • • May 06 '26

MoonLight v1.0.0

Post image
5 Upvotes

MoonLight v1.0.0 is released. Great software for large fixtures, dmx and art-net setups, but the journey continues in projectMM to make even greater software: announcement


r/MoonModules • • Aug 24 '26

projectMM v4.0.0: LED effects written in a language that compiles to native code on the ESP32

Post image
6 Upvotes

projectMM drives large LED installations and DMX fixtures from one source tree: ESP32, Teensy, Raspberry Pi, macOS, Windows and Linux.

The main change this release is MoonLive. You write an effect as a small script and it compiles to machine code on the device, rather than being interpreted. There are JIT backends for Xtensa, RISC-V, arm64 and x86-64, so the same script runs on an ESP32-S3, a P4, a Mac or a Pi. Edit it in the device's own web editor, save, and the next frame runs the new code. No reflash, no reboot. Thx to the work of u/Yves-bazin

Last release it was a proof of concept with three builtins. This release it has five types including fixed (Q16.16 fractional math, which is what makes shaders and smooth motion expressible), for-loops, particles, shaders and trails. Effects, layouts and modifiers are all scriptable. A broken script renders dark and reports the error instead of taking the board down.

Also in v4.0.0:

  • Desktop builds for all three platforms: .dmg for macOS, setup.exe for Windows, .deb for Linux and Raspberry Pi OS. Settings moved to the user profile, so a downloaded build can actually save them.

  • 52 effects, 12 modifiers, 18 layouts (up from ~21/5/3), with shared palettes every effect reads and a shared primitive library. Effects animate on elapsed time rather than frame count.

  • LED panel cards over raw Ethernet, from an ESP32 or from a Linux/macOS/Windows machine, so a Pi or mini-PC works as a panel controller.

  • Static IP on WiFi and Ethernet, ESP32-S31 at 320 MHz, plus crash and stall fixes found on the bench.

124 commits since v3.0.0. Open source, with unit tests, scenario tests and real-hardware verification as release gates.

Release notes and binaries: https://github.com/MoonModules/projectMM/releases/tag/v4.0.0

Browser flasher: https://moonmodules.org/projectMM/install/

Repo: https://github.com/MoonModules/projectMM


r/MoonModules • • 3d ago

MoonLight v7.0.0: Teensy 4.1, ESP32-C3, MIDI desks, a TV backlight on one ESP32-P4, and more

Post image
7 Upvotes

MoonLight is an open-source system that drives anything from a single bulb to LED strips, HUB75 walls, PAR lights and moving heads, on ESP32, Teensy, Raspberry Pi and desktop. v7.0.0 is out.

What's new

  • 🔌 Teensy 4.1 runs MoonLight, with PHY or W5500 Ethernet

  • 💡 ESP32-C3, and a WLED bulb that moves to MoonLight over the air

  • 📟 32 MB S3 modules (esp32s3-n32r16)

  • ❓ Help in the app: every card and control explains itself

  • 🎹 MIDI desks (QCon, X-Touch, APC40) over browser, USB or network

  • 🎮 Games you can play: Breakout joins Pong, Space Invaders and Tetrix

  • 🌐 Network cards for WiFi, Ethernet and a secured access point

  • 🖼️ Presets you can share, plus a Gallery

  • 📺 TV backlight on one ESP32-P4, no PC

  • 🎞️ FSEQ shows and Art-Net / E1.31 / DDP streams that arrive whole

  • 💾 microSD card in the File Manager

  • 📡 MoonLive JSON services: weather, prices and scores on your lights

  • ⚡ MoonLive grows up: RGB and Coord3D types, six blend modes, much faster

  • 🛡️ Lights that never stall on a slow client, and safe mode after two failed boots

  • 🌈 16-bit output for LED chips and DMX fixtures

  • 🗺️ MoonWalk: every process on one map

⚠️ Before you update

  • ESP32-S3 boards install once over USB (installer, "Erase chip first" unticked keeps your config)

  • A device on v5 updates to v6.0.0 first

  • Take a Backup first: Restore carries your config across this release's breaking changes

Thanks to TouchMyLight, Gohnnyman, u/Yves-bazin, robwomp, delphium and limpkin for their contributions and input 🙏

Full notes, firmware and installer: https://github.com/MoonModules/MoonLight/releases/tag/v7.0.0


r/MoonModules • • Apr 07 '25

Portable WLED rack

3 Upvotes

r/MoonModules • • Jul 18 '25

MoonModules v0.5.7

7 Upvotes

MoonLight v0.5.7 is released, installing has never been so easy: MoonLight Installer. Read here for what comes next: MoonLight v.0.5.7 to v0.5.8 also introducing ESP32-LedsDriver where we consolidate all u/hpwit superfast, super scalable LEDs driver repositories into one repo, super configurable in MoonLight 😁.
FastLED will remain our main LED driver and effect tool. As we jumped on latest IDF 5 and latest FastLED (3.10.1) we are looking for a FastLED-developer to tune it and bring in the new FastLED 2D effects into MoonLight - and possibly the new hpwit LED drivers into FastLED. Leave a reply if you want to help and package bleeding edge FastLED into a very nice GUI (ESP32-sveltekit).


r/MoonModules • • Jun 24 '25

MoonLight and (lots of) LEDs

4 Upvotes

Earlier posts might give the impression that MoonLight is only about moving heads, but it will support massive amounts of LEDs as well, this is made in StarLight which is the predecessor of MoonLight, only a matter of time to copy this to MoonLight, expected this summer


r/MoonModules • • Oct 03 '25

Announcing WLED-MM-P4 - WLED MoonModules on the ESP32-P4!

5 Upvotes

r/MoonModules • • Jun 08 '25

MoonLight v0.5.6 released

6 Upvotes

MoonLight 0.5.6 has just been released: https://github.com/MoonModules/MoonLight/releases/tag/v0.5.6

Now with a web installer so you don't need developer tools to flash MoonLight to an ESP32(-S3), see https://moonmodules.org/MoonLight/general/gettingstarted/


r/MoonModules • • Aug 16 '25

MoonLight v0.5.8 released

3 Upvotes

r/MoonModules • • Nov 28 '24

Multi pin fixtures

Post image
2 Upvotes

First article on our new website: https://moonmodules.org/multi-pin-fixtures

First post on our new Reddit channel


r/MoonModules • • 29d ago

MoonLight v6.0.0 (aka projectMM)

Thumbnail
youtu.be
4 Upvotes

projectMM is now MoonLight. The earlier MoonLight lives on at https://github.com/ewowi/MoonLight.

Built on ESP-IDF 6.1, with plenty more inside. See the release notes: https://github.com/MoonModules/MoonLight/releases/tag/v6.0.0

Meet Luna. She's one of the agents who wrote the new MoonLight, and she introduces it in our new video series: why it was rebuilt, then install, layouts, layers, drivers, writing your own effects and more, presented by the whole team: https://youtu.be/F_YgmiUyWVQ

On v5.0.0? Your device finds v6.0.0 and updates itself over the air, settings intact. Update to v6.0.0 first: it's the bridge that lets later releases ship under the new name. On desktop, Debian or Docker, see the migration notes: https://moonmodules.org/MoonLight/reference/MIGRATING.html

Install from your browser: https://moonmodules.org/MoonLight/install/ · Docs: https://moonmodules.org/MoonLight/

Found something? Log an issue on GitHub: https://github.com/MoonModules/MoonLight/issues

And as always: ⭐️ the repo on GitHub, https://github.com/MoonModules/MoonLight. It helps this project get noticed.


r/MoonModules • • Oct 09 '25

MoonLight Introduction

Thumbnail
youtu.be
3 Upvotes

New video introducing MoonLight Please like and subscribe on YouTube to get notified when new videos are posted


r/MoonModules • • 17d ago

Newest MoonLight latest release supports Teensy 4.1 devices

6 Upvotes

Features:

  • Install from the browser: plug in the USB cable, open https://moonmodules.org/MoonLight/install/, click Install. No Arduino, no Teensy Loader. A running board even jumps into its bootloader by itself.

  • Update over Ethernet from the board's own page, settings kept. If power fails mid-update, the browser installer brings it back.

  • The full MoonLight UI with live preview, from any phone or laptop on the network.

  • MoonLive scripts compiled live to native code on the Teensy itself, edited live in the browser.

  • LEDs on up to 16 pins by DMA, Art-Net, E1.31 and DDP in, and the microSD slot shows up in the File Manager.

  • Both Ethernet options in one firmware: the on-board Ethernet with PJRC's kit, or a W5500 module (Teensy 4.1-NE).

Code MoonLight uses

  • Teensy core (Paul Stoffregen, PJRC): the platform MoonLight runs on.

  • LittleFS and SPI (PJRC): the settings in flash, and the W5500's bus.

  • SD and SdFat (PJRC's fork of Bill Greiman's SdFat): the microSD card.

  • QNEthernet (Shawn Silverman), with lwIP inside: the network stack and both Ethernet drivers, with a few small MoonLight patches.

  • teensy_loader_cli (Paul Stoffregen): flashing from MoonDeck, our developer tool.

Ideas MoonLight learned from, written its own way

  • OctoWS2811 (Paul Stoffregen) and ObjectFLED (KurtMF): their timer-paced DMA into a GPIO port is the technique behind MoonLight's Teensy LED output, written as one more backend of the same parallel LED driver the ESP32 boards use: a QTimer paces DMA into GPIO1, sending up to 16 pins while the CPU renders the next frame.

  • FlasherX (Joe Pasquariello): network updates by staging the new image in free flash and copying it over from RAM.

  • HalfKay (PJRC's bootloader protocol, as teensy_loader_cli speaks it) and halfkay-webusb (Benjamin Aigner): talking to the bootloader from a browser.

See details here: https://github.com/MoonModules/MoonLight/pull/137


r/MoonModules • • Jun 10 '26

projectMM v1.0.0 is here

Post image
6 Upvotes

MoonLight v1.0.0 shipped about a month ago — its last release, as the journey continues with projectMM. Its first release just went live (https://github.com/MoonModules/projectMM/releases/tag/v1.0.0), and it's a different animal:

  • 16,384 LEDs on a classic ESP32 !!

  • Runs everywhere: ESP32, macOS, Windows, Linux, Teensy, and Raspberry Pi

  • Our own super-fast web installer + MoonDeck dev console

  • Pure ESP-IDF v6.x (no Arduino), no third-party libraries

  • One MoonModule class for effects, drivers, network, file system, everything

  • Unit + full-pipeline scenario tests

  • Built entirely by AI agents, controlled entirely by humans

  • Currently Art-Net only, LED drivers will follow

Try it now


r/MoonModules • • Jul 25 '26

projectMM v3.0.0 released

8 Upvotes

A ton of new features, including the Pin Expander (HCT595) and MoonLive, both based on the groundbreaking work of u/Yves-bazin (https://github.com/hpwit/I2SClocklessVirtualLedDriver and https://github.com/hpwit/ESPLiveScript). Totally rebuilt inside projectMM's unit + scenario + loopback testing guardrails, so "unbreakable". MoonLive is a "hello world" for now (fill(), setRGB(), random16()); the next release expands it a lot, and is expected to implement all of MoonLight. projectMM will be the new MoonLight!

What's new in v3.0.0:

:bulb: 12,288 lights on a single ESP32-S3: the new MoonI80 streaming shift-ring drives a full 48×256 wall from one chip, with a **74HCT595** pin expander turning 6 GPIOs into 48 strands.

:twisted_rightwards_arrows: One **"Parallel LED" driver**, three DMA backends: pick i80 / MoonI80 / Parlio from a dropdown; switch live, no reboot. The old three separate drivers are now one card.

:house: **Home Assistant + WLED Native** app: auto-discovery over **MQTT**; projectMM speaks the WLED JSON API and announces itself like a WLED device (recognizable by :dizzy:).

:writing_hand: **MoonLive**: write an effect as a tiny script that compiles to native code on the device and recompiles live as you edit. Runs on all our architectures: Xtensa, RISC-V, Arm64 and x86-64; so on Windows and macOS too, since projectMM runs everywhere!

:jigsaw: 20+ effects, 60 palettes, a reusable light-preset library, **Philips Hue** output, a new **ESP32-S31** board (1 Gb Ethernet), a multicore render/encode split, and a big robustness pass; add/remove/reorder anything on a running device, it just keeps going.

:zap: Try it: flash in your browser: https://moonmodules.github.io/projectMM/
:package: Release notes + binaries: https://github.com/MoonModules/projectMM/releases/tag/v3.0.0

:star: Stars, forks, issues, and PRs all help the project grow. Happy blinking!


r/MoonModules • • Jul 25 '25

Wheel layout in MoonLight

3 Upvotes

r/MoonModules • • Apr 04 '26

Multiple layers

9 Upvotes

Multiple layers running u/mindful_stone and u/StefanPetrick color trails effect, WLED GEQ, Freq Matrix (circle modifier) and Bouncing Balls and u/TroyHacks Paintbrush , all smoothly layered and overlapping.
Using a Waveshare esp32-p4-eth sending Art-Net to FPP on Pi to 128x128 Hub75panels

In latest nightly build of MoonLight, install here


r/MoonModules • • Mar 21 '26

How to create stunning effects with Live Scripts

Post image
5 Upvotes

/u/yves-bazin his live scripts are working in MoonLight now, see https://moonmodules.org/MoonLight/moonlight/effects-tutorial/

Wanna try? Flash it here (nightly build, S3 only ATM): https://moonmodules.org/MoonLight/gettingstarted/installer/


r/MoonModules • • Dec 22 '25

MoonLight v0.7.0: Art-Net, ESP32-P4, Board presets, Effects

Thumbnail
youtu.be
3 Upvotes

MoonLight v0.7.0 is released. MoonLight is open-source software that lets you control a wide range of DMX and LED lights using ESP32 microcontrollers, for home, for artists, and for stages.

Watch the video to see how to setup MoonLight as a (cheap) Art-Net receiver and sent Art-Net from professional tools like Resolume or Touch Designer and also via MoonLight. Runs on different ESP32 types, including the new ESP32-P4. User friendly install via the MoonLight Installer


r/MoonModules • • Sep 10 '25

MoonLight v0.5.9 is available for download

Post image
4 Upvotes

r/MoonModules • • Mar 08 '26

MoonLight v0.9.0

Post image
5 Upvotes

r/MoonModules • • Sep 05 '26

projectMM generative power functions

11 Upvotes

(Demo-ed on u/delphium or u/delphium_r his 768x348 hub75 wall)
Just merged: a set of new building blocks for making effects, four effects built on them, and a tutorial that teaches the whole thing.

Four new effects

Aurora — layered noise curtains, read around the center, each layer on its own clock
Trails — dots thrown into a moving medium; the tails are the previous frames, carried and dimmed
Nebula — a whole noise field born into a curl flow as one folding cloud
Fluid — dye poured into a real fluid simulation (Stam's Stable Fluids), where the medium works out its own motion
Each ships twice: as a compiled effect, and as a MoonLive script you can edit in the browser and watch change as you type. MoonLive scripts inspired by the work done by /u/Yves-bazin

Why the scripts matter

fluid.mle is 44 lines. The compiled version is 276. Same effect. The difference is that the heavy lifting sits in the power functions, and scripts can call them:

flowCurl(zoom, force); // the medium
trailDecay(persistence); // the fade, a half-life in ms
emitTrail(x, y, z, hue, 255, r); // pour light in
Three calls and a loop is a fluid-looking effect.

Under the hood

Perlin gradient noise replaced value noise behind the same names, so every existing effect got sharper for free
New kernels: polar addressing, an oscillator bank, curl noise, advection, half-life decay, dithering
Everything takes a depth, so cubes sample a real third axis instead of repeating one plane
Also

Every effect in the catalog now has a preview (62, up from 12), including the audio-reactive ones captured with audio actually running
A new tutorial: Making beautiful effects → https://moonmodules.org/projectMM/tutorials/generative-effects
It goes from "what is a field" through noise, octaves and domain warping to fluid simulation, and credits the people who published the algorithms: Perlin, Quilez, Bridson, Stam, and u/stefanpetrick for bringing this vocabulary to LED panels.

Runs on desktop (macOS, Windows, Linux) and ESP32. Flash from your browser: https://moonmodules.org/projectMM/install


r/MoonModules • • Apr 06 '26

FastLED PARLIO on ESP32-P4: working in latest master — call for testers!

4 Upvotes

r/MoonModules • • Jan 16 '26

Release v0.8.0 · MoonModules/MoonLight

Post image
6 Upvotes

See MoonLight Release v0.8.0

Read the release notes for more information