The CHDK firmware for Canon point-and-shoot cameras includes a USB remote trigger feature that depends on simply applying +5 V to the USB power leads, which is exactly what happens when you plug an ordinary USB cable into a PC.
Chopping up a spare cable, adding header pins, attaching a bench supply, and whacking the pins with clip leads showed that the camera takes quite a while to haul itself to its feet and click the shutter:

That’s with:
- Manual mode: preset shutter & aperture
- Manual focus
- Focus assist off
- Image stabilization off
- AF guide light off
- Red eye reduction off
- Flash enabled, medium intensity, precharged
Turning the flash off slightly reduces the delay, at least judging from when I hear the shutter click while watching the trace trundle across the screen. I may have forgotten to turn something else off, but I doubt it’ll get an order of magnitude faster.
I’d hoped to synchronize an outboard flash with the shutter, but watching a few traces shows that the time from trigger to flash isn’t very consistent; maybe 100 ms jitter, more or less.
The CHDK motion-sensing script works and is “lightning fast”, but it turns out that lightning strokes actually glow for tens to hundreds of milliseconds, so my 1 ms xenon flash will be over and done with by the time the script reacts and opens the camera shutter.
Other ways to synchronize an outboard flash with the shutter:
- Fire the outboard flash from the camera flash, with the camera flash inside a shield
- Use an absurdly long shutter time with the camera & objects inside a very, very dark enclosure
- Use the CHDK motion detection script, but blink an LED into the lens to trigger the shutter, then fire the xenon flash to expose the image
Choice 1 has positive synchronization to the camera shutter, but the shutter delay jitter means the flash won’t happen after a fixed delay from the triggering event. Maybe it’s not as bad as I think.
Choice 2 requires that the shutter stay open longer than the maximum delay jitter, so the flash will happen at known time after the triggering event. I like that, but not the dark enclosure part.
Choice 3 depends on the timing jitter of the script, which should be on the order of a few tens of milliseconds. A shutter speed of 1/25 s = 40 ms might be Good Enough.
This obviously requires a bit of Arduino fiddling…
Comments
2 responses to “Digitally Triggered Camera: Canon SX230HS”
I get the feeling that you’re working on a problem similar to one I’m working on. In my case, I’m trying to synchronize an old-flashioned flashbulb to a digital camera. There’s a delay from triggering the flashbulb (with a couple of amps at 3-27 volts) to the flashbulb producing full brightness, and a delay from triggering the camera to the shutter opening. Both of these delays appear to be variable. I’ve gotten some good improvement in the camera delay by using a camera with a fancier remote trigger that has a “focus/get ready” position (equivalent to half-pressing the shutter button), and a separate “take a picture” one. I’m enabling the “focus/get ready” about a second ahead of time, then triggering the flashbulb (high-current SCR), waiting a couple dozen milliseconds, then triggering the shutter. http://www.vitriol.com/images/tech/equipment/flashsynch.jpeg
Pretty much the same, although in my case I want the flash to happen when a falling object is at a specific position: the camera shutter, flash, and object must all converge at a single place and time. I have a proof of concept working, but it’s a total kludge.
Glad I’m using a xenon flash tube, though. By now I’d have a carton full of blown flashbulbs…