Installing CHDK on a Canon S100 on a Mac

I wanted to install custom camera firmware CHDK on my Canon S100, using my Mac. It’s a bit tricky; basically you format the SD card with some funky proprietary byte set, then put a special DISKBOOT.BIN file on the card and the camera will load it on top of the baked in firmware. But setting up the card that way is tricky, you have to get the exact right CHDK version for your firmware, and there’s a bunch of conflicting instructions for the Mac. Here’s what worked for me. These are Java programs, they may work on any OS?

  1. Get ACID, a program to identify your camera firmware version by looking at any JPEG file. Run it and drag over a JPEG from your camera to identify the firmware. Then check “download stable CHDK fill build” and press “Download stable CHDK” to get the right CHDK version for your firmware. (There’s other ways to identify firmware version, but they didn’t work for me. It is essential you get the exact right CHDK version for your firmware. My camera is apparently 1.00E).
  2. Download SDMInst. If you’re on Mountain Lion get the special zip that runs sudo first.
  3. Run SDMInst. Drag over the “Stable CHDK” and select “Copy all files from”. Turn on “Make FAT32 bootable”, turn “debug on”.
  4. Press “Prepare Card”. Double check the volume name, then do the format and copy.
  5. Eject the card, flip the write protect switch on the card on, put in camera.
  6. Turn on camera. Be patient; hold down the on button for awhile. You should see the CHDK boot splash.
  7. Press Play and then Menu to see the CHDK menu. 

Having done all this, CHDK doesn’t do the one thing I really want; override Canon’s obnoxious requirement that any exposure over 1s is at ISO 80. Actually you can override it using the CHDK menus to set an exposure override but it’s a PITA; I just want my firmware patched so it doesn’t have that restriction.

I may still use CHDK just to set the camera up with a script to take continuous photos. (“Interval shooting”, I think they call it?)