MoonLight
🌟 What is MoonLight?
MoonLight is software that runs on ESP32 microcontrollers, providing a web-browser interface to control lights and IoT services. ESP32 devices connect to your local network via WiFi or Ethernet, allowing control through any web browser using the device's IP address or network name.
High Performance
Drive up to 12,288 LEDs at 120 FPS, or scale to 65K+ LEDs at lower framerates. Optimized for ESP32 hardware with parallel processing capabilities.
Web Interface
Intuitive browser-based control panel built with SvelteKit. Control your lights from any device on your network - no apps required.
3D Effects
Advanced node-based system supporting 2D and 3D effects with virtual and physical layers. Create stunning visual experiences with professional-grade tools.
IoT Platform
Built on MoonBase - a complete IoT framework. Create custom applications from simple smart plugs to complex greenhouse management systems.
DMX Support
Control DMX lights via Art-Net protocol. Mix LED strips, panels, and professional lighting equipment seamlessly.
WLED Compatible
Audio sync and compatibility with WLED ecosystem. Easy migration path for existing WLED users with enhanced capabilities.
Industry-leading specifications for demanding applications
🏗️ Architecture
MoonLight's core functionality is called MoonBase, while lighting-specific functionality is MoonLight. MoonLight serves as both a standalone product for end users and a foundation for custom IoT applications:
- Fork and customize - Create GitHub forks for custom applications
- Extensible platform - Build anything from smart plugs to greenhouse management
- Hardware interfaces - Utilize ESP32 GPIO ports and network protocols
- Modular design - Add or remove features as needed
🎯 Installation Options
Easy Installation Methods: - Web Installer - Flash your ESP32 device directly from your browser - Developer Setup - Visual Studio Code with PlatformIO plugin for customization
📊 Technical Specifications
Feature | Specification | Details |
---|---|---|
Max LEDs (High FPS) | 12,288 @ 120 FPS | Optimal for real-time applications |
Max LEDs (Standard) | 65,000+ @ lower FPS | Scale to massive installations |
Parallel Strips | Up to 16 strips | Simultaneous control |
Virtual Strips | Up to 120 strips | Advanced mapping capabilities |
Protocols | WiFi, Ethernet, Art-Net, DMX | Complete connectivity |
Hardware | ESP32 microcontrollers | Industry-standard platform |
Interface | SvelteKit web application | Modern, responsive UI |
Effects Engine | 2D & 3D support | Professional-grade visuals |
🚀 Quick Start Guide
Install
Use our web installer to flash MoonLight directly to your ESP32 device. No complex setup required.
Connect
Configure your WiFi or Ethernet connection. MoonLight creates its own access point for easy initial setup.
Control
Open your browser to the device's IP address and start creating stunning LED effects immediately.
🌟 Key Capabilities
🎮 MoonLight Features
- Multi-light Control - LED strips, panels, and DMX equipment
- Art-Net Protocol - Professional lighting network support
- Virtual & Physical Layers - Advanced effect mapping
- Node-based System - Flexible effect creation and modification
- Real-time Performance - Live monitoring and adjustment
⚙️ MoonBase Functionality
- Device Management - Monitor and control multiple devices
- WiFi Management - Easy network configuration
- Firmware Updates - Over-the-air update system
- System Status - Real-time device monitoring
- File Manager - Direct device file access
📈 Project Status & Roadmap
Current Release Status
Version 0.5.8 - Developer release available now
Version 0.6.0 - End-user release expected September 2025
✨ Coming in 0.6.0:
- Presets controller pad
- User-friendly installer
- Physical and virtual driver for large displays
- WLED audio sync integration
- Enhanced web interface
Project Links: - 📋 Kanban Board - Track development progress - 🔄 Evolution Story - From StarMod to MoonLight - 📚 Complete Documentation - Full technical documentation
🤝 Community & Support
MoonLight is a MoonModules.org project created by lighting enthusiasts who also developed WLED MM and contribute to the broader WLED ecosystem.
Additional Resources:
- GitHub: Star the Repository ⭐
- Discord: Join MoonLight Community 💬
- Reddit: r/moonmodules 🗨️
- Discussions: GitHub Discussions
👨💻 For Developers
We're looking for contributors! Help us build the future of LED control:
Current Opportunities:
- 🎨 New layouts, effects, and modifiers - Expand the creative possibilities
- 🔄 CI/CD automations - Improve development workflow
- 🎹 MIDI controller integration - Professional control interfaces
- 🌐 Web installer improvements - Simplify user onboarding
- 🎯 UI/UX enhancements - Make the interface even better
- 📖 Documentation and tutorials - Help users succeed
Get Involved: - 💬 Developer Discord Channel - 🗨️ Reddit Developer Discussions - 📋 GitHub Issues - 🔄 Pull Requests Welcome
❤️ Support the Project
Love MoonLight? Help us continue development:
📄 License & Acknowledgments
License: GPL-v3
Built with amazing open source projects: - ESP32-sveltekit - Base framework and inspiration - PsychicHttp - High-performance web server - FastLED - Robust LED driver library - ArduinoJson - JSON processing - I2SClocklessLedDriver - Parallel LED control - I2SClocklessVirtualLedDriver - Virtual Driver - ESPLiveScript - Scripts - WLED-sync - Audio
⚠️ Disclaimer: Using this software is at your own responsibility. While we strive for reliability, contributors are not liable for any issues including but not limited to spontaneous combustion of LED strips, houses, or the inevitable heat death of the universe! 🔥🌌
Ready to light up your world? Get started now! 🌙✨