Modify for 52x52 LED Panel

Editing like a boss, I mean I figured it out already using the panel mapping.
adding :

const PanelMappingEntry defaultPanelMap[] =
{0, 3, 13},
{0, 19, 13},
{0, 0, 0} // last entry is all zeros

did work… however, I noticed there is a small problem.
if I compile

{0, 0, 0} // last entry is all zeros
I will get the normal image like the image downbelow.
then I compile with the change I did above, then it normally displays.
(see post 1 below)
after a powercycle the Teensy 3.1 it messes up the entire image.
(see post 2 below)

To get it back I have to change the panel mapping with “DEFAULT_PANEL_WIDTH_FOR_LINEAR_PANELS” and change it back to my value’s.
Is this normal?



First, I really appreciate your great work!

Second, I recently grabbed a LED Panel from the dumpster which has 52x52 pixels on there. I hooked it up like the HUB75 panels, but the mapping seems not to be right.
I need to skip 3 pixels every 13 horzontal pixels.
The shift register they used has 16outputs, but they left 3 outputs unconnected to have 52pixels in total. (same as in vertical rows, but I could easily change that in the code from 16 to 13)
what lines do I need to add/modify?

backgroundLayer.drawLine(63, 0, 0, 31, white);
backgroundLayer.drawLine(63, 31, 0, 0, white);


Sorry, I don’t know what DEFAULT_PANEL_WIDTH_FOR_LINEAR_PANELS is, and it doesn’t sound normal but I don’t understand the issue fully.

I had some trouble with posting/editing my first post, and seems like the post did not came thru.
However I couldn’t fix the issue (glitching after restart on the teensy3) So I’ve moved over to the ESP32 using also the teensylc branch.

I tried to modify the code to 52x52 output, but it was more worse, esp32 wont even show anything…
So I just leave it at 64x64 and do my own skipping 3 pixel code when receiving stuff from my PC. (since I wanted to receive data from a PC anyway instead using a SDCard or selfmade graphics on arduino)

It partially works for now, streaming video on WiFi!

If interested, I could share the code aswell.

As for the DEFAULT_PANEL_WIDTH_FOR_LINEAR_PANELS, its in the SmartMatrixPanelMaps.cpp file.
but I just leave that alone for this panel that i’m using.


(my english isn’t that great)

The PanelMapping code is pretty new, and seems like it still has some issues. Glad you got something working.

I opened a GitHub issue to track the after-reboot issue on the Teensy:

I’d love to see your code if you have time to share.

I was searching in the wrong branch, and didn’t realize it was in my code, sorry about that.

It’s been a while again, however I’ve put my code/modifcations on my github.

I also happened to get some other LED panels from the dump, as for a complete module its 104x52, (with calibration eeprom on their boards), opening this module appears to be a 2 times 52x52 again. However the mapping seems to be very different this time. See pic,
I debugged it with some shiftout function from arduino, it seems its like a large message board like 256x7 at max(after 64 it wraps up at the beginning again, wrapped in 4 colums, the screen has ABCD, however only ABC is useable.
I noticed SmartMatrix doesnt work like that way. Where do I have to look into the code? lets say, to change the clock signal to output 256times instead of 128 times, since my screen is also only 6 and 7 high, is there a way to change this?
I tried to play with the modscan stuff, but only resulting crashing the device.

Waiting for a reply from someone, thanks!

You might need to set SmartMatrix to a higher resolution than your panel, to account for the unused pixels that are interleaved with the useful pixels.