Got a 64x64 pre-made RGBpanel with no visible flickering at all

I just bought one of these:
It’s a single 64x64 panel with probably some FPGA on top.
The thing is that it has 0 visible flickering on my camera, it’s just perfect, you can’t tell it’s a scan matrix.
My understanding is that it’s only possible with a very high refresh rate, but I remember @Louis saying that if you refresh too fast, the panel is dimmer. From my tests, it doesn’t really seem that dim.

So, I’m a bit confused, how did they get that panel bright enough while having a very fast refresh rate?

As a related question, what’s the fastest refresh rate that has been achieved for 64x64 with teensy 3.6 and ESP32?


Hi Marc,

I didn’t get a notification for this thread, weird, I’m supposed to get notifications for all new posts, plus you mentioned my name.

That backpack looks pretty sweet, I may have to pick one up.

I’m not actually sure how much dimmer the panel would be if you refreshed it at max speed. It may only be something like 20% which wouldn’t be that noticeable.

Scanlime did some FPGA LED matrix dev on camera, I haven’t watched it but I’m sure there’s some good insights on how to efficiently refresh these panels in there, might be worth checking out:

As a related question, what’s the fastest refresh rate that has been achieved for 64x64 with teensy 3.6 and ESP32?

Sorry, I don’t have any of those specs handy.

If you do any disassembly, I’d love to see what’s inside.

I do still want to work on how to refresh these panels with the ESP32 a frame at a time vs a row at a time for less flicker. I haven’t forgotten, I’m just not dedicating much time to this project right now.

Thanks for the link,

Not sure if you saw this already, but I did a write up on the ESP32 forum on why I refresh a row at a time instead of a frame at a time, mostly because of the ghosting issue these panels tend to have:

I forgot about this when we were chatting around Christmas time

Thanks for that. It makes sense to reduce the ghosting.
But to be honest ghosting was really not my main problem: when I tried row vs frame refresh, it ultimately only changed how the refresh artifacts looked. They were not as bad for full frame refresh, but I could still see them unless the room was dark and the shutter speed slower.
The only real solution is to just refresh a lot more quickly, either 480Hz or 960Hz or whatever the hardware can do. Hopefully that would be faster than the average shutter speed in ambient light (in full daylight, the shutter speed may be too fast but at the same time the panel won’t be bright enough anyway, so making that case work is less important).
As of right now, for 96x64 resolution, would you say that teensy 3.6 is going to be faster at refreshing than ESP32?

I think ESP32 will be faster at refreshing. You can decouple ESP32 refreshing from updating the refresh data, so you can set the ESP32 to refresh at a really high rate, without necessarily impacting the CPU load of the sketch.

to be honest ghosting was really not my main problem

Were you able to reproduce that ghosting issue with the diagonal bright white line when you tried full frame refresh?

Yes, that was my understanding, I just wasn’t sure how far you can push the refresh on ESP32 or how to measure it given that the standard refresh test in your code is said not to work (you did tell me how to hand modify the code to hardcode a new refresh, but I’m not sure whether the number I put in there is actually reached).

To be honest, I didn’t look at that. I did notice artifacts from time to time, but didn’t spend time on them given that I had bigger problems to solve :slight_smile: