I'm working on a project to interfacing Arduino with an OV2460 camera with the help of an external 3-Mbit FIFO buffer memory chip AL422B.
The project is to use only an Arduino to take pictures with the camera module at a certain interval (5~30 mins I think is already good enough) and store them into an SD card. And later stitch those pictures together on a desktop computer and make time lapse videos.
I know for a fact that this could work, because I did lots of research on feasibility of the idea. (for example, this site: http://www.arducam.com
has already built modules to make Arduino take pictures with camera modules, but unfortunately they don't sell to China which is where I am but they're from China, too.)
When I did my research, I know normal Arduino (like Uno) are not fast enough to keep up with the camera module output, also it doesn't have enough memory to store the data temporarily.
So I bought an Arduino Due, which is said to have an 86Mhz clock speed (the camera I use is working at 27Mhz). I think that is fast enough even for videos.
So, here are my options:
1. Work on AL422B to buffer one frame data(JPEG format) and read the data slowly into SD card file system. This may even work on slower Arduinos like Uno and pro mini.
2. Interface Arduino Due directly with OV2640, read JPEG data and write the data into SD card right after it buffers a certain amount. This one is certainly much simpler, but I don't know whether this could work, mainly because of - I don't know whether the SD card input speed can match up with the camera output speed.
3. I say on the Internet that some ppl use stm32 CPUs + DMA chips to work with high-resolution pictures/videos taken from camera. I'm more of a software guy, so pardon my hardware knowledge. I only know DMA will work with communications between host CPU and DRAM chips, but certainly not with SD cards which has .
So, my questions are:
Which path should I approach?
If option 2 is chosen and it could work, will Arduino Due even be fast enough to record MJPG formatted videos this way?
Will option 3 even work, if it will, how?