wled /WLED

Control WS2812B and many more types of digital RGB LEDs with an ESP32 over WiFi!

★ 19,011⑂ 4,457
C++Created 2016-12-20kno.wled.ge
19,011
stars
+46+55+268
4,457
forks
–
watchers
–
prs
–
issues
–
releases
–
discussions

README

Welcome to WLED! ✨

A fast and feature-rich firmware for ESP32 microcontrollers to control addressable LEDs — from simple strips to large 2D matrices and HUB75 panels.

Originally created by Aircoookie, now maintained by a community of contributors.

 🤝 Contributing

Want to help improve WLED? Awesome! Please skim CONTRIBUTING.md first - it covers how we like PRs and issues to look, including our take on AI-assisted contributions.
If you're an AI coding agent, AGENTS.md is for you - please read it before modifying any files. 😊

 ⚙️ Features

 Effects & Visuals
- 200+ built-in effects including classic animations, audio-reactive, and 2D/matrix effects
- 50+ color palettes plus a built-in custom palette editor (PixelForge)
- 2D LED matrix support with dedicated 2D effects and flexible panel mapping
- HUB75 RGB matrix panel support (ESP32)
- AudioReactive effects — included by default, responding to sound via microphone, line-in, or network audio source
- Effect blending for smooth transitions between animations
- Antialiased drawing functions for smooth graphics

 Segments & Control
- Segments — apply different effects, colors and palettes to independent parts of your LED setup simultaneously
- Up to 250 presets to save and recall colors, effects and segment configurations — supports playlists for automated cycling
- Nightlight function with configurable dimming curve
- Configurable Auto Brightness Limiter (per output) for safe operation

 Hardware Support
- ESP32 (all variants: original, S2, S3, C3)
- Up to 17 LED outputs on ESP32 using parallel I2S + RMT
- Addressable LED support: WS2812B, WS2811, WS2815, SK6812, WS2805, TM1914, APA102, WS2801, LPD8806, and many more
- RGBW, RGB+CCT and white-only strips
- PWM outputs for analog LEDs and dimmers
- Ethernet support for a wide range of boards (QuinLED, LILYGO, Olimex, and more)
- Filesystem-based config for easy backup and restore of presets and settings
- Full OTA firmware updates (HTTP + ArduinoOTA), password-protectable

 Connectivity & Integrations
- WLED app for Android and iOS
- JSON and HTTP request APIs
- Multi-WiFi — connect to up to 3 networks with automatic AP fallback
- ESP-NOW wireless sync between devices (no WiFi router required)
- MQTT with Home Assistant discovery
- E1.31, Art-Net, DDP and TPM2.net for DMX/professional lighting control
- UDP realtime sync across multiple WLED devices
- Alexa voice control (on/off, brightness, color)
- Philips Hue sync
- diyHue and Hyperion integration
- Adalight / TPM2 (PC ambilight via serial)
- Infrared remote control (24-key RGB, receiver required)
- Timers and schedules (NTP time sync, full timezone and DST support)

 Developer-Friendly
- Usermod system — extend WLED with community or custom modules without modifying core code
- Large and active usermod library including AudioReactive, temperature sensors, rotary encoders, displays, and much more
- Well-documented JSON API
- Licensed under the EUPL v1.2

 📲 Quick start guide and documentation

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON