Home Assistant WLED: The Complete Guide to Addressable LED Strips

WLED turns a 5 euro microcontroller and a strip of addressable LEDs into the most flexible lighting system you have ever used. Over 100 built-in effects, full local control, automatic Home Assistant discovery, and zero cloud dependency. Whether you want ambient backlighting behind your TV, color-reactive staircase lights, or holiday decorations that actually look good, this guide covers everything from first flash to advanced automations.

Check Your Devices Smart Lighting Guide

What Is WLED and Why Smart Home People Love It

WLED is free, open-source firmware created by Aircoookie that turns cheap ESP8266 and ESP32 boards into powerful LED controllers. It runs a web server directly on the microcontroller, so you control your LEDs from any browser on your network. No app downloads, no cloud accounts, no subscriptions.

The project started in 2016 and has grown into one of the most popular smart home DIY projects in the world. The GitHub repo has over 15,000 stars and an active community constantly adding new effects and features.

๐ŸŽจ

100+ Built-in Effects

Rainbow, fire, twinkle, meteor, aurora, chase, and dozens more. Each effect has adjustable speed, intensity, and color palette. No coding needed.

๐Ÿ“ก

100% Local Control

Everything runs on your local network. No internet needed after setup. Works with Home Assistant, MQTT, HTTP API, DMX, Alexa, and more.

โœ‚๏ธ

Segments

Split one strip into multiple virtual zones, each with its own color, effect, and brightness. One controller can handle a whole room.

๐Ÿ’ฐ

Dirt Cheap

A complete setup costs 15 to 30 euros. Compare that to Philips Hue Gradient strips at 150+ euros for similar (but less flexible) results.

Hardware You Need: Controllers, Power Supplies, and Wiring

A WLED setup has three components: a controller board, LED strips, and a power supply. Here is what to buy and what to watch out for.

Controllers

BoardChipMax LEDsOutputsPriceBest For
ESP32-S3 DevKitESP32-S31500+Multiple GPIO~6 eurosBest Overall
ESP32 DevKit V1ESP32800-1000Multiple GPIO~5 eurosGreat value
QuinLED-Dig-UnoESP321000+2 outputs + level shifter~15 eurosPlug and play
QuinLED-Dig-QuadESP322000+4 outputs + level shifter~25 eurosLarge installs
ESP8266 NodeMCUESP8266~5001 output~3 eurosBudget/small
Athom WLED ControllerESP321000+Pre-wired, level shifted~12 eurosEasiest Setup

Our pick: For most people, the Athom WLED Controller is the easiest path. It comes pre-flashed with WLED, has proper connectors, a built-in level shifter, and costs about 12 euros. If you enjoy soldering and want maximum flexibility, grab an ESP32-S3 DevKit.

Power Supplies

LED strips are power hungry. Each WS2812B LED draws up to 60mA at full white brightness. A 5-meter strip with 60 LEDs per meter (300 LEDs total) needs up to 18A at 5V, though real-world usage is much lower since you rarely run full white at full brightness.

Quick Power Calculator

Strip LengthLEDs (60/m)Max Draw (5V)Recommended PSURealistic Draw
1 meter603.6A5V 4A~1.5A
2 meters1207.2A5V 8A~3A
5 meters30018A5V 10A + power injection~7A
10 meters60036A5V 20A + injection every 2.5m~14A

Realistic draw assumes colorful effects at 50 to 70% brightness, which is how most people actually use their strips.

Wiring Basics

Every WLED setup has the same basic wiring: power supply positive and negative go to the LED strip, and the data pin from the ESP connects to the strip's data input. A few important details:

  • Level shifter: ESP boards output 3.3V on their GPIO pins, but WS2812B strips expect 5V data signals. A level shifter (SN74HCT125 or similar) fixes this. Without one, you might get flickering or unreliable behavior, especially on longer runs. QuinLED and Athom boards include one built-in.
  • Power injection: For strips longer than 2 meters, feed power at both ends (or every 2.5 meters for very long runs). Without injection, LEDs far from the power source will look dim or show wrong colors.
  • Common ground: Always connect the ground wire between the ESP and the LED strip, even if they share a power supply. Missing ground connections cause random behavior.
  • Capacitor: A 1000uF capacitor across the power input of the strip protects against voltage spikes when you first power on. Not strictly required for small setups, but good practice.

