How to "Hack" your Canon Camera

I went over CHDK in another post, so here is a simple quick guide to actually getting it on your camera.

CHDK = Awesomeness from a small Camera

This guide will get you started using CHDK. This guide assumes CHDK is already set up on your camera’s SD card. A Guide for that is here. Think of CHDK like software, except it is run right on the camera! With a couple of button presses, you can access some astounding features usually only found on $1000+ cameras (and if you don’t like what CHDK does, turn the camera off and on, and it’s gone).


These features include:

  • Shooting in RAW
  • Fully manual Control of: exposure, shutter, aperture, ISO and focus
  • Bracketing of exposure, aperture, ISO, and even focus
  • Motion Detection
  • Live Histogram
  • Zebra Mode

This software is called CHDK, and detailed user guides can be found at:

Loading the CHDK Software:

  1. Put the camera into playback mode (not stills or movie mode).
  2. Turn on the camera.
  3. Push ‘Menu’, then Up (ISO) so that ‘Firmware Update’ is selected. Push ‘Set’ to select it.
  4. Push Right (Flash) to highlight ‘OK’, then push ‘Set’ to select it.

The CHDK should now load. NOTE: This is not actually a firmware update – when you turn the camera off and on again, the CHDK software will no longer be loaded.

Note: You can copy the CHDK software to another SD card if you like. However it will not work in another camera.

Intro to Using the CHDK Software:

Once CHDK is loaded (see above), the on-screen display information will be changed, and potentially the camera’s operations will change, depending on how CHDK has been set up (see ‘Default Settings’ below).

The main concept to understand when using CHDK is that to change its settings, you also need to use the buttons on the camera, but you cannot use the buttons both for CHDK and for the normal camera operations at the same time. Therefore, when it is first loaded, CHDK will be running (in the background as it were), but the camera buttons will affect normal camera operations – not CHDK. To change from ‘normal’ mode to ‘CHDK’ or ‘Alternative’ mode, push the <alt> button (the one with the printer icon). Now the text ‘<alt>’ should appear at the bottom of the screen, and the buttons will control CHDK instead. Note, this only works if CHDK has been loaded (see above).

When you are in <alt> mode, you can push the ‘Menu’ button and it will display the CHDK settings menu. You can navigate this menu with the directional buttons on the big circular button (ISO, Flash, etc) and push ‘Set’ to change things. Push ‘Disp’ to return to the previous menu. To exit the Menu, push ‘Menu’ again. There are many, many powerful options in the CHDK settings menu, most of which are self-explanatory, however, you can refer to the user guides listed above for more info.

If you are in <alt> mode and try to take a picture (i.e. push the shutter button), it will not work as expected. This is because in <alt> mode, the shutter button is designed to run a custom script instead. By default the script is empty, but you can load a new script under ‘Scripting’ in the CHDK settings menu. So the main thing to remember is that if you want to take a picture, turn <alt> mode off first.

Summary of Shortcut Keys (and Other Handy Ones):

  • In Playback Mode, Turn on, Menu, Up, Set on Firmware, Set on OK – Loads CHDK.
  • <ALT> + MENU – Displays the main CHDK menu
    • DISPLAY Button — Return to previous menu
  • <ALT> + “+/-” – Toggle Saving Raw.
  • <ALT> + SET or FUNC/SET – Display the Script menu
  • Full Shutter press – Executes the selected Script
  • Half Shutter + Left – Toggle Zebra on/off
  • Half Shutter + Up – Toggle Histogram on/off
  • Half Shutter + Right – Toggle OSD on/off
  • Half Shutter + Down – Toggle Overrides on/off (IF “Disable Overrides” is ON or Disable).
  • When in MF (Manual Focus) mode and in <ALT> mode,
    • you may press the UP navigation button to instantly set MF (manual focus) distance to infinity.
    • Press the DOWN navigation button to instantly set MF distance to hyperfocal distance (based on f/stop and zoom focal-length).

Default Settings:

The CHDK software has been set up to do the following by default:

  • Saving photos as Raw is turned off (they are 10mb each). Turn on/off RAW by running the CHDK software (see above), then when in <alt> mode (see Intro to Using the CHDK Software) simply push the +/- button. While in Raw mode, the word ‘DNG’ is displayed in the bottom-right corner, along with the number of Raw files that can fit on the card.
  • When Raw is turned on, for each photo taken it will save a .jpg (a standard image) and a .dng (the Raw file) both with the same filename. It saves Raw images in the DNG file format, which is a standard format, and can be opened by software like Adobe Photoshop.
  • Show a live histogram, both while taking photos and while viewing existing photos. This help you gauge the distribution of brightness of pixels in the image.
  • Show zebra stripes, both while taking photos and while viewing existing photos. This helps you avoid taking over-exposed photos – any area of the picture that is overexposed will have animated stripes running through it to warn you. Overexposure is where the brightness of the pixels is higher than the maximum, so these pixels appear pure white, resulting in loss of picture information. The easiest way to deal with overexposure is to decrease the exposure (in Photo mode, push ‘Set’ to get to the photo settings, choose a non-auto setting, then go to the +/- area, and decrease the setting from 0 (neutral) into the negatives (e.g. -1).
 [Guide courtesy of]


We will be happy to hear your thoughts

Leave a reply

Skip to toolbar