cancel
Showing results for 
Search instead for 
Did you mean: 

is an STM32F4 MCU a good option for camera interfacing

ZHama.1
Associate II

Working on a robotics project that has two cameras, each is interfaced with its own STM32F4 via the DCMI peripherals for streaming VGA (640x480) video from the camera to transmit to a computer via UART and run through a computer vision AI for object detection, all of which is run on each cameras STM32F4 MCU (Has not been completed but is the concept). They are both slaves via I2C to a master STM32F4 which controls everything in the project including many other motors and sensors.

I read somewhere that STM32 cortex-m is not the best for working with cameras. My question is, is there disadvantages to using an STM32F4 and if this is true what alternatives are there for camera sensors that talk to a master STM32F4 device? (As the project is 50% complete, we were curious if there could be a better option)

4 REPLIES 4

If you were curious you could alway look at what the alternatives are and introspect on what they do differently or better.

It's kind of old and bandwidth limited at this point. Finite internal RAM, constrained resolutions, and frame rate.

As resolution goes up the ability to run algorithms gets more time consuming.

The OPENMV-CAM crowd has migrated to the STM32H7 platform

https://openmv.io/products/openmv-cam-h7

Perhaps others have used Embedded Linux platforms in terms of ability to sink or record data, and being a far more capable platform. Nvidia Jetson?

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
TDK
Guru

I think the main drawbacks here would be the bandwidth limitations of I2C and UART. You aren't going to pass 640x480 streaming video through those. The camera interface isn't going to cause any problems.

If you feel a post has answered your question, please click "Accept as Solution".

I2C is just used for control signals, bandwidth not really an issue there especially when an RTOS will be implemented. What alternatives are there to UART for video streaming for VGA or even higher quality that works best? The plan is to run computer vision algorithms on a PC or Nvidia Jetson, as @Community member​ mentioned, So the STM32 is only for data transmission.

>>What alternatives are there to UART for video streaming? 

USB 2.0, MIPI-CSI, Ethernet, IP-Camera?

As I recall the OPENMV-CAM stuff can run algos on the camera board, so you're not pushing shed-loads of data over an interface

Seem to recall their being RPi base-board systems allowing for direction connection of multiple cameras, using CSI or similar interface methods.

Quick Google yielded

https://www.waveshare.com/cm4-io-base-b.htm

https://www.raspberrypi.org/products/compute-module-4-io-board/

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..