Choosing the Right LED Strip

Not all LED strips work with WLED. You need addressable (also called "individually addressable" or "digital") strips where each LED can be controlled independently. Here are the most popular options.

Strip TypeVoltageColorsWhite QualityPrice/mBest For
WS2812B5VRGBMediocre (bluish)2 to 5 eurosMost Popular
SK6812 RGBW5VRGBWExcellent (dedicated white)4 to 8 eurosBest White
WS281112VRGB (3 LEDs/pixel)Mediocre2 to 4 eurosLong runs, outdoor
WS281512VRGBMediocre5 to 10 eurosLong runs, backup data line
SK9822 / APA1025VRGBGood8 to 15 eurosFast refresh, video sync

Our Recommendations

  • For ambient lighting and effects: WS2812B, 60 LEDs/m. Cheapest, most supported, huge community. The go-to choice.
  • For rooms where you also want white light: SK6812 RGBW (neutral white). The dedicated white LED makes a massive difference for everyday use. Worth the extra cost.
  • For outdoor or long runs (10m+): WS2811 or WS2815 at 12V. Higher voltage means less voltage drop over distance, so you need fewer power injection points.
  • Look for "IP30" for indoor, "IP65" for splash-proof, "IP67" for outdoor. The silicone coating on weatherproof strips adds a slight diffusion effect too.

Flashing WLED: From Box to Blinking in 10 Minutes

Getting WLED onto your ESP board is surprisingly easy. There are three methods, and the first one does not even require installing any software.

1

Web Installer (Easiest)

Go to install.wled.me in Chrome or Edge. Plug in your ESP via USB. Click "Install WLED." That is literally it. The browser flashes the firmware directly. Works on Windows, Mac, and Linux.

Best for: First-timers, anyone who just wants it working.

2

ESPHome Flasher / esptool

Download the WLED binary from the GitHub releases page, then flash it using ESPHome Flasher (GUI) or esptool.py (command line). This gives you more control over which exact binary you flash, useful for custom builds or specific board variants.

Best for: People who want a specific version or custom compile.

3

Buy Pre-flashed

Athom sells ESP32 controllers with WLED already installed. Plug in power and LEDs, connect to Wi-Fi, done. No USB cable needed, no flashing, no drivers. These also come with proper connectors and level shifters.

Best for: People who value their time over saving 5 euros.

First-Time Wi-Fi Setup

After flashing, your ESP creates a Wi-Fi access point called "WLED-AP" (password: wled1234). Connect to it with your phone, and it opens a setup page where you enter your home Wi-Fi credentials. Once connected, WLED gets an IP address on your network and you can access it from any browser.

Essential First Settings

  • LED Preferences: Set your LED count, strip type (WS2812B, SK6812, etc.), and the GPIO pin you are using. Wrong settings here mean nothing lights up.
  • Current limiter: Under LED Preferences, set the maximum milliamps to match your power supply. WLED will automatically dim the strip if it would exceed this limit. A 5A supply at 5V = 5000mA.
  • Wi-Fi: Give your device a static IP or use DHCP reservation on your router. Makes Home Assistant discovery reliable.
  • Security: Set an OTA password under Security settings to prevent unauthorized firmware updates.

Connecting WLED to Home Assistant

Home Assistant discovers WLED devices automatically through mDNS. Once your WLED controller is on the same network, it should appear as a discovered integration within a few minutes. If not, add it manually: Settings, Devices and Services, Add Integration, search "WLED," enter the IP address.

What You Get After Setup

Light Entity

Full color control with brightness, RGB color picker, color temperature (RGBW strips), and effect selection. Each segment appears as a separate light entity if you have multiple segments configured.

