
Tasmota WS2812B Addressable LED Controller
Control WS2812B/SK6812 addressable LED strips with Tasmota on ESP8266 or ESP32. Full RGB color control, animations via Berry scripting, Alexa/Hue emulation, and MQTT integration for smart lighting.
Tasmota WS2812B Addressable LED Controller
Turn any ESP8266 or ESP32 board into a smart addressable LED controller for WS2812B, SK6812, and similar NeoPixel strips. Tasmota provides web-based color control, animations, Alexa emulation, and MQTT integration.
Why This Project
- Stunning lighting — millions of colors, individually addressable pixels
- Voice control — built-in Alexa/Hue emulation, no hub needed
- Web UI — color picker, brightness, and white balance from any browser
- Animations — Berry scripting (ESP32) for custom effects
- Cheap — WS2812B strips are $3-8 per meter
Components Required
| Component | Purpose | Est. Cost |
|---|---|---|
| Wemos D1 Mini (or ESP32 for Berry) | WiFi controller | $3-5 |
| WS2812B LED strip (5V, 30-60 LEDs/m) | Addressable RGB LEDs | $3-8/m |
| 5V power supply (sized for LED count) | Power for LEDs | $5-10 |
| 470Ω resistor | Data line protection (optional) | $0.01 |
| 1000µF capacitor | Power supply smoothing | $0.10 |
Power calculation: Each WS2812B LED draws up to 60mA at full white. 60 LEDs = 3.6A → use a 5V 4A power supply.
Wiring
5V PSU ──→ WS2812B VCC + ESP 5V pin
GND ──→ WS2812B GND + ESP GND
ESP GPIO4 (D2) ──[470Ω]──→ WS2812B Data In
Critical: Connect GND between the ESP and LED strip. The data signal needs a common ground reference.
Tasmota Setup
- Flash
tasmota.bin(WS2812B support is in the default build) - Configuration → Configure Module
- Set GPIO4 to WS2812 (or WS2812B for SK6812 RGBW)
- Set number of LEDs:
Pixels 60 - Color picker appears on the dashboard
Key Commands
# Set number of LEDs
Pixels 60
# Set color (RGB)
Color 255,100,0
# Set brightness (0-100%)
Dimmer 80
# Color temperature (warm/cool white)
CT 350
# Scheme (built-in animations)
Scheme 2 # 0=single, 2=cycle, 3=random, 4+=custom
# Speed of animation
Speed 5
# Individual pixel control
Led1 FF0000 # First LED red
Led30 00FF00 # LED 30 green
Alexa Integration
Tasmota has built-in Hue emulation — Alexa discovers it as a light:
# Enable Hue emulation
SetOption30 1
# Alexa: "Set living room lights to blue"
# Alexa: "Dim living room lights to 50%"
Berry Animations (ESP32 Only)
ESP32 with Tasmota supports Berry scripting for custom LED animations:
# Rainbow chase effect
import animate
var strip = animate.strip(60)
strip.set_cb(/ i, t -> animate.palette(animate.RAINBOW, (i * 10 + t) % 360))
strip.start()
Compatible Boards
- Wemos D1 Mini — simple, cheap, works great for up to ~300 LEDs
- Wemos D1 Mini + WS2812B Shield — plug-and-play with 7 LEDs
- ESP32 — required for Berry animations and larger strips (1000+ LEDs)
- QuinLED-OG — purpose-built LED controller board with level shifter






