🌙 MoonLight
The open-source lighting platform that scales from art installations to professional stages
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.
Lint Status
Build Status
Nightly
Frontend Tests
Backend Tests
🚀 Get Started • 💫 Enjoy • 🛠️ Contribute
▶️ Watch the release 0.6.0 video
▶️ Watch the release 0.7.0 video
🎯 Why Choose MoonLight?
MoonLight bridges the gap between hobbyist lighting projects and professional lighting systems. Get enterprise-grade performance and flexibility without the enterprise price tag.
- ⚡️️ High Performance - 12K LEDs at 100 FPS with FastLED + parallel drivers
- 🎨 3D Effects Engine - Stunning visuals for 1D strips, 2D panels, 3D cubes, and custom layouts
- 🏗️ Flexible Setups - From simple strips to complex installations and DMX fixtures
- 🌐 Modern IoT - ESP32-powered with responsive Svelte 5 interface
- 🎭 Professional Integration - DMX/Art-Net support for stage lighting
- 💝 Open Source - GPL v3 licensed, budget-friendly, community-driven
🚀 Quick Start
1️⃣ Flash & Go
Use our MoonLight Installer to flash MoonLight directly via a USB cable to your ESP32, connect LEDs to it and you are ready to go.
2️⃣ Connect & Configure
Built-in access point makes WiFi setup effortless. Configure through the intuitive web interface.
3️⃣ Create & Enjoy
Start creating stunning effects immediately on both mobile and desktop.
🛠️ Built With Modern Technologies
| Firmware | Interface |
|---|---|
| 🔧 ESP-IDF 5 - Modern ESP32 framework | ⚡️ Svelte 5 - Lightning-fast reactive UI |
| 💡 FastLED 3.10 - Industry-standard LED library | 🎨 DaisyUI 5 - Modern component library |
| 📡 PsychicHTTP 1.21 - High-performance web server | 🎯 Tailwind 4 - Utility-first CSS |
| 📊 ArduinoJson 7 - Advanced JSON processing | 📱 Mobile & Desktop responsive |
🎯 Perfect For
- 🎨 Artists & Creators - Bring your vision to life without breaking the bank
- 🏛️ Small Venues - Professional lighting for theaters, events, and installations
- 🔧 Makers & Hobbyists - Advanced features with user-friendly interfaces
- 💼 Professionals - Integrate into existing lighting systems with standard protocols
- 🏫 Educational - Open source platform perfect for learning and teaching
▶️ Watch the functional overview
📊 Technical Specifications
LED Control
- Performance: up to 12,288 LEDs @ 100 FPS
- Outputs: Typical 1, 4, 16 or 48 parallel LED strips
- Drivers: FastLED + Parallel drivers for high-speed parallel processing
Effects & Layouts
- Dimensions: 1D strips, 2D panels, 3D cubes and custom layouts
- Effects: Layered effects system with modifiers
- Fixtures: DMX lights (PAR lights, Light Bars, Moving Heads)
Connectivity
- Protocols: DMX, Art-Net, WiFi, Ethernet
- Platform: ESP32 with modern web interface
- Integration: Professional lighting system compatible
📈 Release Roadmap
Version 0.6.0 - November 2025
The user-friendly baseline release From 0.6.0 Forward: Community-driven development focused on ease of use, more effects, and expanded hardware support.
Version 0.7.0 - December 2025
Art-Net, board presets and ESP32-P4 release
Version 0.8.0 - January 2026
16K LEDs and more
Version 0.9.0 - March 2026
FastLED Channels API, FastLED Audio, sensors and palettes
See v0.9.0 Kanban board or log an Issue to report issues or request enhancements.
🏗️ Architecture & Flexibility
MoonLight is built on MoonBase and ESP32-Sveltekit, our complete IoT framework:
- 🎮 For LED Enthusiasts - Complete lighting solution out of the box
- 🔧 For Developers - Fork MoonLight and add Effects, Modifiers, Layouts or Drivers or use MoonBase to create custom IoT applications
- 🏭 For Integrators - Embed into larger systems using standard protocols
- 🔌 Modular Design - Add features as needed using the Nodes and Modules system
- 🔩 GPIO Access - Full ESP32 hardware interface
🤝 Community & Support
Get Help & Share Your Creations
- 💬 Discord Community - Real-time support & project sharing
- 🗨️ Reddit - Discussion and showcase
- 📋 GitHub Issues - Bug reports and feature requests
- 📚 Documentation - Complete technical guides
Contributing
We welcome contributions! Whether it's:
- 🐛 Bug fixes and improvements
- ✨ New effects, modifiers, layouts and drivers
- 📝 Documentation updates
- 🎨 UI/UX enhancements
- 🔧 Hardware support
▶️ Watch the developer quickstart tutorial
❤️ Support the Project
MoonLight is free and open source. Help us continue building amazing tools for the community!
🌟 Show Your Support
Star & Follow
- ⭐ Star this repository on GitHub
- 📺 Subscribe to our YouTube channel
- 🔼 Upvote us on Reddit
💝 Buy Us a Beer
Help us enjoy a good beer, a tasty meal, or a fine club night while we code:
Every star, subscription, and contribution helps us dedicate more time to making MoonLight better. Thank you for being part of our community! 🌙✨💫
📄 License & Credits
License: GPL-v3 - Free for personal and commercial use
Built on Amazing Open Source Projects
- ESP32-sveltekit - Foundation framework
- PsychicHttp - High-performance web server
- FastLED - Industry-standard LED library
- ArduinoJson - Advanced JSON processing
- I2SClocklessLedDriver - Parallel LED control
- I2SClocklessVirtualLedDriver - Virtual driver
- ESPLiveScript - Scripts
- WLED-sync - WLED Audio synchronization
🌙 About MoonModules
MoonLight is a MoonModules.org project - Created by the lighting enthusiasts behind WLED-MM.

Our Mission: Make professional-grade LED control accessible to everyone, from hobbyists to professionals.
🔒 Privacy & Analytics
MoonLight can send anonymous usage data to Google Analytics when the device starts. The data is limited to: country, firmware type, board model, and MoonLight version. A random, anonymous client ID is generated on each boot — no persistent device or user tracking is possible.
Opt out anytime via the Track analytics toggle in the WiFi → Station settings page.
See MoonLight analytics for full details, including what data is collected, which third parties receive it (ip-api.com and Google Analytics).
⚠️ Disclaimer
Using this software is at your own risk. While we strive for quality, this software is not bug-free. Contributors to MoonLight are not liable for any issues, including but not limited to spontaneous combustion of LED strips, or the inevitable heat death of the universe. 🔥🕺🌌
Made with ❤️ by the MoonModules community