The plan
- QLC+ (on a laptop or small server) sends DMX over the network.
- WLED on an ESP32 or ESP8266 receives it and lights the pixels.
- Use a wired or reliable Wi-Fi connection. The WLED docs recommend connecting WLED to your Wi-Fi network as a client (sending to its own access point may not work) and note that disabling Wi-Fi sleep on an ESP32 can reduce stutter, at the price of more power use.
WLED's default DMX mode (Multiple RGB) uses 3 channels per LED in sequence (LED 0 R, G, B, then LED 1, and so on). One universe holds 512 channels, which WLED treats as 170 LEDs (510 channels). The docs list up to 9 adjacent universes and recommend no more than 3 universes (510 LEDs) if you want a fluid 40 fps. Example: a 300-LED strip needs 900 channels, which is 2 universes (170 + 130 LEDs).
Step 2: configure WLED
- In WLED, open Config > Sync Interfaces (the WLED docs call this Sync settings). Select the protocol in the DMX/E1.31/Art-Net section (E1.31 for sACN, or Art-Net). Changing to Art-Net (or DDP) needs a reboot once, per the docs.
- Set the start universe to match what QLC+ will send, and set the DMX mode to Multiple RGB (the mode the docs recommend for xLights and LedFx).
- Set the start address (1 if the strip is the only thing on the universe).
- If you want priority handling between senders, the docs say to set the E1.31 port priority above 0 (supported after 0.14.0-b1). Using several senders into one controller hurts performance, so avoid it.
- In the Inputs/Outputs tab, patch QLC+ universe 1 to the E1.31 plugin as an output. By default, QLC+ uses multicast on 239.255.0.x, where x is the universe number, on UDP port 5568, and uses QLC+ universe N as E1.31 universe N.
- Many people prefer unicast for WLED. Untick the Multicast box in the plugin's configuration for that universe and enter the WLED device's IP address.
- Do the same for universe 2 if you have more than 170 LEDs. Match the WLED start universe.
- Patch the Art-Net plugin as output. QLC+ sends UDP on port 6454, to the broadcast address of the selected interface by default. Setting the output IP to a unicast address (1 to 254 in the last octet, per the docs) sends to just that node, which is better on a switch.
- QLC+ universe 1 maps to Art-Net universe 0 by default, so QLC+ universe 2 maps to Art-Net universe 1. Set WLED's start universe to the Art-Net universe number QLC+ is actually sending, or change the Art-Net universe in the plugin configuration so they agree.
- Do not set the output address to the IP of the computer running QLC+.
Open Simple Desk in QLC+ for universe 1 and raise channels 1, 2 and 3. The first LED should turn red, green and blue in turn. If so, the path works, and you can move to fixtures and functions. QLC+ lets you define fixtures from its library, or you can use generic RGB fixtures laid out to match WLED's per-LED channel order. I have not tried every fixture definition, so test using Simple Desk first.
Troubleshooting
- Nothing happens: check the DMX mode is not Disabled, the protocol (E1.31 vs Art-Net) matches, universes match, and you are not on a different VLAN or the WLED access point.
- Colours shifted by one LED or channel: start address or universe mismatch. Art-Net universe numbers start at 0, E1.31 at 1.
- Choppy output: reduce universes, use unicast, wired Ethernet from the computer, disable Wi-Fi sleep on ESP32, and check the WLED docs' tip about WMM QoS on your router.
- If you had Effect mode channel maps from before 0.14.0-b1, they changed in that release, per the docs.
LED strips can draw a lot of current. Size supplies and wire gauge properly, fuse each run, and have mains work done by a licensed electrician. Keep lighting on its own VLAN, since sACN and Art-Net have no authentication.
Links
Question for the group: how many pixels are you driving over sACN or Art-Net, and have you found unicast or multicast more reliable on your network?