Hack Your PowerShot With CHDK


One of the best reasons to use a Canon PowerShot camera for time lapse videos is the CHDK (Canon Hack Development Kit) firmware addon. This free piece of software increases the basic functions of these cameras to allow shooting in RAW and running programmable intervalometers, among other impressive tweaks.

While there are other guides to installing CHDK, such as this tutorial at PC Magazine or the official CHDK wiki, I feel that both of these are overly complicated for the casual computer user. Here is my bare-bones explanation of how I installed CHDK on my Canon PowerShot S3 IS.

A few caveats: CHDK only works for the Canon PowerShot line of point-and-shoot cameras and requires an SD memory card of <4gb (CHDK may work on cards larger than 4gb that are partitioned). This tutorial is for PC users. Mac users should visit the official CHDK Mac FAQ for installation information.

Definition of Terms

Throughout this post I’ll use a few terms that some readers might find confusing.  Here are some brief definitions:

  • Hack – anything that extends a camera’s functions beyond what was originally intended by the manufacturer.  In this case, we’ll be using a software hack.
  • Format – a way of erasing info from a memory card and preparing it for use in a camera.
  • Firmware – this is the manufacturer’s original software that was installed on the camera in the factory.
  • Addon – this is a (usually) small piece of software that doesn’t necessarily alter the original software but offers additional functions.


Begin by inserting your camera’s memory card into your computer’s memory card slot.  This tutorial may not work if your camera is connected to your computer by a cable.  Most modern computers have memory card slots.

The next step in this procedure is to install Cardtricks.  This is a computer program designed to automatically format your memory card and install the CHDK software.  Cardtricks can be found here:  Card Tricks v1.44 (510 kB)

Once you’ve downloaded Cardtricks, double click the file to extract the program and then double click the new Cardtricks icon to run the program.  You should see this screen:


Once you have Cardtricks running, select the “auto” checkbox and then click on the picture of a memory card to select your card’s location.  If Cardtricks doesn’t lead you directly to the card, it can be found under “My computer.”

cardtricks select card

Important! The next step erases all data on your card.  Make sure you’ve uploaded your photos or they will be erased.

In Cardtricks, select “Format as FAT,” wait for it to finish, and then select “Make bootable.”

format as fat

Check Your Camera’s Firmware Version

By selecting “Format as FAT,” there should now be a file on your memory card called “ver.req.”  This file tells your camera to display the firmware version number so that you’ll know which version of CHDK to download.

Remove the memory card from your computer and insert it into your camera.  Set the camera to playback mode before turning it on.  Hold down “function set” (possibly just “set”) and tap “display.”  The order of procedure is important and may require turning off the camera and restarting if done in a different order.  If all goes well, your camera should look like this:


In this picture, you can see that my firmware is version 1.00A for the S3 IS.

Now that you know the firmware version, remove the memory card and insert it back into the computer.

Installing CHDK

On the Cardtricks screen, select “Download CHDK.”  This will open a browser window with a list of all the different versions of CHDK.  Select the one that corresponds to your camera’s firmware to download it.

zip files

Back in Cardtricks, select “CHDK->card” and then select the zip file that you just downloaded.  Cardtricks will now install CHDK onto your memory card.  When the file transfer is complete, remove the memory card, slide the plastic slider to the “lock” position, and insert the card into the camera.  Even though the card is set to “lock,” it will still record photos.  The locked position simply tells the camera to boot from the card instead of running its original firmware.

Using CHDK

Start the camera in playback mode again and you should automatically see this screen:


After a second or two, the screen will return to its normal message.  Press the shortcut button on your camera (this may be an “S” in a box, have a picture of a printer next to it, or be a clear button with a light).  The text “<ALT>” should appear on the bottom of the screen.


Now when you press “menu,” a special CHDK menu will appear with a host of new features.

chdk menu

Next week I’ll discuss how to create an intervalometer script to use with CHDK so that you can begin recording time lapse videos.  For now, congratulations, you’ve finished the hardest part and are almost ready to make your first time lapse video.  (Update: Ultra Intervalometer post is finally up)

Related posts: