8ns -> 125 MHz I assume, that’s blazing fast! I think the ESP32 is limited to 40MHz output through I2S
5 second boot up isn’t bad at all
Have you thought about how to move data quickly from the micro to the Pi? It’s not as easy as it might seem. Teensy 3.6 seems limited to 1MB/sec throughput over USB, which is only enough for 20FPS RGB24 at 128x128 resolution.
If you use an ESP32 which has no native USB it’s even more bandwidth limited. I don’t recall what rate the usb-serial chip and associated UART on the ESP32 can handle, but it’s not great.
Most micros can drive SPI signals with a fast clock, but can’t receive signals as fast. The RPi is probably no exception, and there doesn’t seem to even be a SPI slave driver.
I think best bet for a generic solution after brief research is to use DMA reading of parallel GPIO pins to receive data. You can use shift registers and a counter to convert SPI signals into parallel, I’m prototyping this for my ESP32 adapter circuit. I don’t know if the Pi will struggle with high speed DMA-GPIO both in and out.
Thinking about bandwidth more: RGB24 isn’t enough information in my opinion to send to the Pi if the Pi is refreshing the panels at a >24bpp color depth. I guess the Pi could apply color correction mapping the 24bit color into a larger depth space, but in order to get smooth fades avoiding stepping it would need to interpolate colors for the intermediate frames between the let’s say 30-60 FPS generated frames and the 300FPS refresh the Pi can do (I’m borrowing these ideas from Fadecandy). I don’t think the hzeller project is set up to do that already, but it’s open source and seems possible. (And might already be done, I haven’t studied its features) I think the APA102 protocol with its extra byte per pixel containing a Global Brightness Control value is enough to communicate greater color depth and allow for lower overall brightness without sacrificing color depth. Using that has the advantage of compatibility with existing libraries like FastLED, which I believe already has some limited GBC support and hopefully will have better support in the future.
BTW I ordered the Electrodragon board (cheap shipping option), and I’m giving the RPi a bit more consideration as you might be able to tell, though I’m still leaning toward the ESP32. I think what we’re doing can complement each other so even if we diverge at some point I’m happy to trade ideas here.