Late last year, Garry Martin alerted me to an alternative firmware for certain Canon cameras – the Canon Hackers Development Kit (CHDK) – and I’ve been running it on my Canon Digital Ixus 70 ever since.
Importantly, CHDK makes no modifications to my camera’s firmware. The appropriate version for the camera model is downloaded and placed in a folder on the SD card that the camera uses and, when the card is write protected, this firmware is loaded at startup. If CHDK is missing or the card is not write protected, then the normal camera firmware loads. In addition to the extended functionality afforded by CHDK (which is significant – Lifehacker wrote a review of CHDK last year), I have full access to the standard camera features but the main advantages I find from CHDK include camera raw support, a live histogram and better battery information (I may also take a look at using it for time lapse photography at some point).
One of the frustrations I’ve had with CHDK is that the raw format it produces is not recognised by any of the major image editing applications (for me, that means using Adobe Camera Raw to interface with Photoshop CS4 and Lightroom 2 on a Mac). I tried installing an application that should convert these files to Adobe Digital Negative (.DNG) format (DNG4PS2) but the pre-built Mac version is known to be unstable on Mac OS X 10.5 (Leopard) and I was unable to make it compile using the latest source. There seems little point in running it on another operating system when I do all of my digital media work on the Mac, so I went back to getting the camera to store raw files in .DNG format at capture.
Unfortunately, each time I tried this, I was greeted with a message which said something like Cannot load/CHDK/badpixel.bin. Thanks to a comment from James W Manning on Flickr, I was able to work my way through creating this file: downloading a program to analyse an existing raw image taken with the same camera and identify any bad bits to create the required badpixel.bin file (I did need to run this on Windows though – the command was
show_bad_b.exe rawfile.crw), which I could then copy to the CHDK folder on my SD card and enable DNG support.
Now my Â£130 compact camera takes raw images in .DNG format (as well as some JPEGs for reference) and I can work with the raw files just as I do with the ones produced by my DSLR. Of course, the tiny sensor means that the 7 million pixels on my Ixus 70 are inferior to the six million pixels on my old D70 (and way behind my full-frame D700 – more on that in another post!) but the additional flexibility is useful – as is the knowledge that I have the actual data that was recorded by the camera sensor, rather than with any post-processing in camera (e.g. boosted saturation that’s typically used with the compressed JPEG images).