Hardware Setup
- Raspberry Pi 3B+
- Adafruit RGB Matrix + Real Time Clock HAT
- HUB75 32×64 LED panel (non-standard, mixed-chip variant)
- Ribbon cable (HAT → panel)
- Power: LRS-100-5 Meanwell feeding the HAT, Pi powered through the HAT
Panel ICs observed:
- SM16380SC (LED driver)
- RUC7258D (row/scan driver)
- DP245D (timing/buffer IC)
Software Environment
- OS: Raspberry Pi OS Bookworm
- Library: hzeller/rpi-rgb-led-matrix (latest pull)
- Demo command used:
sudo ./demo --led-gpio-mapping=adafruit-hat --led-rows=32 --led-cols=64 -D 0
Issue Description
- Running the demo initially produces no output.
- If the HUB75 ribbon is disconnected, some LEDs flicker randomly.
- Reconnecting makes the matrix react to commands, but the display is scrambled: animations distort, colors are wrong, and movement looks erratic.
This behavior resembles what others have seen with panels that need special initialization for unsupported driver ICs.
Steps Already Tried
- Disabled onboard audio in
config.txt(dtparam=audio=off). - Tested both
--led-gpio-mapping=adafruit-hatand the default mapping. - Verified ribbon cable orientation (pin 1 → pin 1).
- Ran demos with
--led-no-hardware-pulse(result: flicker, still scrambled). - Checked power stability from the LRS-100-5; Pi is powered through the HAT.
- Tried
--led-panel-type=FM6126Aand--led-panel-type=FM6127(incompatible). - Tested the FM6126 reset script (
resetmatrix.py), no effect on this SM16380-based panel.
Observations
- Random flicker with the ribbon detached is consistent with floating inputs.
- With the ribbon connected, the panel shows activity but outputs are garbled, suggesting the ICs aren’t initialized correctly.
- The progression (no output → flicker → scrambled) aligns with known cases of unsupported chips.
Request for Help
This panel uses SM16380, RUC7258D, and DP245D ICs, and doesn’t respond to existing --led-panel-type options.
- Has anyone managed to drive SM16380-based panels with this library?
- Is there a known init/reset sequence for these chips?
- Would adapting the library or writing a custom init script be the way forward?