Select Entities

Pick effects, color palettes, and presets from dropdown menus. All 100+ WLED effects show up as options. You can trigger specific effects from automations using these entities.

Number Entities

Adjust effect speed and intensity with sliders. Handy for fine-tuning how fast animations run or how pronounced effects appear.

Sensor Entities

Wi-Fi signal strength, free memory, uptime, and estimated current draw. Useful for monitoring the health of your WLED devices and catching power issues.

Dashboard Card Example

A simple but effective dashboard setup for a WLED light. Add this as a manual card in your dashboard:

type: light
entity: light.wled_living_room
name: LED Strip
# Or use the custom mushroom light card for a prettier look:
# type: custom:mushroom-light-card
# entity: light.wled_living_room
# show_brightness_control: true
# show_color_control: true
# use_light_color: true

WLED Presets vs Home Assistant Scenes

You can save lighting states in two places. WLED presets are stored on the ESP itself and load instantly. Home Assistant scenes are stored in HA and give you more flexibility (like combining WLED state with other devices). Use WLED presets for quick access from the WLED app or IR remote. Use Home Assistant scenes when you want your LEDs to be part of a larger multi-device scene.

10 WLED Project Ideas for Your Smart Home

WLED is incredibly versatile. Here are the most popular projects people build, from simple weekend setups to ambitious builds.

๐Ÿ“บ

1. TV Backlight (Ambilight Clone)

Stick an LED strip behind your TV and use HyperHDR or Hyperion to capture screen colors in real time. The LEDs match what is on screen, creating an immersive ambient light effect. Budget: about 25 euros for the strip + ESP, plus an HDMI capture card (~15 euros) for the best results.

๐Ÿชœ

2. Staircase Lights

Mount a short strip under each stair tread. Use WLED segments so each step is its own zone. Trigger with a motion sensor at the top and bottom, and have them light up one by one as you walk. The "wipe" effect looks stunning.

๐Ÿ›๏ธ

3. Under-Bed Nightlight

Warm white strip under the bed frame, triggered by a motion sensor at night. Set brightness to 10 to 15% so it gently lights the floor without waking anyone. One of the simplest and most practical WLED projects.

๐Ÿณ

4. Kitchen Under-Cabinet Lighting

SK6812 RGBW strips under kitchen cabinets give you both bright white task lighting for cooking and colorful ambient mode for evenings. Use a diffuser channel for a clean, professional look. Way cheaper than commercial under-cabinet lights.

๐ŸŽฎ

5. Gaming Desk Setup

Strip behind the desk, behind the monitor, along shelf edges. Use WLED's audio reactive mode (with the WLED Sound Reactive fork or a connected microphone) to sync lights to game audio or music. Multiple segments let different zones react differently.

๐Ÿก

6. Outdoor Deck or Patio

IP67 rated strips along deck railings, under steps, or around the patio. Use WS2811 (12V) for longer runs with fewer power injection points. The "fire" effect makes a great evening ambiance. Turn off automatically at bedtime.

๐ŸŽ„

7. Holiday Decorations

Christmas tree, Halloween window display, Easter egg hunt trail. WLED presets let you switch between holiday themes instantly. Save preset 1 for "Christmas warm twinkle," preset 2 for "Halloween spooky," and trigger them with a Home Assistant calendar automation.

๐Ÿ””

8. Visual Notification Strip

Flash red when the doorbell rings. Pulse blue when the washing machine finishes. Show green for 5 seconds when someone disarms the alarm. A small strip near your workspace becomes a silent notification display for any Home Assistant event.

๐Ÿ“Š

9. Status Bar / Progress Indicator

Use WLED segments to create a physical progress bar. Show energy consumption as a green-to-red gradient. Display the UV index. Track how many Pomodoro sessions you have done today. Any number in Home Assistant can become a visual bar.

๐ŸŽต

10. Sound Reactive Party Mode

The WLED Sound Reactive fork (now partially merged into main WLED) uses a microphone connected to the ESP to make LEDs react to music in real time. Frequency-based effects make bass pulse different colors than treble. Perfect for parties, game nights, or just vibing to music.

