My previous post is a video I made using my Canon S2’s Intervalometer. Essentially it lets you set the camera to take up to 100 photos at a given interval, from 1…N minutes (I forget N at the moment.) Unfortunately, a couple limitations of Canon’s implementation screwed me in that video:

  1. The Canon Intervalomer takes the exposure / shutter speed from the *first* shot, and uses those same values for the rest! Lame, lame, lame. You can see this screwing me over about 35 seconds into the video; the camera adjusted to the low light settings outside the motel, which then caused half of Arizona to be overexposed. :(
  2. You can only make it take up to 100 shots before having to restart the Intervalometer. This is just braindead. Since I was taking photos every 2 minutes, that meant that I had to restart the Intervalometer about every 3 hours. We had a couple of driving sprints longer than 3 hours, and I sometimes left it running while we were parked for gas, etc. (I do admit to restarting it while driving, which wasn’t the safest thing to do in the world, but since there’s very little indication that a shot is being taken - power saving - it was easy for me not to notice that the 100 shots had run out.) I missed some great shots this way; in particular, a motorcycle gang coming down the hill into Albuquerque, NM, in fantastic late afternoon light.

Enter CHDK. Some genius figured out how to load “upgraded” firmware into the camera’s memory, and a whole open source community has spring up around it. It’s a totally reversible operation; in fact, since I have a bigger memory card than my camera officially supports, I have to manually load the firmware when I want to use it (a 10 second menu navigation operation; it’s stored on the SD card) - if you have a 2GB (or less) card you can set the firmware up to load on camera boot, but even then returning to default operation is simply a matter of formatting the card.

They’ve made some nice tweaks; e.g. the on screen display is more useful - there’s a battery charge indicator, lots of information about the current photo settings, a “space left” based time countdown when you’re videoing, a live histogram that you can popup, an optional zebra mode which shows you overexposed areas of the frame, etc. Also, they’ve removed some limitation; you can now take continuous videos that are longer than 5 minutes, for example, and adjust the video quality settings in various ways. Given enough light, you can take shots at extremely fast frame rates (1/32,000th).

The real power, however, is in the scripting engine. You program scripts in a BASIC variant against and API which they’ve defined; you can access all of the camera’s functionality. There are of course a range of sample scripts, including:

  • Motion detector - detect motion in the frame, and take one or a series of snapshots
  • Better intervalometer - (actually there are many of these); an infinite amount of shots, each with their own exposure settings, with repeat shots at less than a second
  • And so on

It is a bit hacky to use, but if you want to push your camera beyond what it can do out of the box this is a great (free) way to do it. Check out the CHDK FAQ.



Related Leave a Comment