Porting CHDK to new cameras


While researching the CHDK How-To, we came across the team’s instructions for porting the firmware to entirely new cameras. In theory, CHDK should work on any Canon running the DIGIC II or III processor since most of them are running the same VxWorks OS. A dump of the camera’s firmware is required before porting work can begin. On some cameras, the firmware was retrieved using software, but others required a hardware route. Pictured above is a Canon A610 that’s slowly flashing out every bit of its firmware using the built in LED. The photodiode is hooked up to a soundcard where the entire bitstream is recorded. It takes 1-7 hours to read the entire firmware. Once the sound file has been captured, it’s reverted to the original bytes and can then be decompiled with something like IDApro.

9 thoughts on “Porting CHDK to new cameras

  1. Canon 40D? The firmware images are freely downloadable online (assuming it’s the right format). I’d love to be able to do time lapse without hooking it up to a PC (or maybe it does this? heh, i haven’t actually looked).
    -Taylor

  2. Reading the earlier post on CHDK made me rather interested in this, but it’s pretty awesome they managed to get the firmware extracted through the LED.
    Now, if only their site listed which cameras where cheapest/most decent..

  3. AndrewNeo: The SD800 and SD870 would be my first choice as they support wide angle (28mm equiv.) They are not the cheapest, but are the best in my mind.

    Flickr has a nice chart showing which models are most popular. “IS” means it has image stabilizer which is handy for preventing blurry shots in lower light.

    If you want super cheap try the 570, though I think you’ll find having 28mm is worth the extra $.

  4. @andreneo: If you want time lapse you can code your own ubasic script it has a sleep sentence. Also there’re builds that have motion detection.

  5. @andrenceo: I have a canon SD30 that I would love to get time lapse working on (actually the reason I bought it was because it’s a canon and thusly hackable). Do you have any info/links to facilitate writing a ubasic script or installing it on the cam?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s