5 WLED Automations for Home Assistant

WLED becomes truly powerful when you connect it to the rest of your smart home. Here are five practical automations you can set up right away.

1. Movie Mode: Dim When Media Plays

When your media player starts playing, fade the WLED strip to a low warm glow. When it pauses or stops, bring it back up.

automation:
  - alias: "WLED Movie Mode"
    trigger:
      - platform: state
        entity_id: media_player.living_room_tv
        to: "playing"
    action:
      - service: light.turn_on
        target:
          entity_id: light.wled_tv_backlight
        data:
          brightness: 30
          rgb_color: [255, 147, 41]
          effect: "Solid"
  - alias: "WLED Movie Mode Off"
    trigger:
      - platform: state
        entity_id: media_player.living_room_tv
        from: "playing"
    action:
      - service: light.turn_on
        target:
          entity_id: light.wled_tv_backlight
        data:
          brightness: 150
          effect: "Solid"

2. Sunrise Wake-Up Light

Gradually brighten your bedroom WLED strip from dark red to warm white over 20 minutes before your alarm. Much gentler than a blaring alarm.

automation:
  - alias: "WLED Sunrise"
    trigger:
      - platform: time
        at: "06:40:00"
    action:
      - service: light.turn_on
        target:
          entity_id: light.wled_bedroom
        data:
          brightness: 5
          rgb_color: [255, 50, 0]
      - delay: "00:05:00"
      - service: light.turn_on
        target:
          entity_id: light.wled_bedroom
        data:
          brightness: 50
          rgb_color: [255, 120, 30]
          transition: 300
      - delay: "00:05:00"
      - service: light.turn_on
        target:
          entity_id: light.wled_bedroom
        data:
          brightness: 150
          rgb_color: [255, 180, 80]
          transition: 300
      - delay: "00:05:00"
      - service: light.turn_on
        target:
          entity_id: light.wled_bedroom
        data:
          brightness: 255
          rgb_color: [255, 220, 160]
          transition: 300

3. Motion-Activated Hallway

Turn on the hallway strip when motion is detected. At night, use a dim warm color. During the day, use full brightness white (SK6812 RGBW). Auto-off after 2 minutes of no motion.

automation:
  - alias: "WLED Hallway Motion"
    trigger:
      - platform: state
        entity_id: binary_sensor.hallway_motion
        to: "on"
    condition: []
    action:
      - choose:
          - conditions:
              - condition: time
                after: "22:00:00"
                before: "07:00:00"
            sequence:
              - service: light.turn_on
                target:
                  entity_id: light.wled_hallway
                data:
                  brightness: 20
                  rgb_color: [255, 100, 20]
        default:
          - service: light.turn_on
            target:
              entity_id: light.wled_hallway
            data:
              brightness: 200
              color_temp: 300
  - alias: "WLED Hallway Off"
    trigger:
      - platform: state
        entity_id: binary_sensor.hallway_motion
        to: "off"
        for: "00:02:00"
    action:
      - service: light.turn_off
        target:
          entity_id: light.wled_hallway
        data:
          transition: 3

4. Doorbell Flash Notification

Flash the WLED strip when someone rings the doorbell. Useful when you are wearing headphones or in a room where you can not hear the doorbell.

automation:
  - alias: "WLED Doorbell Flash"
    trigger:
      - platform: state
        entity_id: binary_sensor.doorbell
        to: "on"
    action:
      - service: light.turn_on
        target:
          entity_id: light.wled_office
        data:
          effect: "Blink"
          rgb_color: [0, 100, 255]
          brightness: 255
      - delay: "00:00:10"
      - service: light.turn_on
        target:
          entity_id: light.wled_office
        data:
          effect: "Solid"
          brightness: "{state_attr('light.wled_office', 'brightness') | default(150)}"

5. Weather-Reactive Ambient Strip

