Chip: ESP32, 2.4 GHz Wi-Fi
Input: DC 5–24 V (no voltage conversion — PSU must match strip voltage)
Output: digital LED data; 6 A max per channel, 10 A total
Max pixels: ~800 LEDs (more needs power injection / multiple controllers)
Outputs: default data on GPIO16, second data on GPIO2 (app-configured)
Extra GPIO: IO12, IO33 (buttons/sensors/switches)
Mic: yes (sound-reactive / music sync)
Size: 42 × 38 × 17 mm, IP20 indoor use
Control: WLED app / web UI, Alexa, Home Assistant, MQTT, REST API
Terminal labels are usually:
Power in: V+ / V-
LED out: V / D / G = VCC / DATA / GND
Use the IO16 / D group first. Connect:
PSU +→ controller V+
PSU -→ controller V-
Strip VCC → controller V
Strip GND → controller G
Strip DATA → controller D (GPIO16)
⚠️ Always connect GND between PSU, controller, and strip. Data wire is not power — long strips still need power injection.
Power on → WLED boots
Phone joins Wi-Fi WLED-AP (often password wled1234)
Browser → 4.3.2.1→ enter home Wi-Fi SSID/password
In WLED: Config → LED Preferences → Hardware setup
Set LED type / color order / GPIO16
Set length (e.g. 60, 144, 300…)
Enable Usermods → AudioReactive for mic (310WL)
5 V strips: 60 mA/LED ballpark → 10 A ≈ 166 LEDs at full white; 800 LEDs needs several amps → inject power at multiple points.
12/24 V strips draw less current but controller still passes data only.
Don’t exceed 10 A total; keep in ventilated space.
GPIO16 = default; GPIO2 needs config; IO12/IO33 are not primary LED outputs.