I’ve been trying to get as much use as possible out of these XBees before I have to return them to my department. CHDK was perhaps the main reason I paid the premium for a Canon SD870, but I haven’t had time to play around with it until now. One of the features CHDK has enabled is remote triggering via the USB port on the camera. Most solutions I’ve seen around the internet are wired or use hacked apart doorbells. I thought it would be nice to have it both wireless and computer controlled.
The entire project is almost absurdly simple, and the part count on the camera end is merely an XBee, a pin header to avoid soldering to it, a hacked apart mini USB cable, and a resistor. The XBee is powered off of the camera’s onboard lithium ion by running wires straight off of the battery contacts. Luckily, there is a hole in the battery door that I could route the ground and VCC wires through. I stuck a 7.5 ohm resistor on VCC to pull it down a little to avoid burning the XBee, but it probably isn’t necessary. The +5 line on USB is then just connected to one of the digital IO pins on the XBee, pin 7 in my case. The XBee on the camera and the one on the computer are programmed into API mode. All that is left is having a simple Python script using the python-xbee library to toggle the remote pin up and down to take a picture. The main downside is the constant 50mA draw on the battery, though you could probably use some kind of sleep mode on the XBee to save power.
Download: XBee Trigger