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”
Leave a Reply
Please be kind and respectful to help make the comments section excellent. (Comment Policy)
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
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..
the led flashing firmware dump is one of the more elegant hacks i’ve seen in a while.
Would be great if it was ported to the Cannon S80
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 $.
sorry the flickr url was stripped from my last post:
http://www.flickr.com/cameras/canon/?s=rank#models
@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.
@#3: elegant is exactly the word that struck me.
Beautiful work
@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?