Troubleshooting
Nothing lights up
Check in order:
- The COM port — in
PicoCommandSender.ini, section[Serial], thePort=value must match the port Windows assigned (Device Manager → COM ports). - APIExpose is running — LedManager has nothing to display without it. Check that the APIExpose plugin is installed and started.
- The firmware answers — connect to the Pico over serial (115200 bauds) and send
VERSION. Expected answer:VERSION DYNAMIC_PANEL_ADDR <date>. Otherwise, reflash withtools\deploy-pico-fw.ps1. - The startup delay —
StartupDelayMsinLedManager.inigives the Pico time to initialize. If it is too short, the first commands are sent into the void.
Testing without hardware
Set DryRun=true in the [CommandSender:P1] section of LedManager.ini: commands are logged instead of sent, letting you validate the whole logic chain without a Pico plugged in.
LEDs freeze mid-game (COM timeout)
When Windows puts the COM port in timeout, the serial bridge reopens it automatically and retries the command. PicoCommandSender.exe then detects SERIAL REOPENED and replays the full panel initialization. You should not have to do anything; if it happens often, raise WriteTimeoutMs in [Serial] and check the USB cable.
The COM port stays busy after a crash
An old process sometimes keeps COM3 open. Two solutions:
- double-click
stop.bat— it closes LedManager, its senders and the serial bridge; - on the next start,
LedManager.exeautomatically closes older instances found under the same plugin folder.
For debugging sessions where this automatic cleanup gets in the way:
.\LedManager.exe --no-kill-previous
A color renders poorly
Not every LED renders every color faithfully. Declare a substitute in PicoCommandSender.ini:
[ColorPolicy.Fallbacks]
GOLD=YELLOW
See Configuration — the color policy.
A button triggers the wrong action in-game
The right LED lights up, but pressing does something else (two swapped buttons, say)? That's the switch wiring, independent of the LED wiring. Run the assistant → Cartography only: press each lit button, then "Write the cartography & regenerate". The RetroArch remaps and MAME configs are rewritten from what your buttons actually send — and it's reversible.
If the assistant shows "Gamepad unreadable", check that a pad/encoder is plugged in and that EmulationStation is closed.
Where are the logs?
In the plugin's .log\ folder. It is the first thing to attach when asking for help: it shows generated commands, Pico answers and any ignored commands.
Resetting the Pico
powershell -NoProfile -ExecutionPolicy RemoteSigned -File tools\reset-pico.ps1
Then restart LedManager (or RetroBat).
Still stuck?
Open a ticket on the LedManager issue tracker, attaching the logs from the .log\ folder.