Website review
This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.
What is WLED?
WLED is an open-source firmware project that turns an ESP32 or ESP8266 microcontroller into a network-connected LED controller. You flash it onto cheap Wi-Fi hardware, wire up addressable LED strips, and control them from a web browser — no app or cloud account required. The project describes itself as "a fast and feature-rich implementation of an ESP32 webserver to control NeoPixel (WS2812B, WS2811, SK6812) LEDs or also SPI based chipsets like the WS2801 & APA102 as well as HUB75 video wall panels."
In practice, it sits between the hardware and the user: the ESP board runs the web server and drives the LEDs, while you handle colors, effects and schedules through a browser UI or automation platforms.
What it does
- Effects and color control — Over 100 effects via the integrated WS2812FX library, plus FastLED noise effects and roughly 50 palettes.
- Segments — Split one strip into zones, each with its own effect and color, so a single run of LEDs can behave like several independent lights.
- Presets — Save and recall colors and effects, with cycling between them; presets can also trigger API calls.
- Networking — Runs in station mode on your Wi-Fi and falls back to its own access point if it can't connect. Firmware updates happen over the network (OTA) and can be password-protected.
- Interfaces — DMX output and input, E1.31/Art-Net, MQTT, Philips Hue, HTTP and JSON APIs, UDP sync between controllers, and WebSocket, DDP and tpm2.net for realtime streaming.
- Extras — Audio-reactive modes, a nightlight dimming function, relay control, multi-strip support, and a configurable analog clock.
Who it's for
WLED suits hobbyists and tinkerers comfortable with a soldering iron and a flashing tool, and it scales to more ambitious builds: the project notes up to 3 LED outputs per ESP8266 instance and up to 10 per ESP32 instance, with RGBW strip support. If you want a plug-and-play consumer bulb, this is the wrong tool. If you want one controller that syncs with your home automation, reacts to music, or drives a video wall panel, it's a strong fit.
A concrete example: someone building shelf lighting in a home office could run one ESP32, split the strip into segments for each shelf, set different palettes per segment, save each look as a preset, and switch between them from a phone browser or an MQTT message from a home automation system.
Practical next steps
- Check the compatibility pages before buying anything — the project lists supported LED strips, controllers and other hardware, and that list is the fastest way to avoid a dead end.
- Read the "Top 5 mistakes" and wiring guides before your first power-up; most beginner failures are wiring and power related, not software.
- Start with the quick start guide and the web UI, then add interfaces like MQTT or E1.31 only once the basics work.
The official documentation lives at WLED Project.
How do I install WLED on an ESP32 or ESP8266?
WLED is flashed onto an ESP32 or ESP8266 board, not installed on a computer. You write the firmware to the microcontroller once, then configure everything else through its built-in web interface over Wi-Fi. The official documentation at WLED Project covers the supported flashing routes, and the practical choice usually comes down to how much manual tooling you want to avoid.
Pick a flashing method
- Browser-based flasher (easiest): Chrome, Edge or Opera can flash the board directly over USB from a web page. No toolchain, no command line. Best for a first install on a board you just unboxed.
- ESP GUI / desktop flashing tool: A standalone utility that handles the same job outside the browser, useful if your browser lacks Web Serial support or you prefer a repeatable local tool.
- Compile and upload yourself: Using the Arduino IDE or PlatformIO with the WLED source. Choose this only if you plan to modify the firmware, add usermods, or build for an unusual board.
The steps that matter
- Connect the ESP board by a data-capable USB cable. Charge-only cables are a common time sink.
- Put the board into flash/boot mode if it does not enter it automatically. Many ESP32 dev boards need you to hold BOOT while tapping RESET; ESP8266 boards vary by model.
- Flash the WLED binary for your chip family (ESP32 and ESP8266 builds are separate).
- Reboot. On first boot WLED creates its own Wi-Fi access point so you can reach it without any existing network.
- Join that access point from a phone or laptop, open the configuration page, and enter your home Wi-Fi credentials so the board joins your normal network.
- Set your LED type, GPIO pin, color order and length on the settings page, then save.
A realistic first-run scenario
Someone wiring a 5 m WS2812B strip to an ESP32 typically flashes in the browser in a few minutes, then spends longer on the LED settings than on the install itself. The most common failure is not the flash but the wiring: data line on the wrong pin, no common ground between the strip's power supply and the board, or a level-shifting problem on 5 V strips driven from a 3.3 V data pin.
Choosing between ESP32 and ESP8266
| ESP8266 | ESP32 | |
|---|---|---|
| LED outputs per instance | Up to 3 | Up to 10 |
| Typical role | Single strip, simple installs | Multiple strips, 2D setups, audio-reactive builds |
| Cost and size | Cheaper and smaller | More headroom, slightly pricier |
If you already own an ESP8266, start there for a single strip. If you are buying new hardware and expect to expand, the ESP32's extra outputs save you from adding a second controller later.
Next step: identify your exact board model and chip before flashing, since the binary and the boot-mode procedure both depend on it.
Which LED strips and controllers are compatible with WLED?
WLED is firmware for ESP32 and ESP8266 boards that drives addressable LEDs. Compatibility splits into two questions: which LED chipsets the firmware can output to, and which controller board you run it on.
LED strips and panels
- Addressable "NeoPixel" types: WS2812B, WS2811 and SK6812 — the most common strips, including RGBW variants for a dedicated white channel.
- SPI-based chipsets: WS2801 and APA102, which use separate data and clock lines.
- Video wall panels: HUB75 panels, covered in the project's mapping documentation.
- Output count: the project lists up to 3 LED outputs on an ESP8266 and up to 10 on an ESP32, so multi-strip setups are a realistic use case rather than a fringe one.
Practical note: "compatible strip" is not the same as "compatible power supply." A 5 m WS2812B strip at full white can draw far more current than a small USB supply provides, and voltage drop along long runs shows up as a pink or yellow tint at the far end. Long data lines are common enough that the project documents them separately.
Controllers
WLED runs on ESP32 and ESP8266 hardware. The documentation's "Compatible hardware" section and wiring guides cover specific boards; the practical distinction is:
| ESP8266 | ESP32 | |
|---|---|---|
| LED outputs | up to 3 | up to 10 |
| Best for | single-strip projects, retrofits | multi-strip, 2D/HUB75, audio-reactive |
If you only want one strip behind a desk, an ESP8266 board is cheap and sufficient. If you plan segments across several strips, a matrix, or audio reactivity, start with an ESP32 — you will not want to re-flash and re-wire later.
Interfaces it can be driven by
WLED is not limited to its own web UI. It supports DMX output and input, E1.31/Art-Net, MQTT, Philips Hue, HTTP request API, JSON API, UDP sync and realtime, DDP, WebSocket, ESP-NOW remotes and serial. That matters if your lighting already lives in a DMX console, Home Assistant, or a Hue setup.
Next step
Check the strip's chipset label before buying anything, then compare it against the compatibility pages and the wiring guides for your board. If you are unsure, the "Top 5 mistakes" page is the fastest way to avoid the usual power and data-line problems. Full documentation lives at WLED Project.
How can I control WLED lights using DMX, E1.31, MQTT, or Home Assistant?
WLED can be driven from several external control systems at once; the right choice depends on whether you want lighting-console style control, network streaming, automation logic, or voice/app convenience.
DMX (wired) Use this when you have a physical lighting desk or DMX chain. WLED supports DMX input and output, so it can act as a DMX-controlled fixture or as a bridge that outputs DMX. Practical setup: connect a USB-to-DMX or RS-485 adapter to the ESP board, set the DMX start address and universe in WLED's settings, then patch channels on your console. Expect to map channels to color and effect parameters manually.
E1.31 (sACN) / Art-Net Best for show control and pixel mapping over Ethernet. WLED listens for E1.31/Art-Net packets, so tools like QLC+, xLights, Resolume or a lighting console can stream universes to it. This is the closest thing to a "virtual DMX universe" over your LAN. A wired Ethernet connection on an ESP32 board is more reliable than Wi-Fi for real-time streams.
MQTT Choose MQTT when you want lightweight integration with home automation systems and custom scripts. WLED publishes state and subscribes to command topics, so you can toggle power, set brightness, colors, effects and presets from Node-RED, openHAB, ioBroker or Home Assistant's MQTT layer. It is also a good fit for multi-device synchronization and status feedback.
Home Assistant If you already run Home Assistant, this is the least-effort route. WLED is discovered and controlled as a light entity, giving you brightness, color, effects, presets and segments in the dashboard and automations. You can also use the JSON API or HTTP requests from HA for advanced calls, and MQTT if you prefer broker-based control.
Quick comparison
| Method | Best for | Trade-off |
|---|---|---|
| DMX | Physical consoles, stage rigs | Needs adapter and channel mapping |
| E1.31 / Art-Net | Show control, pixel mapping, many universes | Network-dependent; wired Ethernet preferred |
| MQTT | Automation, scripting, status feedback | Requires a broker and topic setup |
| Home Assistant | Dashboards, voice, everyday automations | Ties control to your HA instance |
Next step Pick one primary method based on your existing gear: a DMX console, a show-control PC, an MQTT broker, or Home Assistant. Then check the WLED documentation's Interfaces section for the exact settings pages, and confirm your hardware supports the needed input (for example, an RS-485 adapter for DMX or Ethernet for E1.31). Start with a single test universe or topic before scaling to multiple controllers.
For hardware and wiring background, the project's own site is WLED Project.
How do I create and save presets, segments, and effects in WLED?
Presets, segments and effects are three separate layers in WLED, and understanding the difference is most of the work. An effect is what the LEDs do, a palette is the colours it draws from, a segment is the slice of LEDs it applies to, and a preset is a saved snapshot of all of that. You configure live in the web UI, then save the current state as a preset.
Effects and palettes
The WLED web UI exposes colour, effect and segment controls directly. Effects come from the integrated WS2812FX library (over 100 effects according to the project page) plus FastLED noise effects, with around 50 palettes listed. Pick an effect and palette, adjust speed and intensity, and watch the strip update immediately — nothing is stored until you save.
Segments
Segments let you give different parts of the same strip different effects and colours. This is what you want for a strip where the first 30 LEDs act as a status light and the rest run a chase, or where a long run behaves as two independent zones.
- One segment = whole strip in one effect.
- Multiple segments = per-zone effect, colour and palette.
- Segment boundaries are set by start/end LED index in the UI.
Presets
Presets save and reload colours and effects; the project page notes support for up to 250 user presets, with cycling through them. Because a preset captures the current state, the practical workflow is:
- Set segments and their effects/palettes in the UI.
- Confirm it looks right on the hardware.
- Save the current state as a preset and give it a name.
- Optionally have presets trigger API calls automatically.
A comparison to keep straight
| Layer | Scope | Saved as |
|---|---|---|
| Effect + palette | What one segment does | Part of a preset |
| Segment | Which LEDs are affected | Part of a preset |
| Preset | Full snapshot of colours/effects | Named, recallable entry |
Practical scenario
For a desk setup: segment 1 covers the monitor-back strip running a slow palette fade, segment 2 covers a shelf strip on a static warm white. Save that as "Evening". Then build a brighter daytime version and save it as "Work". Cycling between the two presets is then a single action rather than re-dialling everything.
If you are new to the platform, read the quick start and web UI pages at WLED Project before wiring anything, and check the "Top 5 mistakes" page — most preset confusion comes from saving a state while the wrong segment is selected.
What are common mistakes and troubleshooting steps when setting up WLED?
Common WLED setup mistakes cluster around power, data wiring, and getting the board into flashing mode. The project's own documentation links a dedicated "Top 5 mistakes" page alongside Wiring Guides, so treat these as the recurring failure points rather than rare edge cases.
Mistakes that cause the most trouble
- Underestimating power injection. Long or dense strips draw more current than a single feed point can carry, so the far end dims or shifts color. The fix is injecting power at multiple points and matching the supply to the real load, not the strip's optimistic rating.
- No common ground or level shifting. Data lines between a 3.3 V ESP board and 5 V LEDs can work on a bench and fail once the strip is long. A level shifter and a shared ground between supply and controller resolve many "random flicker" complaints.
- Ignoring data-line length advice. WLED's wiring notes include a long data lines section; adding a resistor near the first LED or shortening the run often stabilizes output.
- Flashing the wrong build or wrong board. The installation docs cover the web installer, ESP GUI tools, and compiling yourself. Choosing a binary that doesn't match your chip (ESP8266 vs ESP32) produces a board that appears dead.
- Assuming the access point is broken. WLED's automatic failsafe AP is intentional: if it can't join your network, it broadcasts its own hotspot. Connect to that first, then fix credentials in settings rather than reflashing.
A practical troubleshooting order
- Check the board is alive. Look for the WLED AP in your Wi-Fi list before touching wiring.
- Verify power at both ends of the strip with a multimeter while it runs a bright white test.
- Simplify the data path — short jumper, common ground, then add a level shifter if needed.
- Reduce to one output and a short segment to isolate whether the problem is configuration or hardware.
- Revisit settings over the network before assuming a hardware fault; segments and multi-strip settings can make part of a strip appear dark by design.
When to go deeper
If basic steps don't help, the project's "Top 5 mistakes" and wiring pages are the right next read, and the FAQ covers recurring questions. For boards that won't boot at all, the ESP32 recovery and boot-loop detection documentation is more useful than general advice. Start with WLED Project for the official guides, and if you're comparing controller hardware before buying, Espressif documents the underlying ESP chips.
User reviews (0)