Change your LED strip color based on the weather forecast. Blue for rain, warm orange for sunny, white for snow. A subtle, glanceable way to know the weather without checking your phone.

automation:
  - alias: "WLED Weather Colors"
    trigger:
      - platform: state
        entity_id: weather.home
    action:
      - choose:
          - conditions:
              - condition: state
                entity_id: weather.home
                state: "sunny"
            sequence:
              - service: light.turn_on
                target:
                  entity_id: light.wled_living_room
                data:
                  rgb_color: [255, 180, 50]
                  brightness: 80
                  transition: 10
          - conditions:
              - condition: state
                entity_id: weather.home
                state: "rainy"
            sequence:
              - service: light.turn_on
                target:
                  entity_id: light.wled_living_room
                data:
                  rgb_color: [30, 100, 255]
                  brightness: 60
                  transition: 10
          - conditions:
              - condition: state
                entity_id: weather.home
                state: "snowy"
            sequence:
              - service: light.turn_on
                target:
                  entity_id: light.wled_living_room
                data:
                  rgb_color: [200, 220, 255]
                  brightness: 100
                  effect: "Twinkle"
                  transition: 10
        default:
          - service: light.turn_on
            target:
              entity_id: light.wled_living_room
            data:
              rgb_color: [255, 200, 120]
              brightness: 60
              transition: 10

WLED vs ESPHome for LED Strips: Which Should You Use?

Both WLED and ESPHome run on the same ESP32 hardware and both integrate with Home Assistant. But they are designed for different use cases.

FeatureWLEDESPHome
Built-in effects100+ effects ready to goA handful, build your own
Web interfaceFull color picker, effects, presetsBasic on/off only
SegmentsBuilt-in, easy to configurePossible with partitions
Sound reactiveYes (built-in since 0.14)Manual with custom code
Multi-device syncUDP sync built-inThrough HA or custom
Custom sensorsLimited (usermods)Excellent, any sensor
HA integration depthGood (light, select, number)Deep (native API, any entity)
Learning curveVery easyModerate (YAML config)
Mobile appYes (iOS and Android)No (use HA app)

The Short Version

Use WLED if your primary goal is LED strips with lots of effects, sound reactivity, and easy segment control. Use ESPHome if you want to combine LEDs with other sensors on the same board (like a temperature sensor + LED indicator), or if you need very custom LED behavior that WLED's effects do not cover. Many people use both: WLED for their main LED installations and ESPHome for sensor-plus-LED combo devices.

Pro Tips for Better WLED Installations

Use Aluminum Channels with Diffusers

Raw LED strips show individual LED dots. An aluminum channel with a milky diffuser cover turns them into a smooth, continuous light bar. It also acts as a heatsink. Costs about 3 to 5 euros per meter and makes a huge visual difference.

Set a Current Limit

Always configure the current limiter in WLED settings to match your power supply's rating. This prevents brownouts, flickering, and potential overheating. WLED automatically adjusts brightness to stay within the limit.

Use WLED Sync for Multiple Controllers

Running LEDs in multiple rooms? WLED's built-in UDP sync keeps all controllers in lockstep. Set one as the sync sender and others as receivers. They stay perfectly synchronized with no Home Assistant involvement needed.

Use the Brightness Limiter for Daily Use

Set the default brightness to 40 to 60% in WLED settings. Full brightness is blinding for ambient use and eats power. You can always boost it for parties or effects, but the default should be comfortable for daily use.

Keep Firmware Updated

WLED is actively developed with new effects, performance improvements, and bug fixes. Update through the WLED web interface (Security and Updates section) or use the OTA update option. Always back up your presets first.

Consider 12V Strips for Long Runs

If your strip is longer than 5 meters, 12V strips (WS2811, WS2815) are much easier to power. Lower current at higher voltage means thinner wires, fewer power injection points, and less voltage drop.

Getting Started: 3 Budget Tiers

Pick the path that fits your budget and comfort level.

Starter

