CHDK - Powershot G12¶
![The extended screen](../_images/20130513200849-canonpsg12-cdhk.jpg)
I was doing all kind of stuff today. Mostly cleaning, sorting and all that boring stuff. One part of it was to upload the latest Sundaypicture. And while I was fiddling with my PowerShot, I wondered: Has there maybe been a firmware version release in the meantime? I mean: since I bought it? Are there some new, fancy features I don’t know I even want to have? Are there? Are there?
Short answer: No. There aren’t.
The Canon website gave me nothing, when I selected the firmware selection. The manual doesn’t even contain the word firmware. A bit of Internet search on the other hand revealed some hits. But one thing showed up over and over again: CHDK.
CHDK is short for Canon Hacker Development Kit, which provides an alternative Firmware for Canon PowerShot Cameras and will only be loaded temporarily. It’s more like an firmware extension, not a complete firmware. But the additional functionalities coming out of that little piece of code are quite astonishing.
Shooting in RAW / DNG (Fast SD card is beneficial)
Live histogram
Zebra mode
Shutter speeds from 1/40.000 to 64 seconds
Scripting interface (uBasic & LUA)
Games (sokoban & reversi)
Bracketing
Timelapse Videos over weeks or months with external power supplies & eye-fi wireless sd cards
Motion detection with response times of just 60ms or less
Some of the features are already covered by the G12 I have, but others are quite new to me.
Installation¶
This is just the manual setup and start procedure. I didn’t manage to get it automatically running yet, the camera doesn’t somehow want to boot from the card. The manual startup however works fine.
Download the fitting compressed file for your camera type.
Format your SD-card inside the camera (prepare your SD-card ).
Take it out of your camera and connect it to your computer.
Unpack all the files and directories from the downloaded file directly into the root directories of the card (you might want to have a look into the
readme.txt
). There must be a file calledPS.FI2
.Put the card back in the camera.
Start the camera with the
Play
button - not the power button.Go into the
.Confirm the upgrade. What now happens is, that not an actual firmware upgrade is performed (there isn’t one available for the G12, remember?). But the extensions are loaded, you should see the splash screen and there you are.
Note
For my G12 I’ve downloaded the version g12-100g-1.1.0-2771-full.zip
, which didn’t boot on the Camera. I’ve removed the battery, replaced the newer version with one previous version g12-100f-1.1.0-2771-full.zip
and repeated all the steps. The camera came up. So: don’t panik if you’re camera doesn’t react on any key press and the screen doesn’t come up. Just remove the battery and start all over.
Usage¶
There’s an issue with CHDK: There’re just too many options). But in order to get there, you need actually to start your Camera with CHDK activated.
Start the camera with the CHDK extension.
Choose the ALT key to enter the menu. This depends on your camera. With the G12 it’s the button Print. The CHDK website provides an overview about which button to use on which camera.
Now you’ve got two choices:
Go into the menu of CHDK.
Run a script.
The menu of CHDK is quite extensive. I just spend a couple of minutes to go through all the pages and I’m still quite impressed by how many settings now can be altered. Not sure about if I also can make use of all it.
For running the script confirm the upcoming
ALT
sign at the bottom of the screen. This will get you into the screen for selecting and running the scripts. If you’ve chosen the full package on the download page the you have all the scripts available right away. I’ve mistaken this screen initially for the configuration of the bootloader, though it isn’t.
I skip going through the rest of the extensive functions of CHDK, the user manual they provide can do this far better than I can.
Firmware version¶
There’s no button inside the PowerShot Menu showing the current running firmware version. Though, if you are still interested in which current version your camera is running try this:
Switch the camera off.
Place two empty files in the root directory of your memory card:
ver.req
andvers.req
.Switch the camera back on with the Display button.
Keep the button FUNC SET pressed and press the button DISP once more.
The output should be something like this
Canon PowerShot G12
P-ID:320F NT D
Firmware Ver GM1.00F (1.0.0.0)
Adj Ver.007.000
Serial No. ******************