Arduino + multiple cmos cameras (not real time)

Hello everyone!

I am in the process of designing a system that would send pictures (and some other environmental data such as temperature etc, but that is already working) of ongoing experiments (normally, 8 containers with precisely controlled environment).

For now the cheapest (with correct picture resolution) cmos cams i found are these :

Of course after reading around, i know the arduino is not quite powerful enough to relay a real time video feed, but that is not necessary, since i would only need :

  • one picture sent per camera every 30-60 minutes.
  • internal memory is not enough to hold even a single image at that resolution so an sd card would be used as a temporary image data “buffer” before the pictures get sent to the pc via serial upon request
  • if i got the specs of these cameras right, if i use multiplexers, i should be able to use multiple cameras connected to one arduino ?
  • an extra question i also have : this system will need to be connected to the main server for data exchange at all time: for standalone arduinos, are there any other (and cheaper ) methods than using a Ftdi USB to Serial boards?

now i know this is not exactly a simple project (i also heard that there has not been a successful attempt at retrieving higher resolution pictures of that specific camera yet) but does this sound feasible?
First step would , of course be trying out the system with just one camera, at there seem to have been quite a few successfull attempts of doing just that :slight_smile:

Thanks in advance!

Your problem is going to be that probably the camera is designed to give you a whole frame in real time. There is not enough time to store that on an SD card in real time so sample lines will have to be taken on successive frames. This will cause distortion on any movement in the field. It could be that the image would be gathered over 10 to 20 seconds so any movement would be disastrous. Basically SD write access is slow.

What you probably need to do is to build an external SRAM shield or interface because you can write to that quickly, possibly fast enough for transferring a frame in real time. Then you can drip it out slowly after that.