Chaining and Stacking Multiple Panels

Hi friends,

This is my first time working with Teensy/SmartMatrix and I’m getting a little stuck on how to change the displays of my GIFS. I am making this project so it could be a totem for a festival. I am currently working with four 64x32 RGB LED Matrix Panels and currently the GIFS are displaying in each four panels. For example, I have four running Pikachu’s. I would like it so it could be 64x64 on each side. So having two panels each side, stacked on top of one another, so it will be double-sided. This would make it a bigger pikachu, one on each side. I am following the directions on the page linked below, but when I change the kMatrixOptions to any of the example Panel Orders shown on the forum, it won’t change the displays of the GIFS. Is anyone familiar with this programing and could help me out so I can make a bigger display of the GIFS on my panels please? :sob:

I am using the sample code from this page and I have downloaded all required software tools

I am using this page as reverence for the chaining and stacking multiple panels

Note: Items using
-Teensy 3.6
-SmartLED Shield (v4)
-SD/MicroSD Memory Card (8 GB SDHC)

Ideally you would make the display 128x64, and copy the GIF image to two locations to produce an identical image on each side. The Teensy 3.6 may struggle to drive 128x64 though, so as a bit of a hack, you can drive 64x64 for one side, and then chain that to the other side. The other side won’t be driven with the same image, it’s complicated to explain but the pixels and timing will be slightly off, and I think there may be some rainbow colored pixels on one edge. Try it and see what you see. You can also try driving 128x64, and see if it flickers too much.

For 128x64 you want to set kMatrixHeight to 64, kMatrixWidth to 128. For 64x64, set kMatrixWidth and kMatrixHeight to 64. Then you may need to play with the panel order to get the image to look right. Please post back and let me know how it goes, and I can help with copying the image to two locations for 128x64 if needed.

What festival(s) are you planning to take this to?

Hi Louis!

I tried changing the kMatrixHeight and kMatrixWidth to both 64 like you mentioned, but now sadly my panels are showing black without a gif. If I set it back to both 32, I can see the gifs again. Here’s a snap shot of my code to show, see if I’m inserting anything wrong.

For the gifs I am using, I have been following the gif forum on that same page for resizing. I don’t understand too much about the chaining part. Is that how I connect the wires in the back or in the code for kMatrixOptions?

I’m probably going to take you up on that offer of copying the image to two locations please!!
I’m planning to take it this weekend for EDCO, kind of scary I’m doing this last minute.
Thank you by the way for replying so fast and for your help, I greatly appreciate it :blush:

Here is a picture of how I’m linking the panels together in the back.

The first panel on the top left is where the teensy is connected to

By chaining I meant wiring, and your wiring looks good at a glance.

So 32x32 works, does 64x32 work? 64x64 and 128x64 both have a blank screen. Try the larger resolutions again with kRefreshDepth set to 24 which frees up some memory.

I’m about to go to bed (UK time) but I’ll check in tomorrow

Hi Louis,

Yes, 32x32 works and the 64x32 works. I tried doing the kRefreshDepth to 24 for the 64x64, this time it caused only the top left and top right panel to be displaying a gif. The bottom left and bottom right became blank. When I try the 128x64 with the kRefreshDepth to 24, all four panels are blank.

By chance, am I supposed to be inserting something for kMatrixOptions or change the kPanelType I have currently?

Okay no worries, thank you!

I think you may be limited to 64x64 with the Teensy 3.6

For 64x64, do you see the same pixels from the GIF on the top left and top right panel? Or do you see like the top half and bottom half of the GIF split across two panels? What are the sizes of GIFs you have loaded?

If you set your config to 64x64 and played a 64x64 GIF for your setup I would expect to see it displayed correctly across the first two panels, and nearly identical on the last two panels. There may be a column of rainbow colored pixels on the last two panels. The only think you may need to do for kMatrixOptions is change bottom to top stacking (or the reverse) if the image is stacked upside down.

For the 64x64, I see top half of the gif image on the top left and top right panel. For example, I only see the head and back of the pikachu on both panels, not the legs. The sizes I have the gifs are 32x32. Should I change the sizes of them?

I’m not at home at the moment but I will try to change the gif to 64x64 like you mentioned later tonight and let you know how it goes!

If you can post a picture, or video, and the source GIF that would help me figure out what’s going on. There’s no resizing or even centering of the GIF in the example sketch, so if you’re playing a 32x32 pixel GIF I’d expect to see it fully displayed in the top left of the panels, and then repeated on the other panels

Hi Louis!

I just the code shown in the picture below and now its working!

The only problem I’m having is the order of the picture. It’s flipped upside down. So the feet of the pikachu is on the top, and the back is on the bottom. When I tried to change the kMatrixOptions to top to bottom to fix the issue, that’s when it shows error. What I did to solve this was just flip the panels around physically.

Now it looks like this. (excuse the bad quality)

Everything is good to go now! I can not express how thankful I am for you helping me out with this project. For replying so fast and having such a kind heart. You are my angel hahahah. Now I can enjoy this totem for the weekend. Thank you Louis :smiling_face_with_three_hearts:

I’m glad you got it working! Have fun, be safe, and please post some pictures of the totem when you get back if you have time.

1 Like

apakah saya boleh minta sorce code ino nya pak terimakasih

hallo pak saudara louis, saya mau minta tolong tentang menampilkan running text di RGBMatrix
128x64 apakah saudara bisa bantu

Here’s a tik tok video we made of it!! :smiling_face_with_three_hearts:

Looks great, thanks for the link!

If you want to do an upgrade for the next show, you could swap out the Teensy 3 with a Teensy 4, and either upgrade to the SmartLED Shield for Teensy 4 or use this adapter and solder some headers/sockets so that you can use your existing shield. The Teensy 4 has enough power to refresh the panels much faster. You’re likely refreshing around 120Hz with the Teensy 3, maybe lower. The Teensy 4 will do 240Hz by default and higher if you set the refresh rate manually. That way there will be more lines refreshed in the shutter time of a camera, and the picture displayed will look more complete on a camera.

Here’s an article @marcmerlin wrote which includes how he improved his wearable LED panels to look better on camera (search “refresh”).