That's a really interesting project as at the time I started mine no one had written any Matrix drivers compatible with Pi5. I used
hzeller's library with a Pi4.
You can make this a lot cheaper by using Matrix panels straight from China. I took a gamble with some and they're excellent.
Adafruit are great but unfortunately their faulty Matrix bonnet
wasted me days. It was the one component that I didn't go cheap with so was the last part of the chain (including myself) that I suspected being at fault. I tried a 4x pricier Waveshare panel, various cables, three power supplies, a different Pi, a few new software installations, and hundreds of different launch settings before I finally realised the problem was the Adafruit part. It comes up a lot on their forums since 2020 and is a known issue with the address circuitry of some batches.
In the end I tested it working by connecting the panel directly to the Pi's GPIO with a dupont cable and I'm currently using this mutilated floppy drive pATA cable...
IMG_6234.jpeg
...while I wait for
this board from Electrodragon. It's a much better and cheaper product and because it allows for three separate chains it can provide a faster refresh rate than having all panels on one chain. My display already looks great at 120hz on a single chain (60hz has very noticeable flicker on an LED matrix) but I had to lower the bits per pixel to get there, which is fine for pico8's 16 colours.
Two chains will also allow me to remove an interesting visible seam between the upper and lower panels. This is explained well in the Adafruit guide that you linked and it's caused by opposing RGB alignment between the upper and lower panels in a single chain U-formation. You don't actually need two chains to remove the need for rotating panel orientation but to do so with hzeller's library you'd need to write a custom mapper and I don't know how.
You do not have the required permissions to view the files attached to this post.