February 23, 2019

Time-Lapse Photography with your Inexpensive Canon Camera (CHDK p. 3)

Aerial Mapping With Your Canon Point-and-Shoot

  • July 20, 2010
  • By Akkana Peck
Parts one and two talked about some of the cool features you can enable on your camera by installing the Canon Hack Development Kit. But the most powerful CHDK feature is the scripting interface.

Scripting is how I first found out about CHDK -- at a workshop at WhereCamp. Jeffrey Warren of Grassroots Mapping demonstrated balloon aerial mapping using a cheap Canon camera and materials like a cut-up soda bottle, string, a garbage bag, tape, and open source photo stitching software.

It's a phenomenally cool project. Grassroots Mapping folk have traveled all over the world: they've helped villagers in Peru and El Salvador make maps to prove ownership of their homes, and charted the spread of the BP oil spill in the Gulf of Mexico.

Lots of fun, but how does this tie in to CHDK? When your camera is 500 feet up hanging from a balloon, how do you tell it when to shoot photos? You could build some kind of radio-control gizmo, but that's expensive and complicated. All you really need is a script to shoot at regular intervals -- say, every 10 seconds.

Here's the script they use, chdk-timer.txt (from the Balloon Aerial Photography page):

rem Author - Keoeeit
rem do not run for many hours or days
@title Interval Shooting Non-stop
@param a Interval (Minutes)
@default a 0
@param b Interval (Seconds)
@default b 10
@param c Interval (10th Seconds)
@default c 0


if t<100 then let t=5000


print "Interval shooting."
print "Until you interrupt it."
print "Use with caution."

sleep 1000

  print "Shot number", n
  sleep t
  goto "shot"

Installing and running a script

To install a script on your camera, mount the camera's SD card on your computer and copy the script to CHDK/SCRIPTS (or chdk/scripts, depending how your computer is set up).

Move the card back to your camera and power on. Press the CHDK Shortcut key to get into ALT mode (see the previous article) and enter the Scripting parameters menu. The first item is Load script from file... (Figure 1).

<em>figure 1</em>
figure 1

Once you've loaded your script, run it by pressing the shutter button while still in ALT mode. In the case of this chdk-timer script, it will shoot a picture every 10 seconds until you stop it by pressing the shutter button again.

Pretty neat! Even if you aren't set up to do aerial mapping, you could strap your camera to the passenger seat of your car and take a time-lapse video of your commute to work ... or create time-lapse videos of clouds moving across the sky.

Most Popular LinuxPlanet Stories