You need just need 2 things:
- A way to unlock the camera
- Some fast hardware to get data off the camera module (FPGA)
The first is super hard to figure out, but it's been solved, and there are hints throughout the thread.
The second is an open question. Some people have posted demo's, but I don't think there is public FPGA code out yet?
Best of luck!
EDIT: I have some rough FPGA code available soon:
If you cheat a bit, you can use the gap between the valid lines as the H-Sync, and the gap between frames as the V-Sync.
There are sequential lines with no gaps (about every 7 lines), so you lose those lines (there's no time for an H-sync pulse). This compresses the image vertically, but as the position of those double line jumps around, the image looks pretty stable overall.
But, what you get in return is super low resource requirements:
- No BRAM or SDRAM used at all (we don't need a frame buffer)
- only 58 LUTS and 21 registers used in total for the most basic implementation (as in the image)
- about 300 LUTS using histogram shifting and a colourmap (
https://ai.googleblog.com/2019/08/turbo-improved-rainbow-colormap-for.html)
- you can drive this directly from the recovered clock on the DS90C124 (CPLD without a crystal?)
- probably drive a 320*240 RGB really nicely!
As its a PITA (at least for n00bs like me) to get a softcore on an FPGA, and ESP32's are super cheap, I will use that for the unlock, and try and get it to act as a WIFI video streamer