64x64 Split Image Adafruit RGB Matrix Bonnet Troubleshooting

Hi all!

I have an issue that doesn’t seem to be unique to me, but looking at other threads I can’t pinpoint my issues and would really appreciate a sanity check, as this is all very new to me.

I purchased an Adafruit RGB Matrix Bonnet for Raspberry Pi and have it on top of a Raspberry Pi 3 B+.

I have the bonnet connected via the barrel jack, Raspberry Pi and 1 x P3 64x64 192mm x 192mm 1/32 Scan LED panel (I want to hook up 3 more into a square formation after I get this working) all to a 5V 20A 100W Power Supply, so it’s shared ground.

I have followed the official instructions doing the convenience setup and then running this command:
sudo ./demo -D0 --led-rows=64 --led-cols=64 --led-chain=1 --led-gpio-mapping-adafruit-hat

It then looks like the display is split into 4 sections, 1 and 3 are lit and the other 2 are just blank. See below photo:


At first when the ground wasn’t shared and the RPi was being powered independently I could squeeze the data ribbon cable on the panel and get it to display colours across the entire panel when using gradient demo, this stopped after shared ground so I’m guessing that’s irrelevant, but thought I’d mention it. I also tried to add the slow command to 1 but had no effect on the blank spaces.

I have tried multiple panels, ribbon cables and power cables.

Adding another panel also mimics the same issue

I have tried soldering both E and 8 and E and 16 on the back of the bonnet just in case, continuity test both times to confirm working. I’ve never soldered in my life so apologies in advance

Let me know if I’m missing anything but I would really love to get this working! Thank you so much in advance for any support.

(Rest of the photos: Imgur: The magic of the Internet)

First, I have those 64x64 ABCDE panels and they work fine with the lib.
From the picture, it does look like your E line (or is it A?) is not getting through. I forget if high bit is A or E but basically your first address bit is set to 1 all the time, so the first 16 lines get skipped and written on top of the bottom 16 lines.
I cannot tell you why, but you could try making a custom ribbon cable to connect/disconnect the 1st and 5th address line and once you find the correct one, hot wire it to 0 or 1 to make sure that part works.
Once it works, you have to figure out why that bit is not getting to the rPi, bonnet, or code.

1 Like

EDIT: I figured it out! I added the parameter --led-pixel-mapper=V-mapper. Woop!

Thanks for your response marcmerlin, I really appreciate you taking the time to reply. I decided in the end to return the panels, and go with 2 x 32x64 panels instead, and was hoping to stack them on top of each other to make a 64x64 without the soldering, is this possible? From what I can tell with the --led-chain=2 parameter, it always assumes horizontal chaining to 32x128.

Thanks again

If I may, I doubt the issue was the panels but I think your adafruit bonnet was the problem.
I would recommend the $3 electrodragon 3 channel board that handles this much better and gives you 3 channels as a bonus: GitHub - hzeller/rpi-rgb-led-matrix: Controlling up to three chains of 64x64, 32x32, 16x32 or similar RGB LED displays using Raspberry Pi GPIO