Skip to content
MCU Atlas
ESP32ESP32ESP8266Draft

WLED: Wi-Fi control for addressable LED strips on ESP32

The go-to firmware for controlling WS2812B and similar LED strips from a phone, with 100+ effects and Home Assistant support.

Difficulty:BeginnerCost:Source available

Key Facts

  • Chip: ESP32 / ESP8266
  • LEDs: WS2812B, SK6812, APA102 and more
  • Control: web UI, app, Home Assistant, MQTT
  • Protocols: E1.31, DDP, Art-Net

About This Project

WLED is firmware that turns an ESP32 (or ESP8266) into a web-controlled LED controller for addressable strips like WS2812B and SK6812. It ships with a huge effect and palette library, segments, presets, playlists, sound-reactive forks, and integrations for Home Assistant, Alexa, MQTT and E1.31/DDP lighting protocols. A beginner can flash it from the browser and have lights running in minutes, while advanced users build whole-house and holiday displays on it.

Source & Attribution

Creator: wled (@wled)
Source: GitHub
License: EUPL-1.2
Last verified: 10/16/2026
How to Build It
WLED is a popular firmware for driving addressable LED strips (WS2812B, SK6812, APA102 and more) from an ESP32 or ESP8266. It has a web UI and app, over 100 effects, segments and presets, and works with Home Assistant, MQTT, E1.31 and Art-Net.
Draft: steps not yet verified

Parts Needed

  • ESP32 (or ESP8266) dev board
  • Addressable LED strip, e.g. WS2812B
  • 5V power supply sized for the strip (up to ~60mA per LED at full white)
  • Optional: level shifter (3.3V to 5V data), 330Ω resistor on the data line, 1000µF capacitor across power

Steps

  1. 1

    Wire the strip

    Run the strip's 5V and GND straight from the power supply, share GND with the ESP32, and connect data to the GPIO WLED uses by default (GPIO2 on most ESP32 builds; you can change it later). A level shifter makes data more reliable.

  2. 2

    Flash WLED

    Open install.wled.me in Chrome or Edge, connect the board over USB and click Install.

  3. 3

    Connect to Wi-Fi

    Join the WLED-AP hotspot (the password is in the docs), then enter your home Wi-Fi details on the captive page.

  4. 4

    Set up LEDs

    In Config > LED Preferences, enter the LED count, type and data pin. Turn on the brightness limiter to match your supply's current.

  5. 5

    Integrate

    Install the WLED app, or let Home Assistant discover the device automatically. Save effects and colours as presets and playlists.

  6. 6

    Tips

    Inject power every few hundred LEDs to avoid colour drift. Usermods add audio-reactive effects, sensors and displays.

Parts List (BOM)
Parts list inferred by MCU Atlas — check the original
inferred
PartQtyRoleEst. PriceBuy
1main board$5–$10View
1 m+LEDs$5–$15View
5 V power supply sized for strip (~60 mA per LED max)
Size PSU for LED count; inject power on long runs
1power——
Estimated Total$10–$25 USD

Not included: 3D-printed case, wire, solder, USB cable

Download CSV

Related Projects

Watchy: open-source ESP32 e-ink smartwatch
Illustration
ESP32Draft
An open-source smartwatch with a 1.54in e-paper screen and ESP32, hackable watch faces in Arduino.
Beginner·Under $15·Code
2 parts listed
Low-power ESP32 e-paper weather display (7.5in)
Illustration
ESP32Draft
A wall-mounted 7.5in e-paper weather display on an ESP32 that runs for months on one battery charge.
Intermediate·Cost varies·Code
5 parts listed
OpenEPaperLink: reuse e-ink shelf labels with an ESP32 access point
Illustration
ESP32ESP32-S3Draft
Turns cheap second-hand electronic shelf labels into a Wi-Fi-managed e-ink display fleet via an ESP32 access point.
Advanced·Under $15·Code
3 parts listed