When attempting to construct a miniature laser beam profiler with the Omnivision OV7740 CMOS detector and an Arduino Due, I am running into some problems with FIFO reading/writing. From the datasheet, it appears I can only set a FIFO speed, toggle a FIFO valid mode, toggle a FIFO manual mode, or set a FIFO delay. The chip uses the SCCB for communication, which I understand to be very similar to I2C.

From my previous understanding of FIFO memory operation, there should be pins associated with enabling write and a FIFO output buffer clock. To take an image one should enable FIFO writing, read pixel bytes from the output pins, and pulse the output buffer clock to obtain the next byte. After the image is taken, the memory can then be cleared by powering down.

Am I understanding the operation of FIFO memory correctly? What strategies can I take for reading image data from the FIFO to the microcontroller with this setup?

  • \$\begingroup\$ As it is written currently, this may be two questions. SCCB is used only for configuration, you can't use it to read image data. You are almost certainly going to want a different micro, something with an integrated digital camera interface. For instance, STM32 processors have a DCMI. \$\endgroup\$ Oct 16, 2019 at 23:32
  • \$\begingroup\$ Thanks, I will look into using the DCMI on the STM32F4 Discovery board! \$\endgroup\$
    – user234217
    Oct 18, 2019 at 16:23
  • \$\begingroup\$ If you want something more Arduino-like, take a look at the ST Nucleo boards. They have Arduino-compatible headers. \$\endgroup\$ Oct 18, 2019 at 22:40

1 Answer 1


FIFO may be too slow.

You will want to use DMA access.

The M5Stack ESP32 Camera Module is using a OV2640 with a "hack" of the I2S interface because this ESP32 subsystem is able to DMA for the data. I read that the m5stack-grey ID for board option in "platformio. PICO-8 cartridges can be saved.

https://m5stack.com/products/esp32-camera $8.39

enter image description here

Hopefully this gets you started with M5Camera using your phone.

Open source https://github.com/m5stack https://github.com/m5stack/Applications-cam

also Face recognition https://github.com/m5stack/m5stack-cam-psram/tree/master/face_recognize


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.