Reprinted from TidBITS#928/12-May-08 with permission.
Copyright (C) 2008, TidBITS. All rights reserved.
http://www.tidbits.com/

Extend the Functionality of Canon Point-and-Shoot Cameras
---------------------------------------------------------
  by Adam C. Engst <ace@tidbits.com>
  article link: <http://db.tidbits.com/article/9605>

  I'm always a little depressed when someone beats me to writing a
  cool article, and this one was on my list. In this case, however,
  Adam Pash at Lifehacker has done a fine job of explaining a neat
  hack for many consumer-grade Canon point-and-shoot digital cameras.
  CHDK, for Canon Hacker's Development Kit, is a non-destructive
  firmware enhancement that adds six categories of features:

<http://lifehacker.com/387380/turn-your-point+and+shoot-into-a-super+camera>
<http://chdk.wikia.com/wiki/CHDK>

  1. Enhanced ways of recording, including support for raw format
  images, longer video times, and additional video compression
  options.

  2. Additional data on the camera's LCD, including a histogram,
  battery life indicator, depth of focus, and more.

  3. More photographic settings, such as longer exposure times, faster
  shutter speeds, and automatic bracketing of exposure.

  4. Scripts that can automate various camera functions. Scripts are
  written in a version of BASIC. With these scripts, you can do things
  like take multiple photos with different exposures, or even take a
  picture when the camera detects motion.

  5. Remote control of the camera (either taking a picture or running
  a script) via the camera's USB connection.

  6. Various new capabilities for the camera, such as a file browser
  for the memory card, games like Reversi, and so on.

  CHDK works with a number of Canon models, though not all of them, so
  you'll need to check the compatibility list before going any further
  (and no, as far I can tell, no other manufacturer's cameras have any
  CHDK-like hacks). What's especially nice about CHDK, apart from all
  the useful functionality it provides, is that it modifies the
  camera's firmware only when you explicitly load it, and everything
  is back to normal when you next power up the camera. Have fun
  hacking!

<http://chdk.wikia.com/wiki/FAQ#Q._What_camera_models_are_supported_by_the_CHDK_program.3F>