WLED runs on ESP32 and ESP8266 boards and drives addressable LED strips and matrices. Pixel LED Animator 3 can send pixel frames to WLED over the network in real time, so the animation plays live instead of being copied to a card.
That changes the workflow. You can tune an effect while looking at the real matrix, test wiring immediately, and run a sequence for as long as the stream stays connected.
How the Connection Works
Pixel LED Animator sends UDP packets containing pixel data. WLED receives them, switches to live mode, and writes the values to the LEDs. The editor does the rendering; WLED does the output.
Several protocols can carry the same frames:
| Protocol | Default port | Addressing | Best for |
|---|---|---|---|
| DDP | 4048 | Pixel offset, no universes | WLED, simplest setup |
| E1.31 / sACN | 5568 | 510 channels per universe | Mixed controller rigs, FPP |
| Art-Net | 6454 | 512 channels per universe | Lighting consoles, MADRIX |
| TPM2.net | 65506 | Sequential pixel data | Jinx, FPP, WLED builds that support it |
| KiNet | 6038 | Sequential pixel data | Color Kinetics and MADRIX hardware |
For WLED, start with DDP. It avoids universe math and sends the frame in the fewest packets. Use E1.31 when WLED is part of a larger rig that already speaks sACN.
KiNet is not a WLED protocol. It targets Color Kinetics drivers and MADRIX-style setups. Do not select it for a WLED board.
Step 1: Configure WLED
- Open the WLED web interface.
- Go to Config → LED Preferences and set the total LED count to
width x height. - Set the color order to match the strip or panel: RGB, GRB, BRG, and so on.
- Open the 2D Matrix configuration and set the panel width, height, and wiring layout. Depending on the WLED version, this is in LED Preferences or on the dedicated 2D setup page.
- Go to Config → Sync Interfaces and enable DDP. Enable E1.31 or Art-Net only if you plan to use them.
- Give the board a fixed IP address through a DHCP reservation.
- Test the matrix with a built-in WLED effect before sending external data.
If the built-in effect looks wrong, external streaming will look wrong too. Fix the matrix dimensions and wiring first.
Step 2: Match the Wiring in Pixel LED Animator
Open the streaming window and choose the WLED protocol button.
- WLED IP: the board address, for example
192.168.4.1in access-point mode or the DHCP address on your LAN. - Protocol:
DDP (Recommended). - Port: leave Default unless your WLED build uses a custom port.
- Wiring pattern: choose the pattern that matches the physical matrix: sequential, serpentine, vertical, or vertical serpentine.
- Brightness: keep a master limit for testing, then raise it for the show.
The wiring pattern in the editor and the 2D matrix setting in WLED must agree. If one says serpentine and the other says progressive, the image will tear or mirror at every row.
Step 3: Verify with Test Patterns
Open the Test Patterns group in the streaming window and send a pattern:
- Solid checks power and basic color.
- Chase checks pixel order and direction.
- Alternate checks odd/even wiring.
- RGB Cycle checks color order.
- Bars checks row and column mapping.
- Gradient exposes banding and gamma problems.
Send a pattern before streaming the animation. A wiring fault is much easier to see in a chase than in a moving plasma effect.
If the image is mirrored, reversed, or rotated, fix the wiring pattern or the WLED 2D orientation. Do not compensate by editing the animation.
Step 4: Start Streaming
Press Start Streaming and watch the FPS meter and DMX activity display. Then check:
- The first frame matches the editor preview.
- Motion is smooth, without visible stutter.
- Colors match the palette.
- The matrix does not flicker when brightness changes.
WLED has a live-data timeout. If the stream stops, WLED returns to its normal effects after a short delay. That is expected behavior, not a fault.
Step 5: Choose Between Live and Standalone
Streaming is ideal for testing and live shows. It is not the right choice for a permanent installation that must start without a computer.
| Use case | Best output |
|---|---|
| Tuning an effect on the real matrix | Live DDP stream |
| Live show with a computer | Live DDP or E1.31 |
| Standalone installation | Exported video, GIF, or controller file |
| FPP-managed show | FSEQ sequence |
| SD-card controller | XDAT or video |
For standalone playback, export the finished animation and use the format the controller accepts. The export format guide covers the tradeoffs.
Network and Performance Limits
Raw pixel bandwidth is easy to calculate:
width x height x 3 x FPS = bytes per second
| Matrix | Frame size | At 30 FPS |
|---|---|---|
32 x 32 | 3,072 bytes | ~0.74 Mbps |
64 x 32 | 6,144 bytes | ~1.47 Mbps |
64 x 64 | 12,288 bytes | ~2.95 Mbps |
128 x 64 | 24,576 bytes | ~5.9 Mbps |
Those numbers are before packet overhead. Wi-Fi can carry them, but latency and jitter matter more than raw throughput. For large matrices:
- Use Ethernet on the ESP32 if the board supports it.
- Keep the access point close and on a quiet channel.
- Remember that most ESP32 boards are 2.4 GHz only; a 5 GHz network will not appear.
- Disable router client isolation so the PC can reach the board.
- Cap brightness in WLED to stay within the power supply.
Troubleshooting
| Problem | Fix |
|---|---|
| WLED does not react | Check the IP, enable DDP in WLED, confirm both devices are on the same network |
| Only part of the matrix updates | Wiring pattern, matrix dimensions, or universe count is wrong |
| Image is mirrored or rotated | Match the editor wiring pattern to the WLED 2D orientation |
| Colors are wrong | Set the correct color order in WLED |
| Flicker or random pixels | Power injection, level shifting, loose data line, or Wi-Fi retries |
| Stream drops after a few seconds | WLED live timeout; keep the stream running and check the network |
| Frame rate is low | Lower canvas size or FPS, use Ethernet, reduce other Wi-Fi traffic |
| Board not found in Discover | Firewall, subnet, or AP isolation; enter the IP manually |
FAQ
Can WLED play a video file directly? Not in the usual sense. WLED displays live pixel data or its own effects. Video playback requires specific usermods and hardware, and it is not the same as streaming frames from the editor.
Should I use DDP or E1.31? Use DDP for a WLED-only setup. Use E1.31 when WLED shares the network with FPP, a lighting console, or other sACN devices.
Can I stream over the internet? It is possible with a tunnel, but not recommended. Pixel streaming is latency-sensitive and exposes the controller to the network. Keep it on the LAN.
Does the animation stay on WLED after I stop streaming? No. The stream is live data. For standalone playback, export a file for the controller or use FPP.
How many pixels can WLED handle? It depends on the ESP32 board, frame rate, network, and power. Test the real matrix at the target frame rate instead of relying on a headline number.
Explore Pixel LED Animator 3 · See all integrations · Read the Falcon Player FSEQ guide · Buy the lifetime license