Arducam Mini 5MP Plus OV5642 multi capture framerate

1.Which seller did you purchase the product(s) from?
2.The Model number of the product(s) you have purchased?
Arducam 5MP Plus OV5642 Mini Module
3.Which Platform are you using the product(s) on?
Adafruit Feather M0
4.Which instruction are you following?
Online documentation
5.Has your product ever worked properly?
6.What problems are you experiencing?
My goal is to capture 4 frames with a resolution of 2592x1944 (5MP) at a framerate of around 4 fps with the Arducam 5MP Plus OV5642 Mini Module.

When working with the Multi_Capture2SD example, it seems to me that the framerate is fixed to 1 fps, regardless of the resolution or camera settings. I have tried many different settings, and the capture time for 4 frames is always around 4000 ms. Is there a way to achieve higher framerates at 5 MP?
7.What attempts at troubleshooting have you already made?
Searching the internet
8.How would you like us to help you?
Advise if it is possible to achieve 4 frames with 4 fps at a 5MP resolution.


At present, for cameras with SPI interface, although the sensor itself can achieve a higher frame rate, it is limited by the speed of SPI, and the frame rate actually read and output is not very high. And you will spend a lot of time after you read the image and save it to the SD card.

Thank you for your answer. Could you please clarify 1 thing for me:

Does the SPI speed of the host MCU also affect the speed at which the OV5642 writes data to the FIFO? I thought SPI speed would only affect the speed of the data transfer from FIFO to the SD card.

To be completely clear: I am only interested in maximizing the framerate of the OV5642 writing to FIFO. No matter what image resolution I choose, the waiting time for the CAP_DONE_MASK is always exactly 1 second. If the time for data transfer from the OV5642 to FIFO would depend on SPI speed, it should also depend on file size (i.e. on image resolution), but this appears not to be the case. Could you please clarify to me why the 1 second capture time remains constant, regardless of image resolution?

Thanks in advance for your help!


You are correct. The smaller the resolution, the higher the frame rate and the shorter the waiting time for CAP_DONE_MASK.

As for why your waiting time for each measurement is 1 second, it may be related to your measurement method and the frame rate corresponding to the actual resolution set.

I was about to buy a Arducam 5MP Plus OV5642 and started looking around to see whether I would have a problem using it with an Adafruit Feather CORTEX-M4. There is another question on this forum suggesting that the SPI rate of an M0 or M4 might be too high (or may need to be divided down to 4Hz).

So. “mrade” I am delighted to hear that you have this working on an M0 albeit with a frame rate too slow for your liking. Since I will be doing time-lapse I don’t need a high frame rate. Can you confirm that you got this working reasonable easily with the M0 - and did you need to adjust the SPI rate?

Thanks for your help before I buy something that won’t fit my needs.

Yes, I can confirm that the Arducam Mini 5MP Plus OV5642 works on an M0 without any issues for the purpose of time-lapse imagery.


mrade is right!

Thank you both! I look forward to testing my new Arducam when it arrives in a day or two.

there is still an open point about the time between the start of the capture and the value of CAP_DONE_MASK = 1. In my case too this time is almost 1s, so I measured with a variable how many times in 1s I check the flag CAP_DONE_MASK (while (!myCAM.get_bit(ARDUCHIP_TRIG, CAP_DONE_MASK)) and the result is almost every 10ms, so the frame rate is really low, can you explain that? Is my measure coherent?
Thank you