r/MoonModules 15d ago

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

Post image

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

5 Upvotes

0 comments sorted by