Looking Outward (Augmentation): Hacking your Camera
Anyone who knows me from outside of this class likely knows that my research involves playing around with time-lapse photography in public spaces, particularly using cheap keychain digital cameras. In particular, I wire up microcontrollers to these cameras such that they can take pictures every few minutes, with a cost per camera small enough that they can be simply left in public spaces in large numbers to learn about the world around us. I’m interested in “personal public computing”, the idea that individuals will be able to use cheap, ubiquitous hardware in public places that act on their behalf in the same ways that we today put up paper posters to find your missing dog, or that we hold up signs to protest abuse of power. If you’re curious, you can learn about it here or here, or drop me a line.
While poking around in preparation for a possible final project related to this work, I came across this cool resource for others who might want to make more sophisticated interactions that turn traditionally non-programmable hardware like digital cameras into “input devices.”
“CHDK [Canon Hack Development Kit] is a firmware enhancement that operates on a number of Canon Cameras. CHDK gets loaded into your camera’s memory upon bootup (either manually or automatically). It provides additional functionality beyond that currently provided by the native camera firmware.
CHDK is not a permanent firmware upgrade: you decide how it is loaded (manually or automatically) and you can always easily remove it.”
Essentially, the Canon Hack Development Kit an open-source firmware upgrade that you can stick on a Canon digital camera in order to do more things with its hardware than Canon ever intended when they sold it to you. New camera features the open-source community has created with this new firmware include Motion Detection and Motion Triggered Photography, Time Lapse Photography, and scripting the camera’s operations such that the camera can do things such as prepare, take and analyze photos automagically. What’s more, the scripting language is generic enough that you can write scripts to program your camera’s actions, and share those scripts with others who own Canon cameras (even different models of Canons).
Canon has gone on record as saying that the CHDK does NOT void your camera’s warranty, since they deem firmware upgrades “a reversible operation”. What this probably really means is that Canon trusts an open-source community as organized as CHDK to create firmware versions that don’t literally brick people’s cameras, and they they’re asking CHDK to help them push the limits of their own hardware. This is quite exciting – more generally, I think we’re entering an era when companies are letting us “hack” the electronics in things we don’t normally consider programmable. This helps both us and product manufacturers explore possible new interactions with their hardware. A particularly geeky friend of mine is writing a new firmware for his big-screen TV, so he can programmatically do things like volume control and input selection, and ideally even more ambitious tasks like save raw video being shown on his TV from any input source to his desktop. What’s next? There’s some sort of “firmware” in everything these days, from our refrigerator’s temperature control to our car radio. How can we augment our day-to-day interactions by simply re-programming the hardware that exists all around us?
Nice post! The CHDK link could prove to be particularly useful. I am currently working on my own time-lapse project and this could potentially simplify things a bit.
Also, I like the idea of “augmenting” personal space using firmware hacks. I hadn’t really considered this before, but it certainly opens plenty of new possibilities.