Triggering a device from multiple cameras

I’m finishing up work on our high speed widefield / CSU-W1 spinning disk confocal system (previously discussed here). This microscope is about as complicated a system as I ever want to assemble – it has three cameras, two fluorescence light sources, a photobleaching system, motorized XYZ stages, and a brightfield LED (see the figure).


Sketch of microscope layout. The Zyla 5.5 camera is used for widefield imaging; the other two cameras are for spinning disk confocal imaging.

We’d like to be able to trigger most of these devices for fast acquisition. Here, I’m using triggering to mean that every time the camera takes an image, the triggered devices automatically advance to the next state, allowing acquisition to proceed at the full frame rate of the camera. This works for devices with negligible switching times such as lasers, LEDs, and our piezoelectric Z-stage. You can read more about triggered acquisition on the Micro-manager website and on Austin’s blog. In particular, we’d like to be able to trigger the piezo Z stage of any of the three cameras, the spinning disk lasers should trigger off either spinning disk camera, and so on. The full list of triggers is shown in the table below.

DeviceTriggered By?
Piezo Z StageWidefield sCMOS, Spinning disk sCMOS, Spinning Disk EMCCD
Brightfield LEDWidefield sCMOS, Spinning disk sCMOS, Spinning Disk EMCCD
Spectra-XWidefield sCMOS
Spinning Disk LasersSpinning disk sCMOS, Spinning Disk EMCCD

When I started work on this I hoped, and was told by at least one person, that I could wire-OR the trigger lines from the different cameras together. That is, if the camera trigger lines only actively drove high and had a pull down resistor to ground, and camera could pull the line high while the others were sitting passively low.  This turns out not to work – the cameras actively drive both high and low and so fight each other if you just connect them together. To OR them, we therefore need some active electronics. Specifically, I’m using a 74HCT4075 triple 3-input OR gate. We also need to provide independent trigger lines for each laser on the spinning disk laser launch, for the brightfield LED, and for the widefield LEDs. For each of these we need to be able to send a signal that comes on when the camera is exposing, and when that light source is supposed to be on. For the spinning disk lasers and the brightfield LED, we’re using an Arduino; for the widefield LEDs we’re using a ES Imaging board. The piezo Z-stage takes a trigger input and can be programmed from Micro-manager directly, so we don’t need any additional hardware there. One consequence of the way we’ve wired things up is that all three cameras can trigger the spinning disk LEDs; this is OK because when we’re using the widefield camera and LEDs, the Arduino shutter will be deselected in Micro-manager, so no laser trigger pulses will be generated. The final wiring diagram is shown below.


Trigger wiring for spinning disk confocal / widefield system.

To simplify the cabling, and for ease of future updates, I laser cut a patch panel to break out all the trigger inputs and outputs for each device. This panel also mounts the Arduino used for laser and brightfield control and the OR gate. Both are broken out to BNCs for future expansion. As a side note, we are not properly driving or terminating the 50 Ω cables, so you might expect some ringing or other problems. So far we haven’t seen any, but I should really put an oscilloscope on the cabling just to check.


The final trigger panel, fully cabled up.

In conclusion, this triggering scheme works really well. The end user doesn’t need to know any of these details to collect their data – everything just works the way it’s supposed to. I do with this had been a little easier to set up, and that I didn’t need to wire up my own OR gate to get it working. I guess that these types of complicated setups just aren’t common enough for there to be standard solutions to these problems yet.

4 thoughts on “Triggering a device from multiple cameras

  1. Just wondering what the advantages of using the extra Zyla in widefield when the CSU-W has a bypass mode that you could use with your other two cameras.

    • Mostly it’s historical – we set up the scope for widefield before we bought the spinning disk. Also, we have a separate filter wheel for the widefield system with different filters. I also wonder how good the bypass mode is and whether it introduces light loss or aberrations. I should do a side-by-side comparison of the two.

  2. Question that is only sligthly related: are you happy with the spectraX? we are about to buy one.



    • Yes, we’ve been very happy with it. We ca run it at 100 fps and it puts out a lot of light. If you have specific questions about it, feel free to email me.

Comments are closed.