I agree that the SmartMatrix page could do a better job helping people who don’t use the SmartMatrix Shield for teensy. If you use that shield, there are clear instructions, but basically you just plug it in
For ESP32, I gave you a link of what I wrote which itself points you to
That should be pretty clear wiring-wise, what you need to do.
It’s not a problem with 64x32, or likely 64x64, but once you go beyond that, yes, you’re starting to hit limits.
My page, again, gives details on how to deal with it but I’d say 96x64 is likely a limit for SmartMatrix (actually 128x64 may be possible if you don’t have other code running, like I do). I think another lib could use less RAM, for one, I would be perfectly fine with 16bpp instead of 24bpp
I am not using Wifi yet, but I’ve seen Wifi cause problems with many libraries that use both cores, be it SmartMatrix or FastLED, or others.
A few thoughts
- No one is centrally in charge, everyone writes their own bit
- I actually spent many hours writing documentation to try to clear things up for the newcomer.
GitHub - marcmerlin/SmartMatrix_GFX: SmartMatrix::GFX: Allow using Adafruit::GFX as well as FastLED_NeoMatrix code with SmartMatrix backend, goes into details about the multiple libraries out there as well as APIs and basically lets you run all the APIs on top of SmartMatrix
Marc's Blog: arduino - SmartMatrix, SmartMatrix Shield v4 for Teensy, ESP32 shield with level shifter, and SmartMatrix::GFX gives more details.
All in all, I spent close to 2 days writing all this up to help people like you.
I see no reason why it shouldn’t work, outside of possible conflicts with Wifi.
Are you using ESP8266 with PxMatrix ? This is because ESP8266 is single core and SPIFFS takes interrupts that stop the RGBPanel refresh.
Either way, I have seen some issues with SPIFFS a while ago and I switched to FatFS.
Marc's Blog: arduino - Using FatFS FFat on ESP32 Flash With Arduino but I doubt it will work better on ESP8266. The chip is just too slow and resource constrained.
For ESP32, my patch in GitHub - espressif/arduino-esp32: Arduino core for the ESP32 was accepted, you can simply select FatFS in the partition type if you use git master
It’s not a question of how many displays, but size of total display.
I expect PxMATRIX to not be great because it’s 6 times slower with its single color wire used for all 6 color components. I’m not sure what its actual limit is, but the refresh rate will be a problem that will make you want not to use it on 64x64 or bigger (IMO)
SmartMatrix can barely reach 128x128 with teensy 3.6 on some displays, and 96x128 on other ones (depends how they are run).
On ESP32, I think the limit is 96x96 or 128x64 but I haven’t tried past 96x64.