1

I have a Raspberry Pi 2,and I have 4 cameras linked to it via the multiplexer board. I would ideally like to be able to trigger all 4 cameras to take a picture at exactly the same time, but from what I can see so far, they only trigger one after another in series.

Can it be achieved on the Raspberry Pi for all cameras to be triggered together and for all to take an image at the exact same time?

  • I'm afraid this can't work: the majority of camera processing occurs on the GPU, not on the camera itself. You've only got the one GPU and its firmware only handles one camera at a time (not entirely true; the Pi compute module can do two at a time, but not the regular Pi as it lacks the connectors necessary). – Dave Jones Feb 17 '16 at 9:38
  • All multiplexer boards are unofficial and reset the camera(s) "in-flight" to switch between them. The high switching delay and the inability to simultaneously use multiple cameras is by design – flakeshake Feb 17 '16 at 11:59
1

How close do you mean by "exactly"? There's a couple problems you're problem running into, that you may or may not be able to overcome.

  1. Your OS: Linux is not a real time operating system. You can get pretty close, but unless you're using a RTOS, you can't guarantee that the cameras are going to take the picture at the exact right moment. A common way to get around this is to use some additional hardware that provides this functionality.

  2. My guess is you're running these from a single thread. Again, unless you're introducing external hardware, a single thread can only do one thing at a time. It sends a message to camera0, then camera1, and so on. Since the camera doesn't have a "delay" function built into the hardware, you get the delay.

  3. The cameras may not be that precise themselves. How fast is the shutter, and how responsive is the input? This will be your biggest limiting factor.

  4. Does anything else cause a delay? Processing, image transmission, and a whole host of other issues could cause delays. Without knowing more about your setup, it's difficult to exactly.

tl;dr:

Sure, it's possible. It'll take a lot of work and the tolerance may not be what you're hoping for.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.