Pixel Lights Not Working? Start at the Lights
When a prop is dark, flickering, or showing the wrong effects, I troubleshoot in this order:
Physical lights → controller → FPP → xLights
First, prove the lights work. Then work backward through the software. Change one thing at a time and retest so you know what fixed the problem.
1. Test the Physical Lights
Use a compatible pixel tester or the controller’s built-in test mode. Try solid red, green, and blue, followed by a chase. If the pixels light up as expected, at least you know not to start tearing apart your wiring! Note that most pixel testers are set to only test a certain number of pixels (e.g. 50) — you may need to adjust this higher to match what you are testing — consult the instructions with the pixel tester.
- Nothing lights up: Check power, fuses, connectors, extension cables and that the string’s data input is connected to the controller
- Only part of the string works: Check the configured test pixel count, connections, and pixels around the point where the lights stop; look for breaks in the wire and repair / replace as needed
- Lights flicker or behave erratically: Check for loose connections, power problems, or an issue with the data cable
- Colors are consistently wrong: Check the configured RGB or RGB+W color order in xLights (go to model, model properties, string properties, string type — and choose the correct order)
Turn power off before changing wiring. If needed, test a known-good string directly at the controller to help isolate the problem.
Don’t move on until the physical lights pass the test. If they fail with the pixel tester or controller test mode, changing your sequence won’t fix them.
2. Check the Controller Configuration
If the lights pass the test, make sure the controller is configured for what is actually connected.
- Is each prop assigned to the correct output port?
- Do pixel counts and the order of daisy-chained props match the wiring?
- Are color order, null pixels, and other port settings correct?
Exit controller test mode before testing normal playback.
Did you change controller or model assignments in xLights? Upload the updated configuration to the controller(s). Saving changes in xLights does not mean the controller has received them.
To upload in xLights: Go to Tools, Bulk Controller Upload, Choose controller(s) from checklist, then hit “upload”.
3. Test Playback from FPP
Manually play a known sequence in FPP before troubleshooting the schedule.
- Did you perform a “render all” on the sequence before uploading from xLights to FPP?
- xLights Option #1: Hit the render all button on current open sequence
- xLights Option #2: Go to Tools, Batch Render, select the sequences in the current show folder you want to render, hit “OK” — xLights will open each sequence and render it (may take a while if you have lots of sequences)
- Are the correct sequence and matching audio file uploaded?
- xLights — Tools, FPP Connect, choose sequences from list, click “Upload”
- Are the required outputs enabled and pointed at the correct controllers?
- xLights — go to controllers tab, select controller and hit “Visualize”
- Does FPP’s output configuration match your current xLights setup?
- FPP — go to “Content Setup”, “Outputs” and make sure this looks the same as xLights
A sequence may simply need to be re-rendered—especially after layout or model changes. FPP needs the updated sequence file; it won’t automatically pick up changes made on your computer.
If manual playback works but the scheduled show doesn’t, check the playlist, schedule, and FPP’s date and time. Some older Raspberry Pi’s don’t have an onboard real time clock (RTC) so need to get the time from the internet — make sure this is enabled in FPP on the Raspberry Pi.
Two Easy Things to Forget
Before digging deeper, ask:
- Did I upload the changed controller configuration?
- Did I re-render, save, and upload the updated sequence?
Those two checks can save a lot of unnecessary rewiring.