~15 euros
  • ESP8266 NodeMCU (~3 euros)
  • 1m WS2812B 60/m strip (~3 euros)
  • 5V 2A USB power supply (~4 euros)
  • Dupont wires (~2 euros)
  • Micro USB cable (likely have one)

Great for: learning WLED, TV backlight for a small monitor, desk accent lighting.

Enthusiast

~40 euros
  • Athom WLED Controller (~12 euros)
  • 5m WS2812B 60/m strip (~12 euros)
  • 5V 10A power supply (~10 euros)
  • Aluminum diffuser channel (~5 euros)

Great for: full TV ambilight, kitchen under-cabinet, bedroom accent wall.

Full Build

~80 euros
  • QuinLED-Dig-Quad (~25 euros)
  • 5m SK6812 RGBW 60/m (~25 euros)
  • 5V 20A meanwell PSU (~15 euros)
  • Aluminum channels + diffusers (~10 euros)
  • Wago connectors + wire (~5 euros)

Great for: multi-zone room lighting, staircase builds, outdoor installations, anywhere you want both colors and quality white light.

Frequently Asked Questions

What is WLED and why use it with Home Assistant?

WLED is free, open-source firmware for ESP8266 and ESP32 microcontrollers that controls addressable LED strips like WS2812B and SK6812. It runs entirely on your local network with no cloud dependency. Home Assistant discovers WLED devices automatically and gives you full control over colors, effects, brightness, and segments. You get over 100 built-in effects, a web interface for quick changes, and deep automation possibilities through Home Assistant.

What hardware do I need for a WLED setup?

At minimum you need three things: an ESP32 or ESP8266 board (around 5 to 8 euros), an addressable LED strip (WS2812B is the most popular, about 10 to 25 euros for 5 meters), and a 5V power supply sized to your strip length. For strips longer than 2 meters, inject power at both ends to avoid voltage drop. A 10A 5V supply handles about 150 LEDs comfortably.

Can WLED work without Home Assistant?

Yes. WLED runs independently and has its own web interface, mobile app, and preset system. You can control it from any browser on your network. Home Assistant integration is optional but adds automations, dashboard cards, voice control, and the ability to sync lights with other smart home events.

How many LEDs can WLED handle?

An ESP32 can reliably drive 800 to 1500 LEDs depending on the effects used. ESP8266 tops out at around 500 LEDs due to less memory. For large installations, use multiple ESP boards with WLED Sync to keep them in sync over UDP. Power is usually the limiting factor before the controller.

WLED vs ESPHome for LED strips: which should I use?

WLED is purpose-built for LED strips with 100+ built-in effects, a polished web UI, segment support, and an active community. ESPHome gives you more control over custom logic and integrates tighter with Home Assistant, but you have to build effects yourself. For most people, WLED is the better choice for LED projects. Use ESPHome when you need custom sensor logic or want LEDs as part of a larger multi-sensor device.

Do WLED strips work with Alexa and Google Home?

Yes. WLED has built-in Alexa support (Hue emulation) and can connect to Google Home through Home Assistant. You can turn strips on and off, change colors, and adjust brightness using voice commands. Effects are easier to trigger through Home Assistant automations or the WLED app.

Can I use WLED with non-addressable (analog) LED strips?

WLED supports PWM output for single-color and RGB analog strips, but this is not its strength. You lose all the individual LED effects and segments. For analog strips, a Shelly RGBW2 or an ESPHome setup with LEDC PWM is usually a better fit. WLED really shines with addressable (digital) strips.

How much power does a WLED setup use?

The ESP board itself draws less than 1 watt. Power consumption is almost entirely from the LEDs. A typical 5-meter WS2812B strip at 50% brightness with colorful effects draws about 15 to 25 watts. At full white full brightness, it can peak at 72 watts, but nobody runs them like that. For reference, a single Philips Hue bulb uses about 9 watts.

Ready to Light Up Your Smart Home?

Not sure which of your existing devices work with Home Assistant? Run our free compatibility scan to find out what you can keep and what might need replacing.

Free Device Scan ESPHome Guide Smart Lighting Guide