52x52 Panel (1:13) Scan

I am interested in the smart matrix library for a 52x52 RGB LED module (1:13 scan) of which pinout was not provided to me. Are libraries such as smart matrix generally easy to modify from 32x32/64x64 for use on 52x52 modules? Lastly, I do not have the pinout, is there a rule of thumb that after a certain size (say 32x32 going larger), you will have A/B/C/D and E row address pins? I’ve seen examples of 32x16 having A/B/C row address pins and 32x32 with A/B/C/D pins. Not sure of my HUB75 has an “E” pin or if this pin is “GND” on my 52x52 module.

Best regards,
Andrew (Zef)

Oh my, yet another weird size.
Sadly there is no rule of thumb on anything, even with the standard sizes.
honestly you’ll have to do a lot of trial and error and/or ask your vendor if they can at least give you a pinout.
That being said, if you drive an ABCDE panel as ABCD you’ll still see stuff, and it should be pretty clear that you need to rewire as ABCDE

Good luck, but know that this should only be if you’re up to the challenge and the time this is going to take. Taking supported standard size panels is by far the easier route.

Thanks for the response. I figure I’d see what information I could get. In terms of the ABCD /E, the supplier was telling me the “E” was to be a ground connection. My intuition tells me I would need an E row select because with only ABCD that only leaves me with 16 (2^(4 possibilities A, B, C and D)) selections from the top half and bottom half of the module where as 2^5 would allows me to select the top 32 and bottom 32 rows for a max module size of 64x64. It is also entirely possible these boards clock in two rows worth of information (104 bits?) perhaps. I shall take heed to your advice that this will take time, I have already committed to that challenge at this point. Prototyping with an Arduino Uno makes it easy to simply add an E line or remove, but I think my main challenge is finding or tweaking libraries to work with 1:13 scan and 52x52.

Thanks again,
Andrew

I agree that with more than 32 lines, usually the panels are ABCDE, but I recently received a 128x64 panel that was ABC and where you had to shift more pixels through lines to get to the other lines.
So long story short is with a weird beast like 52x52, the answer is who the hell knows? :slight_smile:
Try telling smartmatrix it’s a 64x64 ABCDE and then work from there depending on what gets displayed.

I have been playing with (probably) similair panels lately, I got one working with the SmartMatrix Library, and one with some other library but is more laggy then SmartMatrix (ESP32 DMA code from mrfaptastic on github).
so far those 52x52 panels are 64x64, I mean by that you need to send 64x64 and skip 3 pixels 4 times to fit its mapping. however my first panel had RGB1234 pins, not RGB12 like other normal panels, so a bit and tracing out the last shift register’s output I connected the rgb34 pins to the end of rgb12, that worked. (smartmatrix sends 32x128 pixels in 64x64 mode).
on my other panel I needed to send 8x128 pixels to fill out all led’s and meanwhile skipping 3 pixels as it had similair mapping on my other 52x52 screen.

as far I mean by RGB1234 its R1 G1 B1…R4 G4 B4 etc.
I couldnt get 8x256 pixels working in SmartMatrix, ESP32 just crashes, and I might need to study the code more better if I want to get it working with SmartMatrix.
I’ve put all my findings on GitHub - ZuwaiiVR/LEDSend: An attempt to use (expensive) LED Panels, those are not from ebay, and appears to be having weird mapping. They often used with a receivercard from NOVASTAR and scaler. Sold as a complete panel and ready to go.

1 Like

First off, good job on getting your 52x52 module to work with a video stream, I saw the youtube video you posted in another thread. I have a teensy or two that I can buy a Smartmatrix shield for, but I also have an Arduino Uno that I’m wondering if it will work. I’m only displaying text that won’t move so no need for large memory or high clock. I saw the github link you posted which is very helpful on a topic that is quite lacking when one google searches 52x52 modules.

So does RGB1234 mean that it draws RGB top 1st 52 LED row, then 16 lines of vertical spacing, 2nd row of 52 LEDs, then the next frame it draws 3rd row (3/4 the way down form top) then the 4th (bottom row) information in this separate frame? (as the HUB75 only has RGB12)? IE drawing top half and bottom half of module in 2 separate frames. It is worth noting my supplier mentioned my panel is usually hooked up to a “Novastar controller card”

Is the ESP32 DMA code easily modified to use with an AVR architecture such as ATMega328P? I’d like to try on an Arduino UNO (If possible without externally wiring to the shift registers because the modules have them covered in my outdoor rated version).

I guess it is at least good that I know my pinout is ABCD on the HUB75 as the supplier mentioned. Your description of skipping 3 pixels 4 times makes sense and the diagram on github helps. I just have to search out a library that I can use with an Uno to simply drawing text, nothing fancy. If too difficult I’ll have to move to a teensy and Smartmatrix library.

Best Regards,
-Andrew (Zef)

Without looking at it, no.

  1. Uno, OMG, is so not going to work, it only has 2KB of RAM
  2. Mega, if you want that, you should use Adafruit’s library, since it’s a much slower CPU (albeit with more RAM). It does not have DMA last I checked
  3. Generally @Louis’s library is for better/faster CPUs (teensy and ESP32). Any 16bit arduino is too slow for this library (and also lacks the RAM).

Yes, level shifters are a bit of a pain, but the good news is that for most RGB Panels, they actually work without them.
Otherwise, use Louis’ shield that has level shifters built in.

Good to know, I’ll have to experiment with Louis’ shield and my teensy. Meanwhile I’ve already bit the bullet and purchased standard scan rate 32x32 modules to keep the project going. The former could be good with video or simple animation, but for now I just need to draw numbers to the display for a simple scoreboard.

Thanks again for the input.