Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi!
Go to file
Frank 188956a4af bugfix for random crash when switching between presets
this is a band-aid fix for random crashes when switching between presets with multiple segments - crossfade disabled.

!! adding type initializers fixed it for me on -S3, however I still see (less frequent) crashes on esp32, due to heap corruption.

It took me hours to get a meaningful stackdump:

assert failed: heap_caps_free heap_caps.c:360 (heap != NULL && "free() target pointer is outside heap areas")

Backtrace: 0x40084ee1:0x3ffb2570 0x4008e341:0x3ffb2590 0x40094709:0x3ffb25b0 0x4008534a:0x3ffb26e0 0x40094739:0x3ffb2700 0x400e9037:0x3ffb2720 0x400e917c:0x3ffb2740 0x400eaeeb:0x3ffb2760 0x40117ec5:0x3ffb27c0 0x401184ea:0x3ffb2800 0x4013509d:0x3ffb2820

  #0  0x40084ee1:0x3ffb2570 in panic_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/panic.c:402
  #1  0x4008e341:0x3ffb2590 in esp_system_abort at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/esp_system/esp_system.c:128
  #2  0x40094709:0x3ffb25b0 in __assert_func at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/newlib/assert.c:85
  #3  0x4008534a:0x3ffb26e0 in heap_caps_free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/heap/heap_caps.c:360
      (inlined by) heap_caps_free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/heap/heap_caps.c:345
  #4  0x40094739:0x3ffb2700 in free at /Users/ficeto/Desktop/ESP32/ESP32S2/esp-idf-public/components/newlib/heap.c:39
  #5  0x400e9037:0x3ffb2720 in Segment::deallocateData() at wled00/FX_fcn.cpp:189
  #6  0x400e917c:0x3ffb2740 in Segment::resetIfRequired() at wled00/FX_fcn.cpp:206
      (inlined by) Segment::resetIfRequired() at wled00/FX_fcn.cpp:203
  #7  0x400eaeeb:0x3ffb2760 in WS2812FX::service() at wled00/FX_fcn.cpp:1216 (discriminator 2)
  #8  0x40117ec5:0x3ffb27c0 in WLED::loop() at wled00/wled.cpp:115 (discriminator 3)
  #9  0x401184ea:0x3ffb2800 in loop() at C:/src/wled00/wled00.ino:20
  #10 0x4013509d:0x3ffb2820 in loopTask(void*) at C:/Users/user/.platformio/packages/framework-arduinoespressif32/cores/esp32/main.cpp:50

ELF file SHA256: 18c20b536f4c6ef4
2023-09-08 12:06:23 +02:00
.devcontainer Add PlatformIO and npm install 2020-12-02 12:45:11 +00:00
.github Restore Github actions CI build (#3187) 2023-04-26 10:52:54 +02:00
.vscode Remove build flag leading to wdt reset on some boards 2022-02-14 18:49:13 +01:00
images Update logo 2021-06-14 01:58:12 +02:00
include added initial PlatformIO config. still needs work 2018-11-14 22:07:04 +01:00
lib added initial PlatformIO config. still needs work 2018-11-14 22:07:04 +01:00
pio-scripts Accept hex color strings in individual LED API 2021-07-10 16:14:17 +02:00
test added initial PlatformIO config. still needs work 2018-11-14 22:07:04 +01:00
tools upgrade -S3/-S2/-C3 to platform 5.3.0 2023-07-20 21:39:25 +02:00
usermods Merge pull request #3348 from djasonic/staircase-toggle-pr 2023-09-02 18:52:16 +02:00
wled00 bugfix for random crash when switching between presets 2023-09-08 12:06:23 +02:00
.envrc Release engineering improvements (#1844) 2021-04-22 00:41:36 +02:00
.gitignore adding wled00.ino.cpp to gitignore 2023-03-16 13:10:33 +01:00
.gitpod.Dockerfile Fix Gitpod compiling (#2875) 2022-11-09 17:59:31 +01:00
.gitpod.yml Fix Gitpod compiling (#2875) 2022-11-09 17:59:31 +01:00
CHANGELOG.md Update CHANGELOG.md 2023-09-07 17:51:28 +02:00
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md 2020-06-22 00:09:00 +02:00
CONTRIBUTING.md Indentation: Consistent use of Tab 2022-03-01 12:14:41 +01:00
LICENSE included MIT license 2016-12-29 00:19:22 +01:00
package-lock.json Release of WLED beta 0.14.0-b4 2023-08-11 23:11:08 +02:00
package.json Release of WLED beta 0.14.0-b4 2023-08-11 23:11:08 +02:00
platformio_override.ini.sample Remove Blynk support (#3102) 2023-02-21 17:07:32 +01:00
platformio.ini Release of WLED beta 0.14.0-b4 2023-08-11 23:11:08 +02:00
readme.md Remove Blynk support (#3102) 2023-02-21 17:07:32 +01:00
requirements.in Release engineering improvements (#1844) 2021-04-22 00:41:36 +02:00
requirements.txt Bump certifi from 2022.12.7 to 2023.7.22 (#3301) 2023-07-26 16:29:21 +02:00

Welcome to my project WLED!

A fast and feature-rich implementation of an ESP8266/ESP32 webserver to control NeoPixel (WS2812B, WS2811, SK6812) LEDs or also SPI based chipsets like the WS2801 and APA102!

⚙️ 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 updatability (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 MIT license
Credits here!

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 MIT license, I assume no liability for any damage to you or any other person or equipment.