Camera Hacking

I guess it was about a year ago that I got a new digital camera (a Canon S5IS). Probably before I even had the thing in my hands, I learned of the CHDK hack to add features to the camera’s interface. Unfortunately, the S5IS was brand-spanking-new at the time and was unsupported.

The only way to add support is to get a copy of the firmware off the camera.. based on some info out on the web I built a “firmware flasher” (a small program the camera will run that will flash the bits of the firmware on one of the LEDs — the AF assist beam, in my case). I think salvaged an IR photodiode from a remote control receiver (wrong specturm, but it still works well enough to detect the green LED). I then attached that to my soundcard’s mic input to record the signal being blinked. The blinking took about 12 hours (!!) to do because any faster and I was having problems decoding the output. Finally, a raw PCM audio to HEX file converter yielded me with a firmware.

I then set off to repeat the hacks of others against my firmware to discover it was an entirely different OS on the new Canon cameras. Off-and-on I spent some time hacking it, but I never really had enough time to really get anything done with it. Thankfully, someone else was working on the same problem simultaneously on a different version of the firmware. Nevertheless, recently that person completed their hack, and someone ported it to my firmware quickly.

The number of features added is pretty mind-boggling, but perhaps the most useful stuff is the large amount of extra information available on the viewfinder (including a blended RGB histogram and zebra-stripping of over/under-exposed regions), the ability to capture in RAW, and a custom (and good) auto-ISO mode (the Canon auto-ISO mode is flat-out dumb). One of the less useful but cool set of features is the ability to do extended exposures (up to 64 seconds from 15 seconds), disabling the dark-frame subtraction, and scripting. This lets you automate extremely long exposures (as long as you remember to take a dark-frame and subtract it in post, lest you get a sea of hot-pixels).

I took this stack of 9 shots 64″@f/4.0.. I don’t have an wall-wart adapter to power the camera, nor a good tripod (just a freebie 6″ piece of crap), so this is the best I could do for now. However, I would like to do an all-night type of shot eventually, either stacking them to get streaks or a time-lapses (also possible now with the hack).

stars

I did my best to try to take a shot of lightning from my veranda. Again, the hack let’s me script the camera to take an endless series of shots without the dark-frame subtraction delays, so I took an endless series of 5″@f/4.0 hoping to catch something. Unfortunately, most of the lightning was to the south and I have a nice pine tree over there; however, I did manage to capture a lone strike hitting downtown (my guess would be one of the IU buildings as they are highest point that direction).

strike

Wasting time with the best of them..

Leave a Reply