* Added the Spinning Wheel effect into the user_fx usermod * Fixed integer overflow when storing color scale in aux1. And added a comment about the velocity scaling. * Additions/changes: * Added Color Per Block checkbox. Enabled will set the spinner LEDs to the same color (instead of changing colors depending on the palette and LED position). * Added Sync Restart checkbox. Enabled means that all spinners will restart together (instead of individually) after they have all stopped spinning. * Added resizing the spinner slider (between 1 and 10 LEDs). * Changed how we do random speed and slowdown start time (sliders set to 0 = random). * tweaks here and there * One minor fix for the spinner colors * Changed the two analogRead() to hw_random16() * Changes from SEGLEN to vstripLen suggested by coderabbitai, but it's not working correctly now. Committing and pushing so coderabbitai can check the latest code. * Rolled back changes from vstripLen to SEGLEN as that is what works correctly. Also changed to the global paletteBlend. * Fixed a color issue by using ColorFromPaletteWLED() instead of color_from_palette(). Also removed color_wheel() and the Color Mode option as it's very similar to the new color function. And now using strips variable instead of SEGMENT.nrOfVStrips() after the initial assignment at the top of the code. * Added the ability to spin the wheel(s)/spinner(s) with a push button or the new Spin Me checkbox. * Set default of check1 to 1 so it will automatically spin.
Welcome to WLED! ✨
A fast and feature-rich implementation of an ESP32 and ESP8266 webserver to control NeoPixel (WS2812B, WS2811, SK6812) LEDs or also SPI based chipsets like the WS2801 and APA102!
Originally created by Aircoookie
⚙️ Features
- WS2812FX library with more than 100 special effects
- FastLED noise effects and 50 palettes
- Modern UI with color, effect and segment controls
- Segments to set different effects and colors to user defined parts of the LED string
- Settings page - configuration via the network
- Access Point and station mode - automatic failsafe AP
- Up to 10 LED outputs per instance
- Support for RGBW strips
- Up to 250 user presets to save and load colors/effects easily, supports cycling through them.
- Presets can be used to automatically execute API calls
- Nightlight function (gradually dims down)
- Full OTA software updateability (HTTP + ArduinoOTA), password protectable
- Configurable analog clock (Cronixie, 7-segment and EleksTube IPS clock support via usermods)
- Configurable Auto Brightness limit for safe operation
- Filesystem-based config for easier backup of presets and settings
💡 Supported light control interfaces
- WLED app for Android and iOS
- JSON and HTTP request APIs
- MQTT
- E1.31, Art-Net, DDP and TPM2.net
- diyHue (Wled is supported by diyHue, including Hue Sync Entertainment under udp. Thanks to Gregory Mallios)
- Hyperion
- UDP realtime
- Alexa voice control (including dimming and color)
- Sync to Philips hue lights
- Adalight (PC ambilight via serial) and TPM2
- Sync color of multiple WLED devices (UDP notifier)
- Infrared remotes (24-key RGB, receiver required)
- Simple timers/schedules (time from NTP, timezones/DST supported)
📲 Quick start guide and documentation
See the documentation on our official site!
On this page you can find excellent tutorials and tools to help you get your new project up and running!
🖼️ User interface
💾 Compatible hardware
See here!
✌️ Other
Licensed under the EUPL v1.2 license
Credits here!
CORS proxy by Corsfix
Join the Discord server to discuss everything about WLED!
Check out the WLED Discourse forum!
You can also send me mails to dev.aircoookie@gmail.com, but please, only do so if you want to talk to me privately.
If WLED really brightens up your day, you can
Disclaimer:
If you are prone to photosensitive epilepsy, we recommended you do not use this software.
If you still want to try, don't use strobe, lighting or noise modes or high effect speed settings.
As per the EUPL license, I assume no liability for any damage to you or any other person or equipment.



