CHDK on the Canon SX260
We are deep into wonk-land with this post, but it would be useful to anyone wanting to use the Canon Hacker’s Development Kit (CHDK) on their SX260. In short, CHDK allows control of almost any camera function and allows scripts to be run. As an open source project, there is a ton of information out there but it not organized well. These tips should help anyone putting CHKD on an SX260 using a Mac.
Step 1. First find what version of firmware is loaded. Create a file ver.req on the root of the SD card with Text Edit using Unicode UTF-16 format. Do not use .txt extension.
2. Start camera in PLAY mode. Press and hold FUNC/SET and then rapidly press DISP. The firmware version and some other data will display for a few seconds. It would be useful if you had a helper to take a picture of the screen. Otherwise, read fast and memorize.
3. Download the correct version of the CHDK .zip file from this page (scroll about half way down to find the SX260). My camera had the GM1.01a firmware so I downloaded 101a. I used the Stable 1.2 build. Ver 1.3 is for the adventurous types.
4. Unzip the file and load the individual files to the root of the SD card. The root directory should have these files: changelog.txt, DISKBOOT.BIN, PS.FI2, readme.txt, vers.req
5. I don’t know if this next step is required, but it probably can’t hurt. According to the CHDK docs “the Mac adds extra hidden stuff to files that are downloaded from the internet (as a security feature). To fix this open the Terminal. (It is found in your Applications > Utilities folder). Enter these commands:
xattr -d com.apple.quarantine DISKBOOT.BIN PS.FI2
6. Put the card back in the camera, start it up in PLAY mode (blue right-facing arrow), press MENU. Scroll to the bottom and a new entry called Firmware Update should be present. Select it and say OK if the version numbers look OK.
7. Go into Camera mode. The button to switch into and out of CHDK mode is called the <ALT> button. By default it is PLAY, but this can be switched in the menu. I changed it to DISP.
8. In CHDK Camera mode, PLAY displays some shortcuts, MENU brings up a bunch of CHDK parameters, and FUNC SET brings up the menu for the script that was selected in the Menu mode.
9. With this method, Step 6 must be repeated every time you turn on the camera. There is a way to make the camera go into CHDK mode upon startup, but I haven’t figured it out yet.
1. Obviously, the reason we are doing this is for scripting. CHDK comes with an intervalometer script. The intervalometer is capable of shooting at 1.8 frame/sec (much better than my S100 running CHDK). Or we can have a script to trigger the camera by the flight controller (stay tuned for details).
2. CHDK allows the RGB histogram to display on the screen. Very useful for seeing in real time how the red (i.e. NIR) and blue channels change as the camera view healthy and sickly leaves.
3. CHDK allows RAW, something not available in the standard SX260. For me the jury is still out on the value of RAW vs the extra hassle.