ESP32-based controllers (recommended)
The ESP32 is the most popular microcontroller for WLED due to its dual-core processor, built-in Wi-Fi & Bluetooth, and ample GPIO pins. Pre-built options like the QuinLED-Dig-Uno or Athom WLED controllers come with WLED pre-flashed.
ESP8266 (budget option)
The ESP8266 (e.g. Wemos D1 Mini) is a lower-cost alternative that works with WLED but has fewer GPIO pins and less RAM. Suitable for simple single-strip setups under 500 LEDs.
Level shifters
Many ESP32/ESP8266 controllers output 3.3V logic while LED strips expect 5V data signals. Use an SN74AHCT125 level shifter between the controller data pin and the LED strip.
Ready to calculate your system?
Use the WLED System Architect to get exact power, wire, and fuse recommendations for your build.
Building a WLED installation involves five interdependent decisions: choosing your controller, sizing your power supply, specifying your wiring, installing and configuring the firmware, and setting up the physical installation safely. This guide works through each stage in order, with the reasoning behind each recommendation so you can adapt it to your specific build.
The ESP32 is the standard choice for new WLED builds. It has a dual-core processor capable of driving hundreds of LED outputs simultaneously, built-in Wi-Fi and Bluetooth, 4MB of flash for WLED firmware and configuration, and sufficient RAM for large LED counts. Pre-built WLED controllers based on the ESP32 — such as the QuinLED-Dig-Uno, Athom WLED controller, and Gledopto GL-C-016 — come with WLED pre-flashed and level shifters already integrated. If you are building your own, the ESP32 DevKit C is the most widely available development board.
The ESP8266 (Wemos D1 Mini, NodeMCU) works with WLED and is cheaper, but it has limitations: single-core processor, less RAM, fewer GPIO pins, and no Bluetooth. It is suitable for simple single-strip setups under 500 LEDs with basic effects. For anything more complex, the ESP32 is worth the small additional cost.
ESP32 and ESP8266 output 3.3V logic on their GPIO pins. WS2812B and most other common LED strips expect 5V logic on the data pin. The difference causes signal integrity problems — flickering, wrong colours, or complete failure to communicate — particularly on longer data wire runs or with large LED counts. Use an SN74AHCT125 level shifter between the controller data output and the strip data input. Many pre-built WLED controllers include this already.
Use the WLED Power Calculator to determine the correct PSU rating. As a general rule: total current draw (amps) = number of LEDs × per-LED current (usually 0.06A for 5V strips) × usage profile (0.7 for typical mixed effects). Add 25% for a safety margin, then choose the next standard PSU rating above that figure. Always fuse the LED supply between the PSU positive terminal and the LED strips. Never rely on the PSU's internal protection alone.
Run separate power feeds from the PSU to each injection point. Use wire gauge appropriate for the current each run carries — refer to the Power Calculator's wire gauge recommendation. Keep power feed wires as short as practical. Run the data wire separately from power wires where possible, particularly in high-current installations. Add a 330Ω–470Ω resistor in series with the data line at the controller end to prevent signal ringing.
If your controller is not pre-flashed, use the WLED web installer at install.wled.me — connect your ESP32 via USB to a Chrome or Edge browser, click Install, and follow the prompts. No drivers or command-line tools are required. Once flashed, WLED creates a Wi-Fi hotspot (WLED-AP). Connect to it, open 4.3.2.1, and run the setup wizard to connect WLED to your home Wi-Fi. After connecting, go to LED Preferences and enter your exact LED count, strip type (WS2812B etc.), and set the current limit in milliamps to match your PSU rating.
On short data runs (under 50cm) with strips of 150 LEDs or fewer, many builders report reliable operation without a level shifter. However, reliability decreases with LED count and data wire length. The SN74AHCT125 costs under $1 and eliminates a common source of intermittent problems. Always fit one for serious installations.
WLED supports up to 10 LED outputs on ESP32 simultaneously (using different GPIO pins). Each strip is configured as a separate output in WLED's LED Preferences, with its own LED count and strip type. Power each strip separately from the PSU, but they can share a common ground with the controller.
WLED supports up to 1,500 LEDs on a single output with full effects on ESP32 (the limit is mainly RAM). Using multiple outputs can extend this further. For very large installations (thousands of LEDs), consider using multiple WLED controllers synchronised via E1.31 or MQTT.