You haven’t heard about the Canon Hack Development Kit? It just might turn your Canon point and shoot into something with slightly more advanced features than you got from Canon. You’ll be able to do things like shoot in RAW mode and enable different timer and other options that are not available in Canon’s own firmware. Best of all, it doesn’t modify the original firmware in the camera but loads from the same Secure Digital card you save your photos on. If you don’t like it or it causes problems, just remove the card and restart your camera and it’s gone. No worries about bricking your camera with a hacked firmware update.
Trying out the firmware
- Determine your camera model and firmware version. To determine the firmware, create an empty file on the camera’s sd card (with a sd card reader and your computer). Put it in the root directory. This file should be named ver.req. Put the sd card in your camera. Turn on your camera in play mode (not capture mode). Press func/set button and hold it down while you press the display button. You will see your firmware version on the screen. Write it down. It will be something like Firmware Ver GM1.00E.
- Download the correct software file that matches your firmware version and model from http://mighty-hoernsche.de/ . Extract the zipped files to your computer after download. Get the complete version if this is your first time installing the software.
- Copy the files you extracted to the root of your camera’s sd card with an sd card reader. DISKBOOT.BIN and a few other files should be in the root directory and the CHDK folder will be in there too.
- Turn on your camera in play mode (not photo capturing mode) and press the menu button. Scroll to Firm Update… option and select it. This does not overwrite your firmware it just adds chdk as an extra program to your camera which stays in memory until you turn it off. If all goes well you’ll see a splash screen for chdk after the “firmware update.”
- You can get to chdk’s extra menu by pressing a special key before the menu button. (The printer key on my camera or the face detect key on some other cameras is the magic key.) “alt” appears on the bottom of the display. Now press your menu key to see chdk’s menu while it is in alt mode. Press the special key again to turn alt mode off when you want to take photos normally (without scripts).
Autoloading the CHDK Software When Your Camera Starts Up
If you’ve been successful so far then you know that chdk works with your camera. Getting it to autoload when you camera boots can be trickier on large cards over 4 GB. Here’s how to do it under Ubuntu Linux (you could do this off a live cd if you don’t have a Linux install). For cards under 4 GB you don’t need to create two partitions, you just need one large FAT16 partition on the card. You need a FAT16 filesystem on the card to load the file on bootup. It will not autoload off FAT32 partitions, which is why you need to repartition your card if it’s a large one.
We’ll be partitioning the sdcard so it will erase all the data on it. Copy anything you need off the card now.
Note most of the following commands need to be done as root user. The easy way to stay as root for a few commands is to type “sudo su” at a shell prompt. Do that now. After you’re done with these commands type “exit” until your shell window closes to get out of your root shell.
- Insert your sd card in your card reader and wait until it’s detected. Type “gparted” at the prompt (see sudo su tip above since you need to be root).
- Select your correct drive from the dropdown in the top right corner.
- Right-click and unmount the partition on this drive (unless it’s not mounted, then you don’t need to do this).
- Delete the partition on your sdcard. Create two new primary partitions. The first should be FAT16 filesystem and be 16MiB the second should be FAT32 and should take up the rest of the space on your card. Click the checkbox at the top to carry out these actions.
- Now right-click the smaller of the two partitions and choose manage flags and check “boot” and click Ok. After things complete, exit gparted.
- Now you need to modify the first partition so that the canon camera knows it can boot from it. Type the following command, but change /dev/sdx1to the specification for your first partition. If you’re not sure, open gparted again and look to see what you should use. Make sure you have the right partition information and don’t do this to the wrong disk.
echo -n BOOTDISK | dd bs=1 count=8 seek=64 of=/dev/sdx1
- Now copy the chdk files to the root of BOTH partitions you just created (you can use the GUI file explorer for this if you want). This is basically the same as step 3 in the sections above.
- Unmount your sdcard partions and remove the card from your computer. Move the write protect switch on the card to the LOCKED position. Your camera will not automatically load the software from the card unless the card is locked (don’t worry you can still take pictures). Now when you turn on your camera, chdk should automatically load.
Swapping Partition Order for Windows Access (only if you have two partitions)
- Go into the chdk menu and select the Miscellaneous Stuff > Swap Partitions option.
- Put your sdcard into your computer with the write protect switch off.
- Transfer your photos.
- Pull the card out and re-engage the write-protect switch before putting it back in your camera.
- Follow steps 4&5 from the first section to manually load chdk again.
- Run “swap partitions” again to put the partitions back the way the were. Your camera should automatically load chdk now on startup.
Enjoy.



