CHDK User Manual Banner 1


This is the manual for CHDK 1.2, an old & obsolete version of CHDK. The manual for the current stable release of CHDK is here : CHDK User Manual


What is CHDK?

Canon Hack Development Kit

CHDK is a unique software application developed by enthusiasts that enables extra features for ported Canon™ "Point&Shoot" cameras. (Note: it will not run on DSLR cameras).

What can it do? CHDK enhances the capabilities of your camera in a non-destructive, non-permanent way.

After loading CHDK, your camera will have the following extra functionality:

  • Shutter-priority (Tv) exposure - via shutter value override feature
  • Aperture-priority (Av) exposure - via aperture value override feature
  • Shooting in RAW, with RAW Average, RAW Sum, and RAW Develop features
  • DNG (Digital Negative) in camera conversion, and USB download options
  • Bracketing -Tv, Av, ISO, and Focus bracketing, using scripts, or in continuous or custom timer modes
  • Live histogram (RGB, blended, luminance and for each RGB channel)
  • Zebra mode (a live view of over and under-exposed areas of your picture) for many cameras
  • Depth-of-field (DOF)-calculator, Hyperfocal-calculator with instant Hyperfocal and Infinity focus-set, and more
  • Battery indicator
  • RAW and Video space-remaining gauges with custom low-limit alerts
  • USB cable remote shutter release
  • Motion-detection trigger - automatically fires camera on motion detection. - Ability to capture lightning strikes.
  • Adjust Video quality and size (compression) adjustable while recording
  • Elimination of 1 Gig video-size limit (for most DIGIC II cameras)
  • Zoom during video function - for cameras without this feature
  • Shutter, Aperture, and ISO Overrides
  • Ultra-long shutter speeds - at least up to 64 seconds - and longer for supported cameras
  • Ultra-fast shutter speeds - up to 1/10,000" and higher
  • High-speed Flash Sync at all speeds up to 1/64,000 second
  • Custom, user-editable visible grids for framing, cropping, and alignment (not all cameras)
  • File browser
  • Text reader
  • Text editor
  • Calendar
  • Games
  • Fully customizable CHDK display, info placement, user colors, fonts in menus, etc.
  • Multi-language Interface - CHDK supports many languages
  • Custom CHDK User Menu - for instant recall of up to 10 favorite functions
  • Scripts execution - including intervalometer, motion detection, etc
  • And many others.

These new features are accessed through CHDK-specific menus, rather than the default camera menus. As CHDK is continually evolving, new features are added as they are developed. Updating occasionally will ensure you have all the latest features for your camera.

How is all this possible? Firstly, by the skill, persistence, and generosity of the developers, and other contributors to the CHDK project. Secondly, in the same way that your computer hardware runs an operating system, such as Windows, Mac OS, or Linux, your Canon camera also has an operating system in it. And in the same way that the OS runs Photoshop™ or Zoombrowser on your computer, the OS in your camera is also able to run programs such as CHDK.

Does CHDK permanently alter the camera? No. CHDK is simply software. Just like a computer, when the camera is turned off all the software disappears from memory until it is turned on again and CHDK is reloaded. Also like some software, there is an option to automatically start CHDK when the camera starts ("booting").

How does CHDK get on the camera? In the same way that you install Photoshop™ or Zoombrowser onto a computer (by copying the software onto your hard drive from, say, a CD) CHDK is installed by copying the CHDK software onto one of the camera’s "drives" - the SD flash memory card.

How does CHDK software get copied to the flash card? CHDK can be copied to your SD flash card using a file manager such as Windows Explorer. A card reader is used to connect the SD flash card to your computer. Once connected, the SD flash card appears like any other hard drive on the computer. Your printer may contain a usable card reader. Card readers are fairly inexpensive, and can simplify transferring of files, and thus files can be transferred via USB. See also: Raw Parameters, and DNG visible via USB.

Where can CHDK software be downloaded? Visit this Wiki : Prepare your SD card  to learn how do to find the correct CHDK version for your camera and how to prepare your SD card to use it.    If this is your first time using CHDK,  it is strongly recommended that you use the STICK Utility to download CHDK and setup your SD card.

Thanks to the Authors

Many thanks go to all the contributing writers over the past few years, please see Acknowledgements at bottom of this page

Important Disclaimer[]


This CHDK User Manual is FOR INFORMATIONAL PURPOSES ONLY, and offered WITHOUT ANY WARRANTY, without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. The information offered is for experimental application.

CHDK is experimental! CHDK comes with no warranty for any use - use it at your own risk.

Before downloading and using the CHDK software, careful consideration should be given to the following:

Usually the first question is: Can CHDK damage your camera?

The short answer: It is unlikely, but theoretically possible. CHDK is created by reverse engineering an undocumented system that directly controls the hardware. Because of this, it is impossible to be certain that it is completely safe.

The long answer: It is very unlikely that CHDK will permanently harm your camera. There have been no confirmed reports of CHDK damaging a camera, and both the original firmware and the CHDK developers use safeguards to prevent situations where this could happen. There is a wiki page where suspected issues with CHDK can be documented : Camera failures suspected to be caused by CHDK

There are at least two ways in which CHDK could theoretically do damage:

1) By commanding physical hardware to do something it was not designed to do. For example, it is possible to command the lens hardware to move when the lens is closed. It is also possible to move lens hardware beyond limits allowed by Canon's firmware, using scripts, or overrides. For an example of this, see Tele-Super-Macro Mode Comments.

2) By overwriting the internal flash ROM where the Canon firmware is kept, rendering the camera un-bootable. Since CHDK is never intended to write directly to internal flash, it would take an extremely unlikely sequence of events for this to happen.

It is worth noting that neither of these cases has resulted in actual damage, and both would require direct input from the user. If you are concerned about this, the risk can be minimized by avoiding untested developmental builds (such as test builds posted on the forum) and being selective about what scripts you run.

One more thing: There are tens of thousands of satisfied users all around the world enjoying the benefits of CHDK.

See also GPL license information below.

Using CHDK[]


If you want to jump right into CHDK before actually reading this manual,  click HERE to download the STICK utility and start using CHDK right away.

Once CHDK is installed, you will need to start it on your camera. As explained earlier, CHDK does not actually change your firmware, so it must be started each time the camera runs.

Loading CHDK[]

There are two methods of loading CHDK: The Firmware Update method and the Bootable SD card method. Both methods are fully described on the Prepare your SD card wiki page.

Firmware update method

Use this method to load CHDK once, manually. If this method is used, CHDK will be unloaded when the camera is powered off, and you will need to repeat the steps each time you want to use it. This is a good method if you just want to try CHDK out, or only use CHDK occasionally. Despite using the Canon Firmware update menu, it does not update the firmware.

  1. Start the camera in playback mode. On cameras that with a distinct PLAY button (usually a blue triangle), use that to power the camera on instead of the power button. On cameras with a play/record switch, ensure it is in the PLAY position;
  2. Press MENU, then press UP once;
  3. An option to update the firmware appears. Select that option (Fig. 1);
  4. Confirm the update (OK - press FUNC.SET - Fig. 2).

FirmUpdate-adj ConfirmUpdate 2

The camera is now loaded with the added functions provided by CHDK. Simply start taking photos or video.

If the firmware update option does not appear, there are a few common causes :

  • The camera was started in record (picture taking) mode. Switching to playback after starting in record mode does not enable the firmware update menu, the camera must be started in playback mode.
  • The CHDK port for the camera does not support this method. Check the wiki page for your camera model. If this method is not supported, you can use the bootable SD card method.

Bootable SD Card method

Use this method if you want CHDK to run every time you start your camera. The steps needed to use this method depend on the camera, type of card and OS of the PC used to install CHDK. See Prepare your SD card for details. After the card is prepared, CHDK will load automatically when the camera starts if the card is locked. To disable CHDK temporarily, just unlock the card.

Has CHDK been loaded?


When CHDK starts, this splash screen appears on the LCD for about 2 seconds, showing CHDK is loading to the camera’s memory. (The splash screen can be disabled in Main Menu > CHDK Settings.)

It’s running! What's next?

When the splash screen is cleared, CHDK will be running in the background. Some features are enabled by default, for example, the battery and memory indicators. However, most features are inactive by default.

To make changes to how CHDK operates, you start by entering <ALT> mode.

<ALT> Mode[]

CHDK setup and configuration is done in an alternative camera mode called <ALT> mode.  You can also run scripts (custom programs) while in <ALT> mode.  Once CHDK is configured to your satisfaction, exit <ALT> mode so that the CHDK selected functions can operate while you use the camera normally. When <ALT> mode is enabled the function of certain buttons on the camera will change, allowing you to start accessing CHDK features. For example, pressing the FUNC.SET button will display the CHDK Script menu, rather than the usual function associated with FUNC.SET.

<ALT> mode is entered by pressing one of the camera buttons.  The actual button to use depends on the camera model and how it was configured for CHDK operation. If you are not sure which button enables <ALT> mode for your camera, try one of these key combinations:

  • most cameras – press the PRINT, SHORTCUT or PLAY button (with a "momentary" short press - don't hold the button down for more than 1 second).
Some cameras with exceptions to the above options:
  • A480 – Press the MODE button;
  • A3000, SX120, SX130 – Press the FACE button;
  • Ixus220/elph300hs, Ixus1000/SD4500 – Press the VIDEO button.

As a convenience,  CHDK will ignore a press on the <ALT> button and allow the Canon firmware to use that button if you press and hold it for longer than a half second.

Note: Check the CHDK Wiki page for your specific camera's CHDK features. For instance, the MODE button for <ALT> on certain models may be listed there. If it is not, please feel free to update the information on that page.

When you enter <ALT> mode, the indicator --ALT-- will appear at the bottom middle of the on-screen display (OSD). In <ALT> mode you can now use CHDK scripts, and also enter the CHDK Main Menu. When you have finished customizing how CHDK operates, and/or using scripts, press the <ALT> mode button to exit <ALT> mode. You can now use the camera to take photos or video, and its operation will be changed by the options you set in CHDK...

Remember - unless you are running a script, you must exit <ALT> mode to actually take photos. Any overrides you have selective will be active once you leave <ALT> mode.

This point should be emphasized by itself: you must exit <ALT> mode to take photos normally!

And one final point: you must also switch the camera from playback mode to  shooting mode to take pictures.

CHDK Main Menu[]

Manual-1.2.0-main menu

The Main Menu is the top-level menu from which all CHDK functions are enabled and customized. To access the Main Menu, set the camera to <ALT> mode and press the MENU button. Use the Directional buttons Directional buttons to navigate the Menus.

Info -ToggleSw

Like Canon’s menus, pressing the FUNC.SET button will select the highlighted menu option. Pressing the DISP. button will move back one menu level. Pressing the MENU button will exit the current operation.


When entering numeric values in menu item fields, your camera's zoom lever can be used to move between input digits. It is not necessary to press the right arrow button 200 times to set a value of 200. Simply press the zoom lever to the left twice and then the right arrow button once.

Enhanced Photo Operations[]

Enhanced menu v2

The Enhanced Photo Operations menu is used to configure the CHDK functions most directly related to actually taking a photograph.  These are specifically those functions related to exposure and focus settings.

Disable Overrides[]

[No, Yes]
Allows the disabling of all overrides, regardless of the settings in the other menu entries.
No - Overrides are individually enabled & disabled via individual menu items (below).
Yes - All overrides are disabled regardless of the state of the individual menu items (below).
  • Include AutoISO & Bracketing
Enable [●] / Disable [ ]
Includes AutoISO and Bracketing settings in the "Disable Override" setting. If not enabled then the AutoISO and Bracketing settings will not be affected  by the "Disable Override" setting.

NOTE:   you must exit <ALT> mode to shoot pictures with override adjustments applied.   Also remember to uncheck the "Disable Overrides on Startup" menu item if you want to retain your override settings after a restart.

Override Tv[]

This feature allows you to override the camera’s shutter speed in all auto and manual modes with the speed you select. Shutter speeds can be longer than 60 seconds or as short as 1/100,000th of a second. Please note that the actual speeds available are dependent on the camera used and other conditions such as the aperture setting.

There are three ways to enter a Tv override, selected by the Override Tv type -> menu item.

Ev Step – The override shutter speed is set in fractional units using standard values from the days of film cameras. Enter the desired shutter speed from the Ev Step Value menu item that appears below when you select this option.

– The override shutter speed is set in decimal seconds. Enter the desired shutter speed from the Short Exp. Value menu item that appears below when you select this option.

– The override shutter speed is set in hours:minutes:seconds. Enter the desired shutter speed from the Long Exp. Value menu item that appears below when you select this option. Use the zoom lever to move between the different hh:mm:ss fields

Note that Tv override is enabled when the selector box beside the Value field is enabled. Use the Func/Set button to toggle it on & off.

Override Aperture[]

(Only available on cameras with an actual aperture / iris. mechanism)

[●] [  1.8 – 32.00]     

This feature allows you to override the camera’s aperture settings using standard f-stop values. Simply select the desired setting and the camera will use that setting in all auto and manual modes. Please note that the actual aperture values available may depend on the camera's construction and zoom position.

The [●] field is used to enable or disable the override.

Override ISO value[]

[●]  [  0 -  10000]

This feature allows you to override the camera’s ISO setting. Select the desired ISO setting and the camera will use that setting in all auto and manual modes.

The [●] field is used to enable or disable the override.

  • The values entered in the ISO override may not be exactly equivalent to the values displayed in the Canon UI and EXIF image data. Internally, the camera uses a different ISO value for exposure calculations ("real" ISO) and display ("market" ISO). As of release 1.2.0,  CHDK ISO overrides use "market" values but the "real" value used internally is usually a little lower.  The result is that the displayed value will sometimes not exactly match the reported value in the Canon UI or image EXIF.
  • CHDK allows you to enter values far beyond those available in the Canon firmware, but the minimum and maximum ISO actually achieved usually fall very close to the limits in the Canon firmware. ISO override gives full control of ISO settings, but does not usually extend the range of available values. 

Override Subject Distance[]

For cameras without manual focus capability, the Override Subject Distance  setting can be used to manage the camera's focus setting.

[Off/On/Inf] [ 0 - 65535]

Enter the focus distance in mm from the lens.   Use the DISP / SET button to toggle between :

  • Off :   override disabled
  • On :  override enabled
  • Inf :  override enabled and set to infinity

Depending on camera, you may need to activate AF lock for subject distance override to work. Disable any camera function that tries to alter the focus, for example: "Servo AF", "Continuous AF".

Note : Manual focus adjustments can also be achieved with CHDK shortcut keys. In <ALT> mode, using the LEFT / RIGHT keys to adjust the Value Factor and the Zoom lever to adjust the Subject Distance, (or on cameras without a zoom lever use the DISP. button. Infinity is immediately selected by pressing the UP key, and for Hyperfocal adjustment based on current F-stop and zoom focal length, press the DOWN key.

Enable Fast EV Switch?[]

    [●] [1/6Ev - 4Ev]

Turns the UP and DOWN buttons into quick EV compensation buttons. You no longer have to press the FUNC.SET or MENU buttons to adjust your EV settings while shooting. By pressing UP or DOWN buttons the EV increased or decreased by the amount specified in the menu item. There is also a screen display showing your chosen EV-compensation settings by whatever step-size you have chosen (see Step Size (1EV)?) below). It is advisable to move the OSD EV override display over the camera's own to prevent confusion.

You will see a real-time change in the EVF/LCD as you change the EV values with this short-cut. It also works while the Zebra Mode is engaged. You can fine-tune the Zebra alert just by pressing the UP and DOWN buttons with half shoot. When used in conjunction with the Curves "Auto DR" Mode you should never miss another blown highlight or dropped shadow again. One drawback: If using the UP and DOWN buttons during a half-press to see the Zebra alerts while changing your EV setting, it will toggle the "Disable Overrides" on and off if you have that feature engaged as well. A small price to pay for the ability to have these amazing features. One work-around, set your EV step-size to 1/2 what you normally would use, then the "Disable Overrides" shortcut will always toggle back to the original ON (or OFF) on every 2nd EV +/- press, effectively resetting it where you wanted it in the first place.

See >,2595.msg24211.html#msg24211 and:,2501.msg23321.html#msg23321 Note:  This feature may not work properly on all cameras.

Note also: This change is not saved between camera power-downs. If you would always like to start out with a small negative preset EV value to avoid blown highlights, then use Canon's own EV compensation setting for your startup EV value. This Fast EV Switch will reflect that value on startup.

Auto Flash + Exp. Comp.[]

[●][-3 to +3]

When selected, enables automatic flash exposure control when the camera is set in manual mode (for Tv, Sv, Av).  Also allows manual compensation of flash exposure. Useful for using electronic "through the lens"  (eTTL) exposure control when using external or internal flash while other setting are locked manually.

Manual Flash + Power[]

[●][Min/Med/Max] ( Note : use Max setting with caution as it will cause a very high bright flash.)

This feature is used for optional control over camera flash output,  allowing give 3 separate steps in flash output power.

Will override the flash power setting when then camera exposure control decides to fire the flash - especially if the camera is setup to force the flash to fire.   Because there is no preflash with manual flash, force manual flash can be used to advantage when using slave flash equipment.


Pics thanks to Walqas

ManFlash 1

ManFlash 2
ManFlash Camera

ND filter state[]

Enhanced menu v2-2

(For cameras with an ND Filter)


When the camera detects a really bright scene, it will swing the ND filter inline with the lens and sensor. This is primarily used to allow the camera to shoot at a lower shutter speed, useful in a bright light shooting situation where some motion blur may be desirable (fireworks) or where the scene is so bright that the camera must shoot outside of its normal range. With the ND filter in, the camera can select a slower shutter speed without over-exposing the entire scene. With CHDK, you can choose to keep the ND filter out, and just select a faster shutter speed to compensate.

Select one of the options :

  • Off means the camera will automatically control the ND filter state.
  • In means the ND filter is swung in.
  • Out means the ND filter is kept out.

Dark Frame Subtraction[]

Controls the application of the Dark Frame Subtraction feature of your camera. Dark Frame Subtraction is a function used to reduce the effects of sensor noise - especially useful when exposure times are 1.3 seconds or longer.  When dark frame subtraction is enabled,  the camera essentially takes two pictures with the same exposure time - once with the shutter open and then again with the shutter closed.  By subtracting the second frame's pixel values from the first frame's,  the camera automatically removes most sensor thermal noise from the image.

Auto – Performs a DFS on exposures 1.3 seconds or longer.

Off – Never performs a DFS.

On – Always performs a DFS.

By always performing a dark-frame subtraction the noise caused by the hot-pixels will be removed from any image. There will be an increase in processing time equal to twice the shutter open time.

Override JPEG Quality[]

[ Off, Superfine, Fine, Normal ]

Allows you to override the JPG quality setting selected in the Canon menus.  Some cameras do not allow a "Superfine"  setting in the Canon menus so this menu item allows you to select "Superfine".  Actual quality changes in Superfine mode are camera dependent.

Bracketing in Continuous Mode[]

Bracketing features are enabled when the camera drive mode is set to continuous or with custom timer on some models. For newer cameras you can use also the high-speed burst mode.

Bracketing in Continuous Mode

Bracketing is the practice of making several exposures of a scene, with each exposure differing from the next by predetermined steps in exposure or focus settings. Bracketing is used to easily capture a range of exposures so that the best exposure can be selected at a later time. Bracketing is also used to create a series of exposures which will be combined using methods such as HDR processing. In order for bracketing to work, the camera must be in continuous mode, or the custom timer is set to take more than one shot. The sequence stops when the shutter is released in continuous mode, or the number of shots set for the custom timer is reached.


Usage Tip: If you wish to shoot individual frames and still have bracketing for each one, after the first shot, lightly let-up on the shutter button to a half-press position.The next full-press will give you another bracketed shot. This process may be repeated for as many bracketing steps as you need, giving you finer control over the number of bracketed exposures you may require.

Set camera Custom Timer in Canon Menu


  • TV bracketing value
[Off, 1/3 – 4 Ev]
Set this value to bracket via exposure time. A value of 1 will double or halve the exposure time for the following exposures.
  • AV bracketing value
[Off, 1/3 – 4 Ev]
Set this value to bracket via aperture. A value of 1 will open or close the aperture by 1 stop for the following exposures.  (only available for cameras with an adjustable aperature)
  • Subj. Dist. Bracket Value
[*] [0 – 30000]
Set this value to enable focus bracketing. This feature is only enabled during manual focus mode. This feature allows you to specify the manual focus distance in millimeters. 
  • ISO bracketing value
[*][0 – 10000]
Set this value to bracket via ISO.  
  • Bracketing type
[+/-, -, +]
BRACKET in the OSD. With all bracketing types the first exposure uses the current exposure settings of the camera. The exposure settings are adjusted as follows:
This bracketing type will alternatively apply the bracketing value by first increasing then decreasing the exposure value like this: 0 Ev, +1Ev, -1Ev, +2Ev, -2Ev, etc. Bracketing will continue until the shutter is released, or the number of shots set for the custom timer is reached. For example, TV bracketing is set to “1 Ev”, and, when the shutter is half-pressed, an exposure time of 1 s is registered. When the shutter is fully pressed the exposures will be at these shutter speeds: 1 s, 1/2 s, 2 s, 1/4 s, 4 s, etc.
This bracketing type works as above but will only increase the exposure value. Using the above example, the exposure times would be 1 s, 2 s, 4 s, etc. Once the camera’s limit is reached, subsequent exposures will occur at the maximum setting.
This bracketing type works as above but will only decrease the exposure value. Using the above example, the exposure times would be 1 s, 1/2 s, 1/4 s, etc. Once the camera’s limit is reached, subsequent exposures will occur at the minimum setting.
  • Disable Bracket Values on Startup
Enable [●] / Disable [ ]
Enable this option to turn off bracketing when the camera is turned off.
  • Add raw-suffix
Enable [] / Disable [ ]
In bracketing mode add a suffix to the raw filename, so that later you can easily identify the RAWs that were created during bracketing.

Custom Auto ISO[]


Canon P&S cameras typically allows ISO values to be either a fixed number (eg ISO 80) or an "Auto" value. There are no user defined setup options in Auto mode, the algorithm used is fixed and not configurable.

CHDK Custom Auto ISO  overrides Canon's  "Auto ISO" mode.  It gives the ability to define the permissible range of ISO values to be used, the minimum allowable shutter speed, and some fine tuning of exposure compensation. 

Custom Auto ISO trades off ISO for shutter speed based on settings in the Custom Auto ISO menu. It tries to set the camera's ISO setting as close as possible to a Min ISO setting.  This is to minimize noise in the photograph. However, as it lower the ISO value,  the shutter speed must also be lowered to compensate and maintain the correct exposure.  Typically,  there is a minimum acceptable shutter speed needed to avoid blur due to camera shake or subject movement.  This minimum can be set to a fixed value or calculated automatically based on the current lens focal length setting and user defined factors related to camera steadiness and camera image stabilization ability.

For example,  if the camera set ISO 100 at 1/8s,  and AutoISO is configured to allow ISO50-400 with a 1/15s minimum shutter speed, then Custom Auto ISO will shift the ISO setting to ISO200 to maintain a 1/15s shutter speed.

This feature is available in all camera shooting modes except for Manual (M),  Shutter priority (Tv) and Stitch Assist (to prevent using different settings for each panorama part).

Enable Custom Auto ISO

Enable [●] / Disable [ ]

This is the master switch for this feature.

Minimum Shutter Speed

[Auto, 1/8 - 1/1000s]
  1. Auto - This is for use when photographing still-life, landscapes, etc. It will use the factors below to prevent camera shake, but will assume the subject holds still.
  1. Numerical setting - hint to the camera what the optimal shutter speed is for the subject you are photographing.
The camera will try to use this value or a faster one as much as possible (to prevent blur), e.g.
  • 1/8s - 1/30s - Slow moving subjects.
  • 1/60s - 1/125s - Kids, Pets, general movement
  • 1/250s - 1/1000s - Sports, Fast action.

User Factor (1/FL/factor)

This setting is only used if Mimimum Shutter Speed is set to Auto mode.  It accounts for the user’s ability to hold the camera steady. It is based on the old rule that the shutter speed should be no less than 1/focal-length. Start by dividing the effective focal length of the lens by the actual focal length. The answer is generally somewhere around 6. Then increase or reduce this amount by a self-assessed value of your steadiness. If you think your hands are steadier than average then decrease by 20%. If you think you’re shaky then increase by 20%.

IS Factor (Tv*factor)

This setting is only used if Mimimum Shutter Speed is set to Auto mode.  In determining the ISO setting, the effectiveness of the IS system will be taken into account.  Use a setting of 4 if the IS is effective enough to give you a two-stop reduction in shutter speed. Use a setting of 2 if the IS isn’t very effective, or 8 if the IS is very effective.


Sets the minimum “Auto” ISO that the camera can select.

Max ISO Auto 

Sets the maximum ISO that the camera can select when operating in "Auto" ISO mode.


Sets the maximum ISO that the camera can select when operating in "HI" ISO mode.

Fallback Min. Shutter Speed

[Off, 1/4 s to 1/1000 s]
If the shutter speed & ISO cannot be held within the range specified above, this setting will be used as an alternate minimum shutter speed setting.
Setting this value to Off will disable the use of the alternative values.

Fallback Max ISO 

[100 - 3200]
If the shutter speed & ISO cannot be held within the range specified above, this setting will be used as an alternate maximum ISO setting.

Overexp Compensation

[Off, -1/3 Ev, -2/3 Ev, -1 Ev, -1 1/3 Ev, -1 2/3 Ev, -2 Ev ]
A fixed value exposure adjustment applied when the overexposure threshold is exceeded for more than a defined percentage of pixels (see below).   Set to Off to disable this functionality.

OverExposure Threshold

Pixels with Y (brightness or luminance) value greater than (254 - threshold) are considered overexposed. Y values range from 0 (dark) to 255 (bright).

OverExposure Pixel Percentage

The percentage of pixels that can exceed the overexposure threshold before the Overexposure compensation value is applied.

Custom Curves[]

Custom Curves

Note : This CHDK menu item will only appear on cameras with 10 bit sensors. Newer cameras with 12 bit sensors are not supported.

This function enables the use of custom "curve" profiles to adjust the exposure of the RAW and JPG images. Two types of curve profiles can be used - CV & CVF.  CV curves are the standard RGB curves. CVF curves are special version curves intended to avoid the color shift side effect of the RGB curves. They are an approximation of the luminance curves.

Except the SYSCURVES.CVF file it is recommended that curves files be stored in the \CHDK\curves directory on your SD card..

See >,932.0.html

Enable Curve

  • Enable Curve [ None, Custom, +1EV, +2Ev, Auto DR]
  • None - No curve profile is applied.
  • Custom - Your custom curve profile is applied as-is.

The following three options require that you have a SYSCURVES.CVF file in your /CHDK folder on the SD card.  This file is included in the "full" CHDK packages and can also be obtained from this link: (which also contains a curve editor). 

  • +1EV - Increases shadow detail by 1EV step.
  • +2EV - Increases shadow detail by 2EV steps.
  • Auto DR (auto dynamic range):

Auto DR with Zebra is intended to be used for the direct application of the curves to the shot - not for post processing (the feature is a mimic of the Fuji S100 +200, +400 Dynamic Range). The workflow is:

1) Activate Zebra display
2) Activate Auto DR
3) Use the camera EV negative compensation to reduce the Zebra overblown highlights shown on screen. You can use the (+/-) button on the back of the camera.
4) Take the shot. You will directly get the JPG without post processing. The luminance of the darker areas will be raised while the highlight is compressed. During the RAW develop process, you need to set the EV comp. to the value that you used to reduce the highlight blown out when you took the RAW. Care should be taken with in camera develop since it is a tricky art there (for White Balance issues in particular). If the scene does not require you to reduce exposure to avoid blown highlights, the Auto DR feature does not do anything.

Load Curve Profile

Load your desired curve profile from the \CHDK\CURVES folder. All curve profile files except for SYSCURVES.CVF should be in that folder.

Disable Overrides on Startup[]

Enable[●] / Disable[ ]

If enabled, CHDK override settings will be automatically cleared the next time the camera is started.

Video Parameters[]

The Video Parameters menu is used to configure all aspects of recording video using CHDK overrides.

Video Parameters

Video Mode[]

[ Bitrate or Quality ]
Bitrate – dictates a constant data rate. Video compression (and hence, video quality) expands or contracts as necessary to maintain the data rate constant.
Quality – Sets a constant compression level, ensuring a defined level of quality regardless of how much data that level requires.

Note 1: From owners reports of testing Quality overrides, it is evident that settings above the standard Canon setting gain little if any higher quality. However file sizes will increase significantly. Lower settings will lose little in quality but will reduce file size.

Note 2: Bitrate control is not available on all a cameras. If not available, the options will be Quality and Default. Bitrate and Quality settings that are set too high can cause memory buffer overload, and stop recording, a red ! will show on the OSD. Also - a low quality setting, or near to full/fragmented SD cards, can have an effect on these settings.

Video Bitrate[]

[ 0.25, 0.5, 0.75, 1, 1.25, 1.5, 1.75, 2, 2.5, 3 ]

The compression factor for Bitrate compression. 0.25 is the most compressed / least quality and 3 is the least compressed/best quality.

Video Quality[]

[ 1 - 99 ]

The compression factor for Quality compression. 1 is the most compressed / least quality and 99 is the least compressed / best quality.(Roughly ~70 - 80 is Canon equivalent).

Video without time limit[]

If available for your camera, enables byassing of the built-in time limits on video recording. Note that this will not bypass the 4G video file size limit.

Clear Video Params on Start?[]

Enable [●] / Disable [ ]

When enabled this will clear all your custom video compression settings back to the camera's own defaults on startup.

Fast Video Control[]

Enable [●] / Disable [ ]

Only a few cameras are supported. Pause and unpause video by pressing LEFT / RIGHT while recording. Note: When using this function the remaining video-record time calculation is reset, so the change is shown immediately in the OSD.

Video Quality Control ?[]

Enable [●] / Disable [ ]

When enabled, using the UP / DOWN button will increase or decrease video quality or bit-rate (depends on which one is enabled in the Video Mode override) - While you are recording.

Enable Optical Zoom[]

Enable [●] / Disable [ ]

This feature allows you to use the camera’s optical zoom during video recordings.

Mute During Zooming[]

Enable [●] / Disable [ ]

To eliminate focus mechanism noise. Please note that the zoom mechanism sound is very loud in video, which is probably why it was disabled by the manufacturer.

AF key[]

[Shutter, Set]>

(Shutter button - half press, or FUNC.SET button) During video recording - camera makes a single autofocus scan.

Show Remaining Videotime[]

[ Don’t, hh:mm:ss, KB/s, both ]

Displays a positionable OSD element to show the video bit-rate, and the remaining video recording-time, on the SD card,…

Don't - No display of remaining recording time and/or video data-rate.
hh:mm:ss - Display a clock of remaining video-recording time left.
KB/s - Display video recording bandwidth (data-rate) in Kilobytes per Second.
Both - Display remaining video-recording time in both hours/mins/secs, and video data-rate in Kilobytes per Second.

Refresh Rate (~sec)[]

Due to the nature of video's variable bit-rate and compression methods, subject dependent, the "Show Remaining Videotime" has to be updated regularly by re-polling the card-space and the bit-rate to calculate a fairly accurate time-remaining estimate. Choose, in seconds, how often that you want this Video-Recording time-remaining to be updated. Shorter periods of time are less accurate from each on-screen update to the next.

RAW (digital negative)[]

The RAW menu is used to configure all the CHDK settings necessary to enable the recording of a RAW image each time the camera records a JPG image. Details about using CHDK RAW can be found here : RAW

Raw menu1

Save Raw[]

Enable [●] / Disable [ ]

Enables the saving of CHDK RAW files. Enabling RAW does not disable JPEG, both are saved.


Raw exception menu
  • Disable @ Video Record? Enable [●] / Disable [ ]
Some cameras, the S-Series in particular, have a dedicated "Video Record" button where you can engage that and also shoot individual still-frames during video recording. It was found that RAW file-saving can interfere in this process. Turning this option on will ensure that you don't miss a shot or your video.
  • Disable RAW @ Sports Enable [●] / Disable [ ]
Disable RAW saving when the Mode-Dial is turned to Sports Mode. This ensures that fast action sequences won't be missed due to RAW file-saving time, when forgetting to disengage the RAW feature.
  • Disable RAW @ Burst Enable [●] / Disable [ ]
Disable RAW file-saving when using burst mode. Again, a handy override for when RAW is not needed during fast burst-sequence shots (RAW enabled would certainly increase time between shots)
  • Disable RAW @ Timer Enable [●] / Disable [ ]
Disable RAW file-saving when using the camera's Custom Timer mode (similar to the safety feature for the burst mode).
  • Disable RAW @ EV Bracketing Enable [●] / Disable [ ]
Disable RAW file-saving when you are using any of the high-speed bracketing features.
  • Disable RAW @ Edgeoverlay Enable [●] / Disable [ ]
Disable RAW saving while using Edgeoverlay.
  • Disable RAW @ Auto Enable [●] / Disable [ ]
Disable RAW saving while using Auto shoot mode.
  • Warn when Exception? Enable [●] / Disable [ ]
Displays a "RAW Disabled" OSD warning in a selectable color when any of the RAW File-Saving Exceptions are enabled and RAW file-saving is turned on.

Only First RAW in Series[]

Enable [● ] / Disable [ ]

When shooting in continuous mode, this will only create a RAW capture for the first image. Subsequent images will not have RAW captures. This allows rapid continuous shooting.

RAW File in Dir with JPEG[]

Enable [●] / Disable [ ]

Saves RAW files in the same folder as the JPEG files. If disabled then RAW files are always saved in the 100CANON folder.

RAW File Prefix[]

[CRW_, SND_, IMG_]

CHDK lets you name the raw files with any combination of the standard prefixes IMG_, CRW_, SND. If you are going to process the RAW files with DNG4PS-2 then setting a prefix of IMG_ will allow DNG4PS-2 to retrieve EXIF data from the accompanying JPEG.

RAW File Extension[]

[.CRW, .CR2, .THM, .WAV, .JPG]

Set the extension to be used on RAW files. so the files are visible when you connect the camera via USB.

RAW subtract extension[]

[.CRW, .CR2, .THM, .WAV, .JPG]

Using more than one extension with the same prefix can cause a problem with USB listing.

RAW develop[]

This feature is used to process a CHDK RAW file and create a JPEG from it. When selected, a file browser window is displayed, Select a RAW file and press FUNC/SET, then the message 'Switch Camera to Record Mode and take one shot' displays, Press FUNC/SET again to back out of this menu, then use the <ALT> button to exit <ALT> mode. Press the shutter button, instead of taking an image, it will process that selected RAW file and make a JPEG file from it, that will be named according to whatever last JPEG filename is in that folder and increment it by one (1). Remember that the EXIF data on this new JPEG file will not reflect the original RAW file. It will use whatever camera settings were available at the time that you take the RAW Developing shot for the resulting EXIF data.

  • This feature only works with CHDK raw or DNG, not Canon native raw.
  • If the Canon "I-Contrast" feature is on when using raw develop, you may see "ghost image" artifacts in the resulting jpeg.
  • White balance and image processing for the jpeg will occur with the camera’s current settings. So, for example, you can use the MyColors settings to create Vivid and Sepia versions of the same image, or simply tweak the sharpness or contrast, and other settings. Normally, you would have to set MyColors before the image is taken, and you would get only one image. In effect, RAW files can be kept as 'Masters' to develop from as desired, and to experiment with settings.
See also > File browser for RAW Merge.

Manual bad pixel removal[]

[ Off, Average, RAWconv ]

The CHDK Manual bad pixel removal tool allows the removal of defective pixels from each image as it is taken.  While Canon firmware will automatically fix bad pixels that were found when the camera was manufactured,  this CHDK feature will also remove "hot" or "defective" pixels which are not known to the Canon firmware (e.g. pixels that became defective during the camera lifetime).   This feature affects both the JPG image and RAW image. 

The first step in enabling bad pixel removal is to create a badpixel file. (Note: this is not the badpixel.bin file used for DNG file creation).  This text file should contain a list of the coordinates of all bad pixels to be fixed.   To create this file,  you will need to capture a "dark frame" image by shooting an image with the lens completely capped. For shutter speeds longer than 2 seconds,  you may want to keep a collection of "dark frame" image on hand for each exposure length that you will be using in the future, as more warm and hot-pixels appear with extended shutter speeds.  Convert your dark frame images to a list of the bad / defective pixels using the show_bad tool from here: 

NOTE this tool only supports raw files from a few old cameras. If your camera is not supported, you will need to modify the source or find another way to generate the file.

Read more about this program & how to use it here: Hot/bad pixel removal

Once you have generated a file with  the list of  all the "bad" pixels for your camera, CHDK can remove them automatically with the [Average] or [RAWConv] option selected.  CHDK looks for the files badpixel and badpixel.txt in the /CHDK folder; this is a plain text file with coordinates of the bad pixels in the raw image, with one x,y pair per line. If both files are present, pixels listed in each file will be patched. Only the first 8kb of each file will be used.

[Off] with this setting no Bad pixel removal processing takes place.

[Average] with this setting CHDK calculates the color for the bad pixel based on its four neighbor pixels with a simple average calculation and then interpolates - bad neighbor pixels will be ignored in this calculation.

[RawConv] setting means - intended for use with post processing raw converter software to remove the bad pixels later in the workflow. With this setting CHDK just sets the bad pixel to the value 0 (zero), without any other calculation or modification. Most RAW-capable apps. will detect this and apply their own algorithms. This option is ignored in DNG mode (in DNG mode bad pixels are always averaged by CHDK).

Quote from senior developer ewavr - ‘You can compare bad pixel removal quality in both modes, IMO, 'RAWConv' mode is preferred, because CHDK interpolation is very unsophisticated’.

Note: With DNG format enabled, bad pixels identified by badpixel.bin are always removed - (interpolated / averaged) by CHDK. This does not affect the 'Bad pixel removal' option, which also fixes user specified pixels.

Forum discussion: re: 'Average' and 'RAWconv'

RAW buffer cached[]

Enable [●] / Disable [ ]

When enabled, CPU cache is used while processing raw data for DNG. This is faster, but could theoretically lead to a small amount of data being incorrect. In practice, there seems to be no negative effect and should always be enabled except for debugging.

Show raw saving time[]

Enable [●] / Disable [ ]

When enabled,  CHDK onscreen console will display a message showing the time taken to save the most recent RAW/DNG image.

Info -RAW

DNG format[]

Enable [●] / Disable [ ]
Raw menu 2

Save RAW in DNG format directly in the camera. This format can be read by many image editing programs. Also includes meta-data like EXIF and whitebalance / color matrix information. The DNG files created have the same file extension as described in RAW, and can be reset manually to DNG. There is also an automatic function to rename for most cameras in the CHDK RAW menu. DNG format is now the preferred method of CHDK RAW capture.

To enable this option the first time, as described above, a special file badpixel.bin must be generated and stored on the memory card once. This camera specific binary file contains information about the sensor pixels which were marked as defective by the manufacturer.

  • Note: With DNG format enabled, bad pixels in badpixel.bin are always removed (interpolated / averaged) by CHDK. This does not affect the "Bad pixel removal" option, which fixes user specified pixels.

There are two ways to create this badpixel.bin file:

in the camera, using "Create badpixel.bin" from the raw menu: (See Create badpixel.bin below)

and with a little software tool - read about it here > Badpixel removal

DNG file extension[]

Enable [●] / Disable [ ]

To distinguish DNG from other RAW files. The DNG RAW image files will be stored as "<filename>.DNG" with this option enabled, otherwise the extension from the "RAW file extension" menu entry is used.

Note that you will not be able to transfer files with the .DNG extension over USB, unless your camera has the "DNG visible via USB" option is enabled in the misc menu. "DNG visible via USB" is not available on some cameras.

DNG version[]

[1.1 , 1.3]

CHDK supports two different versions of the Adobe DNG file format. While there are many differences in the two versions, the principal difference from a CHDK point of view is that when you use DNG 1.1, CHDK will use the badpixel.bin file (see below) to remove bad pixels from the image. When you use DNG 1.3, the bad pixels will only be removed automatically if your raw processing software is fully DNG 1.3 compatible. Many non-Adobe programs are not fully compatible.

The use of version 1.1 is recommended for maximum compatibility. DNG 1.3 is recommended if your raw software supports it, or if your camera has very low free RAM.

Create badpixel.bin[]

Switch to record mode (there is a reminder dialog if still in display mode), Select 'Create badpixel.bin' in the RAW menu, press FUNC./SET, and the operation commences, taking approx. 20 to 40 seconds, you will notice the camera takes 2 shots, the blue Print LED will come on briefly during each shot, wait for the process to complete, you will see a display of the number of bad pixels, - that number can be disturbing to some, a figure such as 18,000 or even more is not uncommon. You can check for the file with the File Browser.

Edge Overlay (panorama tool)[]

Edge overlay creates and overlays a high-contrast outline of the edges in an image. It can be used to assist in stitching together panorama images by allowing you to see the outline of the previous image while taking a new image.

Enable Edge Overlay[]

Edge overlay menu
Enable [●] / Disable [ ]

With the default CHDK settings the Edge overlay will be visible while the shutter button is half-pressed. Once a picture is taken, the overlay will be frozen and it will not update until a second picture is taken, allowing you to align image features in the new shot to the previous one. During that time you can use the the Directional buttons Directional buttons on the camera in ALT-mode to move the overlay of the previous picture Up, Down, Left,or Right.

Zebra mode should be disabled when using the Edge overlay and disable Edge overlay when using Canon Stitch Assist mode.

Filter Edges[]

This option applies noise filtering to the edge overlay. It makes the overlay redraw slower but cleans the overlay of noise that appears in low-light scenes. To reduce overhead of Edge overlay, use Filter edges only when required.

Panorama Mode[]

[  Off, Right, Down, Left, Up, Free ]

When this option is not set to Off, the edge overlay will not update continuously, but only when images are taken. Except for the very first image, you will always see the overlay of the previous image in frozen mode. "FROZEN" is shown in the top left corner of the OSD.

Note: Panorama mode returns to Off on each camera startup.
Off   - Does not lock the overlay and it will keep updating. 
When set to either Right, Down, Left or Up, the camera will automatically move the overlay in the opposite direction by the amount corresponding to the "Pano overlap (%)" setting. This is useful so that you can align the next image of a panorama series in the corresponding directions.
Free  - The overlay will not update continuously, and it will not be moved automatically in any direction, (it will be centered), however, you can use the the Directional buttons in ALT-mode to move it manually.

Pano overlap (%)[]

[  0 - 100]

Set the overlay offset for Panorama mode, affects each of the options in Panorama mode except "Free".

Always show[]

Enable [●] / Disable [ ]

When enabled, the Edge overlay will be visible even without half-pressing the shutter button.

Edge overlay threshold[]

[ 0 - 255 ]

This setting adjusts the Edge-overlay sensitivity. Lower values create edges along lower contrast / lower-brightness edges, but can potentially cause more noise. Higher values create edges only on the highest contrast/ brightest boundaries, and therefore fewer, finer, and more well defined lines. The downside of using higher values is that some edges might be missed. In general, lower values are more useful with low-light scenes, while higher values are more useful with bright scenes. If you get too much noise, try the Filter edges option.

Enable in Play[]

Enable [●] / Disable [ ]

When enabled, the Edge overlay will be visible during camera playback mode.

Save Edge Overlay[]

Saving an Edge overlay allows you to recall it at a later time even if the camera was switched off. Note that you can only save an overlay while it is frozen. After creating an overlay, navigate to this Menu item and press FUNC.SET to save.

Load+Set Zoom[]

Enable [●] / Disable [ ]

This option will cause the zoom to move to the same position used when the overlay was stored when an edge overlay file is loaded.

Load Edge Overlay[]

Opens a file browser menu to let you select a previously stored edge overlay file.

Notes :To move an overlay - with a loaded overlay first switch to <ALT> mode, then press a Directional button Directional buttons to move the overlay continuously until release of the button, or click the button to move in steps. It is advisable to make a log of the saved edge overlays, keeping a description together with the file number and date of the file, to keep track of them over time, perhaps adding GPS information as well.

Histogram (exposure graph)[]

Histogram menu

Enables and customizes the CHDK Live Histogram feature.

Histogram Anatomy

The horizontal component of a histogram runs from 0 to 255. What is important to understand is the “0” and “255” are not values…they are labels representing a color value. When you see a line in the middle of the histogram (label “127”) it’s saying “this is how many ‘127’s there are in the image.”

The vertical component of a histogram is the count of pixels at a given level. The bottom is zero and the top represents the largest count of values for a label. So if you have a 7MP image and every color is “127”, then the top of the histogram represents 7 million pixels.

RGB Histogram

RGB histograms simply count pixels at each level. The RGB histogram of an image of three boxes (red, green, and blue) where every color has a value of 127 would be a single line in the middle of the histogram (at label “127”.)

Luminance (Y) Histogram

Luminance histograms attempt to factor in the perceived brightness of colors. A luminance histogram of an image of three boxes (red, green, and blue) where every color has a value of 127 will show three lines at labels “38” (red- x 0.3), “75” (green x 0.59), and “14” (blue x .11).

Show live histogram[]

[Don’t, Always, Shoot]
Don’t – Don’t show histogram on LCD.
Always – Always show the histogram on the LCD.
Shoot – Only show the histogram when shutter is half-pressed.

Histogram Layout[]

[RGB, Y, RGB Y, R G B, RGB all, Y all, Blend, Blend Y]

RGB – Displays the RGB histogram only.
Y – Displays the luminance histogram only.
RGB Y – Displays RGB above luminance.
R G B – Displays three histograms, one for each color.
RGB all – Displays all 5 variations of histograms with RGB on top.
Y all – Displays all 5 variations of histograms with luminance on top.
Blend – Combines the three histogram of the R G B display into one.
Blend Y – Same as Blend but with the addition of luminance below.

Histogram Mode[]

[Linear, Log]
Determines how the Y-axis (vertical) of the histogram will be scaled. Log mode is useful for scenes with a large amount of a single color, such as an overcast sky (lots of gray.)

Show histogram over/under EXP[]

Enable [●] / Disable [ ]
EXP in on-screen display. If parts of a scene are over or under exposed, then this setting will display “EXP” above the histogram, and a red dot at the end that indicates exceeding exposure limits.
GSCHDKGuide 26
In this example the red dots show the image is both over and under exposed (the scene has a very wide dynamic range).

Ignore boundary peaks[]

[0 – 32]
Another tool for controlling the scaling of the histogram. If you know that the scene will contain large amounts of black or white (e.g a moon shot) you can set how many levels from the left or right edges of the histogram to ignore, if those levels peak in the histogram. This will increase the visibility of the smaller portion of the histogram.

Auto Magnify[]

Enable [●] / Disable [ ]
N.NNx in on-screen display. Another tool for controlling the scaling of the histogram. This option will magnify the Y-axis (vertical) if less than 20% of the histogram area is filled. The purpose of this function is to make the histogram easier to read when there are very tall peaks. This function lies somewhere between the Linear and Log options above. A red dot over a peak indicates that it’s been clipped due to the magnification. The amount of magnification applied is displayed over the histogram.

Show Histo Ev Grid[]

Enable [●] / Disable [ ]
Adds 4 or 5 vertical lines to the histogram dividing the histogram by full stops.
EV Grid Enabled
EV Grid Enabled

Zebra (show over & under exposure)[]

Zebra menu

Zebra is a feature that indicates over and under exposed areas of the scene. When the shutter is half-pressed, the areas of the scene that are under or over exposed will turn red. The zebra effect can also be applied to existing images by half-pressing the shutter during playback mode.

Draw Zebra[]

Enable [●] / Disable [ ]

Enables the drawing of over/under exposure indicators.

Zebra mode[]

[Blink 1, Blink 2, Blink 3, Solid, Zebra 1, Zebra 2]
Determines how the over/under exposed areas will be indicated.
  • Blink 1 – Solid coverage, blinks every ½ second.
  • Blink 2 – Solid coverage, blinks every second.
  • Blink 3 – Solid coverage, blinks every two seconds.
  • Solid – Solid coverage, no blinking.
  • Zebra 1 – Striped coverage, thin diagonal lines.
  • Zebra 2 – Striped coverage, thick diagonal lines.

UnderExposure Threshold[]

[0 – 32]
Controls the sensitivity of exposure indication. 0 is less sensitive and 32 is very sensitive.

OverExposure threshold[]

[0 – 32]
Controls the sensitivity of exposure indication. 0 is less sensitive and 32 is very sensitive.

Restore Original Screen[]

Enable [●] / Disable [ ]
This option only applies to Zebra Blink modes. When exposure indicators are visible, all of the original Canon indicators are erased. When this option is enabled, the original Canon screen items (such as exposure) are redrawn between blinks.

Restore OSD[]

Enable [●] / Disable [ ]
This option only applies to Zebra Blink modes. When exposure indicators are visible, all of the CHDK half-shutter indicators are erased. When this option is enabled, the CHDK half-shutter indicators (such as DOF calculator) are redrawn between blinks.

Draw Over Zebra[]

[Histo, OSD, Nothing]
This option applies to all Zebra modes. When exposure indicators are visible, nothing else is displayed on the screen. This option specifies which additional indicators will be drawn.
  • Histo – Only the live histogram is drawn with the exposure indicators.
  • OSD – The entire CHDK OSD is drawn with the exposure indicators.
  • Nothing – Nothing else is drawn with the exposure indicators.

RGB zebra (overexp. only)[]

"Enable [●] / Disable [ ]

Overexposed areas are indicated by the color of the channel that is overexposed. Underexposed areas are ignored.
  • Black – All channels are overexposed.
  • Red – Red channel is overexposed.
  • Green – Green channel is overexposed.
  • Blue – Blue channel is overexposed.
  • Cyan – Green and blue channels are overexposed.
  • Magenta – Red and blue channels are overexposed.
  • Yellow – Red and green channels are overexposed.

Scripting (program your camera)[]

Script menu

CHDK supports two scripting languages (Lua & uBASIC) that allow you to customize how your camera works. Scripts can control exposure, shoot based on user defined conditions, detect motion, and interact with the user via either a text console or graphical UI.

To use a script :

  • enter <ALT> mode by pressing your camera's ALT key
  • press FUNC.SET to go directly to the Script menu (or navigate there from the main menu)
  • select a script using the "Load Script from File" menu item
  • set any required parameters to suit your needs - see the script’s documentation
  • press MENU to finish loading & configuring the script
  • stay in <ALT> mode and press your camera's shutter button to actually run the script

To interrupt a running script press the Shutter button.

To return to normal shooting, exit <ALT> mode.

CHDK saves the last user-selected script parameters from one session to the next.

There is a Default Script that loads when CHDK is first installed. It does not do anything.

New scripts can be added to the SCRIPTS folder as they become available.

Note: Whenever a script is loaded there is extra demand for memory, using the default script when no other is needed may help some camera's performance when using CHDK. Refer to : Memory Usage

Load Script from File...[]

Used to activate a file selection window that lets you pick which script to run.   Scroll through the available files and press the FUNC.SET to select one.

Script shoot delay (.1s)[]

After an image is captured, indicates how long to delay the execution of the next script command. A value of 0 executes immediately. A value of 10 executes the next script command one second after capture.


[Off, On, Once]

When enabled, the script listed under “current script” will execute immediately when the camera is turned on. Setting to On causes this to happen every time the camera starts,  setting to Once will cause the script to only run once - at the next camera restart.  (Hint : remember this setting if you see your camera operating by itself after it is turned on.)

Restart Lua on error[]

The Lua programming language contains more advanced error checking than the uBASIC language. If it detects an error condition while running, setting this value will cause the script to restart rather than halt. Generally, its not a good idea to leave this feature enabled.

Load default param values[]

Each script has up to 26 parameters that can be set from the Script menu (down at the bottom). Selecting this menu item causes those values to reset to the default values specified in the script.

Parameter set[]

[Default, 0-9]

To accommodate different shooting scenarios, CHDK allows up to 10 different sets of user parameters to be stored and reused each time the script is loaded. Setting this value to Default will cause the default values specified in the script to be used each time the script is loaded.

Save params[]

When set to "On", the current values of the script parameters (perhaps adjusted by the user) will be stored in the parameter set specified above. When set to "Off", parameter values are "locked" and will not change. Complete information about scripting can be found here : Scripting Cross Reference Page

CHDK Settings[]

CHDK setting menu

The CHDK Settings menu is used to configure the look, feel and operation of CHDK.  This menu allows you to configure the CHDK On Screen Display (OSD) through the selection and positioning of on-screen information and icons showing the current state of camera operations. Other operating display functions can also be configured with this menu and the menu allow access to the setup of the CHDK USB remote control.

OSD Parameters[]

OSD menu
Show OSD[]
Enable [●] / Disable [ ]

Control the visibility of the CHDK On Screen Display (OSD)   Hide in ?

[ Don’t , In Play , On Display ,  Both ]
  • Don't - always shows the OSD icons/elements
  • In Play - hides them in playback mode
  • On Display - hides them when you toggle the CANON icons on/off with the display button (does not work for the EVF)
  • Both - hides OSD in both playback and by "display button cycling". Helpful to those who don't need the battery and other indicators in their playback screens.

Show State Displays[]
Enable [●] / Disable [ ]

Displays the Override, Bracketing, and Override Disabled settings in their own positionable information area.

Show Temperature[]
[ Off, Optical, CCD, Battery, all ]
  • Off - No display of camera component temperatures.
  • Optical - Displays the temperature of the optical elements (most assume this is used for the IS mechanism and Zoom/Focus motors). When the camera is first turned on this will most accurately reflect the environmental temperature.
  • CCD - Displays the temperature of the CCD. Lets you know when it might be getting too warm. Or when it's cold enough to take lower-noise images.
  • Battery - Displays the temperature of the battery compartment.
NOTE: 3rd party LI-ION battery packs may always report a constant temperature, e.g. 25°C or 28°C.
  • all - Displays all 3 values.

Note: Not all models have a separate temperature sensor for each component, and due to differences in design, values reported by different models may not be directly comparable.

   in Fahrenheit[]
Enable [●] / Disable [ ]
Default is Celsius, check this for Fahrenheit.
Show USB info[]
 [Off. Icon, Text ]

Displays either a colored icon or a text string when the USB Remote is enabled.

NOTE :  when USB remote is enable,  PTP connections (i.e USB connection camera/PC) are disabled.

Miscellaneous Values[]

Show Misc Values

[Don’t, Always, Shoot]
  • Don’t – Don’t show misc values on LCD.
  • Always – Always show the misc values on the LCD.
  • Shoot – Only show the misc values when shutter is half-pressed.

Show values in video

Enable [●] / Disable [ ]
Displays the Miscellaneous values when the camera is in video mode.

Show Zoom

Enable [●] / Disable [ ]
Z:n/n.nx in Micscellaneous Values. Displays the current Zoom position of the lens.
Z:n = zoom position, from 1 to 14

Zoom value

[X, FL, EFL]
Method of displaying the Zoom position of the lens
X – as a multiple of the shortest focal length, as in 6X.
FL – as the actual focal length of the lens, as in 34.8mm.
EFL – as the effective focal length, (35mm Equivalent, as in 210mm).

Adaptor Lens Scale, 100=1x

[0 – 1000]
Adjusts the zoom value above by a multiplier, which is based on the converter lens that is installed on the camera. For a 0.7x wide converter use 70. For a 1.75x tele converter use 175.

Show ‘Real’ Aperture

Enable [●] / Disable [ ]
Av in Miscellaneous Values. This is the actual aperture setting after any override aperture adjustments have been applied.

Show ‘Real’ ISO

Enable [●] / Disable [ ]
I-R in Miscellaneous Values. Displays the actual ISO value after overrides or bracketing have been applied.

Show ‘Market’ ISO

Enable [●] / Disable [ ]
I-M in Miscellaneous Values. Displays Canon’s ISO value, which is not always the same as the actual ISO value.

Show ISO only in AutoISO Mode

Enable [●] / Disable [ ]
Display the ISO value only when the camera is in Auto ISO mode.

Show Set Exposure Ev (Tv+Av)

Enable [●] / Disable [ ]
Evs in Miscellaneous Values. Show camera exposure value based on the values of shutter speed and aperture.

Show Measured Ev (Bv+Sv)

Enable [●] / Disable [ ]
(brightness value + scene sensitivity set in a camera)

Show Set Bv (Brightness Value)

Enable [●] / Disable [ ]
Bvs in Miscellaneous Values. Internal-brightness scenes through recalculation of the parameters established in the camera. Just Av-Sv + Tv.

Show Measured Bv

Enable [●] / Disable [ ]
Displays the measured brightness value, as written in the Exif data.

Show Overexp. Value (No Flash!)

Enable [●] / Disable [ ]
Indicates a calculated overexposure value. Av-Bv-Sv + Tv

Show Canon Overexp. Value

Enable [●] / Disable [ ]
Indicates the overexposure value calculated by the camera.

Show Scene Luminance

Enable [●] / Disable [ ]
B in Miscellaneous Values. Run average in standard illumination scenes candelas per square meter… calculated from a ratio to Bv = 12.5
DOF Calculator[]

The Depth Of Field Calculator displays 5 distances in meters…

  • SD – Distance to the subject (Near Limit + DOF*0.33). Also called the Focal Plane.
  • NL – Near Limit. The distance where acceptable sharpness begins.
  • FL – Far Limit. The distance where acceptable sharpness ends.
  • DOF – the Distance between the Near Limit and the Far Limit.
  • HYP - Hyperfocal distance
Depending on the aperture and zoom settings, the hyperfocal distance reflects the optimal distance for an object to be photographed, i.e. the sharpness of that object will be the sharpest at this specific distance.

Show DOF calculator

[Don't, Separat, In Misc]
  • Don’t – Disables display of the DOF calculator
  • Separate – Displays the DOF values apart from the Misc values.
  • In Misc – Displays the DOF values with the Misc values.

Canon Subj. Dist. as Near Limit

Enable [●] / Disable [ ]
Enabling this value affects the way the subject distance is calculated.

Use EXIF subj. Dist. (Propcase #65) Enable [●] / Disable [ ]

Enabling this value affects the way the subject distance is calculated.
Note : Experimentation may be required to clarify these 2 preceding settings, they will effect script commands that establish focus and some other camera behavior, such as focus bracketing.

The following 5 settings determine which DOF values will appear. When the “Show DOF calculator” is set to “Separat”, all 5 values are always displayed. When it is set to “In Misc” then only the enabled values below are displayed as part of the Miscellaneous Values.

Show Subj. Dist. in Misc.

Enable [●] / Disable [ ]
Enable to show in Miscellaneous values on OSD.

Show Near Limit in Misc.

Enable [●] / Disable [ ]
Enable to show in Miscellaneous values on OSD.

Show Far Limit in Misc.

Enable [●] / Disable [ ]
Enable to show in Miscellaneous values on OSD.

Show Depth of Field in Misc.

Enable [●] / Disable [ ]
Enable to show in Miscellaneous values on OSD.

Show Hyperfocal Dist. in Misc.

Enable [●] / Disable [ ]
Enable to show in Miscellaneous values on OSD.

Subject distance from lens

Enable [●] / Disable [ ]
When enabled, distances displayed are measured from the front of the lens rather than the sensor. This is useful for macro photography.

Show RAW state

Enable [●] / Disable [ ]
Enables the display of the RAW indicator.

Show RAW shoot remain

Enable [●] / Disable [ ]
Calculates how many RAW captures will fit in the current free memory and displays that number next to the RAW indicator.

Warning threshold

[0 – 200]
Turns the RAW indicator red when the number of RAW shots remaining drops below the threshold value.

Controls the display of the battery indicators on the LCD

Set the maximum and minimum voltages to match fully charged and discharged battery reading.  The battery icon fill color will reduce as voltage lowers and will change to red color close to minimum voltage.

Show Battery Percent

Enable [●] / Disable [ ]
Displays text status of battery in units of 0-100%

Show Battery Voltage

Enable [●] / Disable [ ]
Displays text status of battery in units of volts

Show Battery Icon

Enable [●] / Disable [ ]
Displays a battery icon that changes color (or fill) with battery state.

Show Filespace Icon

Enable [●] / Disable [ ]
Displays a small SD card shaped icon on the screen to show how much filespace is left on the SD card. Opaque means remaining free space. Transparent means that space has been used. Use the OSD Layout Editor to position the icon anywhere on the screen.

Show Space Bar

[ Don’t, Horizon, Vertical ]
Displays a thin SD capacity remaining "fuel-gauge" icon on the screen. Location is positionable in the OSD Layout Editor.
  • Don't - Turn off this feature.
  • Horizon - Displays the bar-graph gauge in a horizontal orientation.
  • Vertical - Displays the bar-graph gauge in a vertical orientation.

Size on Screen

Changes the display size of the "Space Bar" SD-capacity gauge.
  • 1/4 - the bar-graph only goes 1/4th the width or height of the EVF/LCD display.
  • 1/2 - the bar-graph goes 1/2 the width or height of the EVF/LCD display.
  • 1 - the bar-graph goes the full width or height of the EVF/LCD display.


Change the width (for vertical space-bar) or height (for horizontal space-bar) in 1-pixel increments.

Show Filespace in Percent

Enable [●] / Disable [ ]
Display the SD card space left in percentage of its total capacity. (Toggles between this and the MB option.) OSD display element positionable in the OSD Layout Editor.

Show Filespace in MB

Enable [●] / Disable [ ]
Displays the SD-card space-remaining in Megabytes. Toggles between this and the percentage option. (see above).

Warning Unit

  • Don't - Don't display a warning when the free SD-card space is getting low.
  • Percent - Change the space remaining display to the warning color when the percentage reaches or goes below your selected "% Threshold" (see below).
  • MB - Change the space remaining display to the warning color when the Megabytes reaches or goes below your selected "MB Threshold (see below).

% Threshold

Setting used in conjunction with above "Warning Unit" feature. Set the amount of SD-card space percentage remaining when you want that OSD element to turn to your chosen warning color.

MB Threshold

Setting used in conjunction with the above "Warning Unit" feature. Set this to how many megabytes when the space remaining feature turns to your chosen warning color. Note:- may be used in conjunction with a handy script if you need to ration the amount of photos you take on a long vacation.

Show Clock

Displays an OSD real-time clock.

  • Don't - No clock display.
  • Normal - Displays HH:MM
  • Seconds - Displays HH:MM:SS

Clock Format

12-hour or 24-hour format toggle. When 12-hour format is used then the chosen 12-Hour Clock AM/PM indicators are enabled. Also influences the temperature format. 12h - Fahrenheit.

12h Clock Indicator

PM- Displays AM or PM suffix on the OSD Clock
P - Shorthand version of A or P for AM and PM on the OSD Clock (to save real-estate space). Ultra-shorthand version of AM or PM. Displays a simple "." after the time to indicate PM, no character is displayed for AM. Examples: 10:30 = 10:30 AM, 11:15. = 11:15 PM (note the small period after the 15).

@ Shutter Half-press Show

Shows the OSD clock during a half-press of the shutter button.....
  • Don't - No clock display on a half-press.
  • Full - Shows full clock time during half-press.
  • Seconds - Only counts off the seconds in the clock display during a half-press. Helpful when doing manual timings between consecutive shots without having to quickly call up some intervalometer script.
Show OSD in Review Mode[]

Displays the OSD when in REVIEW mode. Do not confuse this with Playback mode. Review mode is when the last taken photo is temporarily being displayed as you hold down the shutter-button (and press SET to lock it into Review Mode) or when you have the Canon's Menu "Review" options turned on. This allows you to keep the on-screen grid and other settings visible when reviewing the photo to see if you got the framing or other settings as you had intended.

OSD Layout Editor[]

ISO Layout Editor

The on-screen position of OSD items can be rearranged to suit personal preferences and to avoid the Canon items on the display.  All OSD items are available in the Layout Editor although they will not actually appear on the OSD unless they are enabled individually in the OSD Settings menu.

When a feature is selected you use the Set button to move between icon outlines and the rocker switch to move the selected icon around. A red highlight display at the top or bottom of the screen gives the name of the icon being moved and its screen position in X, Y format.   You can change the resolution of movment of the icons between course and fine using the DISP key.

  • FUNC.SET - switch between display features.
  • < ^ v > - 4 direction switch/rocker – moves the selected feature.
  • DISP. - toggles between 1 pixel per move or 10 pixels per move.

Color Settings[]


Change any of the display colors for all the text and icons. If you don't change them they will remain as their defaults. There are opaque colors and transparent colors, and also some "special effect" colors. Note that record mode and playback mode use different color tables. So it may happen that you pick a nice color in playback mode, and in record mode it will look totally different. But there are also colors which will stay the same in both modes. Some examples for A-series cameras > 0x11(white), 0xFF(black), 0x22(red), 0x55(green), 0x44 (transparent light grey).

Draw Palette

ColorPallet-Yellow brt

Shows the current color space in the current shooting mode. Use the cursor keys to scroll around to any color - the hex value of that color is displayed at the top of the display.

VisualSettings Menu-comb 2

Menu Settings[]

Menu Settings

CHDK offers the ability to define a customized menu of the things you use the most.  This menu can contain menu entries from other menus, the name of favorite scripts to load and even loadable code modules.  This custom menu is called the User Menu and it can be configured to appear as soon as you press the <ALT> key or as the first menu displayed when the MENU key is pressed.

See also > CHDK User Menu Wiki Page

User Menu Enable[]
[ Off, On, On Direct ]
Add frequently used menu items to make a custom, easy access menu.
  • Off - Disables use of the User Menu
  • On - Enables the User Menu when in <ALT> mode and pressing [HALF-PRESS] + MENU.
  • On Direct - When entering <ALT> mode the User Menu will be automatically displayed without having to press the MENU button. The main menu can be reached by scrolling to the top or using a HALF-PRESS + MENU shortcut keys.
User Menu as Root[]
Enable [●] / Disable [ ]
Toggles the behavior of the Menus when the User Menu is turned ON. When this option is set then the User Menu will be the first one to be seen, and the main menu may be reached by using the HALF-PRESS + MENU shortcut keys, or just selecting the top entry “Main Menu”.
User Menu Edit[]
Provides a full screen editor for the User Menu.  When selected it opens the current user menu.  Use the UP and DOWN keys to select a current menu item. Use the RIGHT and LEFT keys to change the position in the menu of the current menu item.  Press the Set./Disp button to bring up a pop-up box that will allow you at add or delete items from the User Menu.

Customizing hint / reminder:- Some CHDK features require 2 or more options that work together. An example, "Override Shutter Speed" might also need its associated "Value Factor" selection and the "Shutter Speed Enum Type" if you frequently change that too. Be sure to copy any related menu items together so they are still available where you need them in your custom menu.Customizing hint / reminder:- Some CHDK features require 2 or more options that work together. An example, "Override Shutter Speed" might also need its associated "Value Factor" selection and the "Shutter Speed Enum Type" if you frequently change that too. Be sure to copy any related menu items together so they are still available where you need them in your custom menu.
Center Menu[]
Enable [●] / Disable [ ]
Selecting this option causes each CHDK menu to automatically center vertically and horizontally in the display region.
Auto select 1st entry @ menu[]
Enable [●] / Disable [ ]
Quickly position the menu-selection cursor on the first entry in any CHDK menu. Instead of having to press  once to enter the menu options it will now start out already on the first menu option.
Show <ALT> Help Screen[]
Help screen
Enable [●] / Disable [ ]
Enables a pop user help menu.
Help Screen Delay[]
[0 - 10]
Sets the delay in seconds after the last key press before the user help menu appears.
Language & Fonts[]
Lets you choose another language if you have the appropriate .lng-file in the CHDK/LANG/ folder of the SD card.
OSD codepage
Choose the Codepage [ Win1250 - 1257 ]
(Win1250 – East European Latin , Win1251 – Cyrillic, Win1252 – West European Latin, Win1254 – Turkish , Win1257 – Baltic)
Menu RBF font
Choose another font RBF format for the CHDK menus. If you have chosen a RBF font but want to switch back to the original built-in font, just choose an "illegal" RBF font (Try to load a uBASIC script as a RBF font, for example).
Enable Symbols
Enable [●] / Disable [ ]
Enables the display of menu symbols
Symbol Font
Lets you choose the font used to display symbols on the menus.
Select textbox charmap
Changes the character set used to display menu text boxes.
Reset menu fonts
Reset to default fonts  (useful if you accidentally select a font that makes the menus unreadable).



This menu allows you to select and display a custom defined grid.

Show grid lines

Enable [●] / Disable [ ]
Enables the display of custom grids.

Load grid from file…

Displays the file selection screen. Use the directional controls to select a grid file and press Set to select it.

Override Grid Colors

Enable [●] / Disable [ ]
replace default colors from grid file with Line and Fill color selected below

Line Color

select the color for grid lines

Fill Color

select the color for grid background

See the Grids Tutorial  in the CHDK Wiki.

Remote Parameters[]

CHDK supports the use of an inexpensive shutter remote, allowing the camera to shoot when a remote switch is pressed.  This has many applications,  but is expecially useful with a tripod mounted camera to minimize vibration,  or for syncing two cameras to shoot at exactly the same time for stereo photography.

  • Enable Remote Enable [●] / Disable [ ]
Toggles the remote USB cable detection state, both scripted and scriptless. When this is enabled you can use the camera normally without any script and still use the USB-Remote cable to trigger the shutter. Have the camera in normal record mode and not in <ALT> mode. This is the same as if you pressed the shutter manually in all normal camera operations. 


Usage Tip: Detailed documentation on the use of USB Remote functionality can be found at this link : USB Remote V2

Enable Half-press Shortcut Keys[]

Enable [●] / Disable [ ]
Enables or disable the shortcut keys that are active in <ALT> mode when the shutter button is "half pressed".  These keys are handy if you are comfortable using them but tend to cause unexpected actions if you are not aware they are enabled.

Show Splash Screen on Load[]

Enable [●] / Disable [ ]
Enables or disables the CHDK splash screen that appears each time CHDK loads. 

Startup sound[]

Enable [●] / Disable [ ]
Enables or disables the startup sound when CHDK loads.

<ALT> Mode Button[]

Selects a different camera button to be used to activate <ALT> mode. This function is not available on every CHDK ported cameras.

Disable LCD Off[]

[Never , Alt, Script, Always]
Prevents the camera from turning off the camera's LCD when the camera is in the selected mode.

Reset Options to Default[]

Resets all CHDK option to the default values used when CHDK starts for the first time. This reset can also be accomplished by deleting the CCHDK2.CFG file from the CHDK folder on the SD card.

Miscellaneous Stuff[]


The Miscellaneous Stuff menu contains the various CHDK features and functions that don't really belong in any of the other menus. These functions are usually related to the mechanics of how the CHDK program loads and operates. Functions related to actually taking photographs can be found in the other CHDK menus.

File Browser[]

The file browser allows you to look at the files in the various CHDK folders. Use:

Function Toggle Sw 2
  • UP/DOWN key to highlight a file 
  • FUNC.SET to enter a folder or "launch" certain file types
  • > right arrow key to select file
  • < left arrow key to activate a pop up menu of file functions

Pressing FUNC.SET over certain type of files results in special action (only available when the file browser is started with the "File Browser" menu item):

  • Text files with .txt, .log and .csv extension
The file will open in the text file viewer.
  • CHDK module with .flt extension
The selected module will start (the module has to support standalone operation, a few examples: games, calendar, CPU info). Note that modules have to reside in the CHDK/MODULES folder in order to load.

The file pop-up menu functions can include  Cut, Copy, Delete, Select Inverse, Make dir, Remove Dir, Rename,  Purge RAW, RAW sum, RAW average, Purge RAW, Sub from marked, DNG -> CHDK RAW, RAW develop.  The actual options available are context sensitive - they change based on the currently selected item in the pop-up file browser windows.

  • Cut, Copy, Delete, Rename
standard file functions that act on the currently selected filename
  • Select Inverse
inverts the current file selection - useful to automatically select all files in a directory
  • Make Dir, Remove Dir
adds or removes directories to the SD card at the current position
  • Sub from marked
  • RAW develop
  • RAW Merge
When selecting (highlighting) files in the file browser mode, by using the RIGHT navigational button, you now have 2 functions available on the LEFT navigational button menu. If after using either of these features and you would like to see the resulting image without having to load them into a computer and using RAW viewing software, use the "RAW Develop" feature on the "RAW Parameters" menu to create a JPG file for playback in the camera. When using either of these options the resulting new RAW file will use whatever last filename was selected for merging as the prefix to the new RAW filename, and a WAV suffix will be added to it so you know which last-of-a-sequence files were used for merging. This also circumvents any confusion later when using utilities like DNG4PS with trying to merge corresponding JPG EXIF data with the original RAW data, where filenames could get drastically out of order by creating new JPG filename numbers.
  • RAW Sum
Using the selected RAW files, this will combine them into one file. Working on an additive principle. Meaning, if you take five 65-second exposures, then RAW Sum them together, the resulting image will be equivalent to the brightness level of a 5 minute, 25 second exposure.
  • RAW Average
This RAW Merge feature will, as it says, average all the frames together. Very convenient if taking several identical frames at high ISOs at high shutter speeds. This will merge them together, effectively obliterating any noise, as the noise gets averaged out. The more frames used, the less noise visible.
  • Purge RAW
Purge Raw
Purge RAW Yes
This function allows RAW files to be deleted in 3 different ways...
1). Delete all RAW files in DCIM folder including subfolders
Useful when: You keep a separate folder for RAW files. You set up the camera to create a new folder everyday (several days trek, holidays etc). You want to erase the occasional mischievous RAW file stored in a different folder. Go to CHDK File Browser, select DCIM folder, push the LEFT to display the popup menu and select "Purge RAW" (See image 1). A warning will ask you to confirm (See image 2) and voila! You have regained some SD space. This feature will search through all the folders in DCIM looking for a RAW file (CRW/CR2 prefix or file extension) and if it finds one then will look for its JPG partner anywhere inside DCIM (comparing the 4 digit number assigned by the camera). If it is not found, the RAW file is erased.
2.) Delete all RAW files in a selected folder
Useful when you keep RAW files in the same folder as JPG files, You only want to get rid of some RAW files. (Very important shots in some other folder). You know which folder has a lot of out-takes. Go to CHDK File Browser and inside DCIM folder select the folder you want (E.g. "102CANON") and push the LEFT button to display the popup menu. Select "Purge RAW". A warning will ask you to confirm and all the RAW files in ONLY that folder will be erased. This option works like the previous one but only on the selected Canon folder, the rest are untouched.
3.) Delete some or all RAW files in a list.
Useful when You want to protect specific RAW files (to use them later for HDR) Go to CHDK File Browser, enter DCIM folder, enter a sub folder (E.g. "102CANON") push the LEFT to display the popup menu. Select "Purge RAW" . A warning will ask you to confirm and all the RAW files will be gone. Now the useful thing of this option is that you can mark the RAW files you DON'T want to erase (protect files). The Purge RAW function will erase the rest of the RAW files ignoring the marked ones.


CHDK modules are loadable binary files similar to Windows DLLs. To conserve memory, many CHDK features are implemented in modules.

Module Inspector[]
Display and manage currently loaded modules.
Enable Logging[]
Records the module name, time and load address in A/modules.log. If CHDK crashes, the module log may help developers debug the problem.
Delete Module log[]
When enabled, the module log grows continuously over time. Use this option to reset it.


Calendar brt

Yes, a calendar!

Select Year - UP/DOWN
Select Month - LEFT/RIGHT
Use MENU button to exit.

Text file reader[]

This utility can be used to read a text file stored on the SD card. (Very convenient!, you can keep onboard instructions.)

  • Open new file…
Displays a file browser window, opened to the CHDK/ BOOKS directory. You can select a txt file to view. Press FUNC.SET to open the file.
  • Open last opened file
Will display the most recent text file that was viewed.
  • Select RBF font
Open the file browser in the CHDK/FONTS directory. Allows you to select a different font for displaying text.
  • Codepage [Win1251, DOS]
Select the text file format.
As with other menus, fonts and colours can be changed to suit all preferences.
  • Wrap by words Enable [●] / Disable [ ]
Enables word-wrap.
  • Enable autoscroll Enable [●] / Disable [ ]
When enabled the text file will scroll automatically.
  • Autoscroll delay (sec) [ 0 – 60 ]
Determines how long the system waits before scrolling the text file.
Use MENU button to exit.


Yes, games! Choose your favourite!

Arrow buttons - move
FUNC.SET- choose level (Moves counter should be 0).
Erase / +/- – restart current level
DISP. - show 'about' info
Zoom rocker - undo / redo moves
Use MENU button to exit.

Games comb

If colours are not displayed properly, try entering and exiting Canon menus before entering <ALT> mode.


The CDHK console displays script output and some other CHDK messages.

Show console in[]
Control whether the console always displayed, or only displayed in alt mode.
Hide N secs after last change[]
Control how quickly the console is hidden.
Display last console[]
Display the most recent contents of the console. This can be used to view the output of scripts which have completed.
Reset console[]
Reset the console size and position. The console layout may be set from script.


For cameras with fold out LCD. Turns the LCD panel into a flashlight! When in Record Mode and the LCD panel is swiveled facing forward, the LCD display turns all-white so you can see your way around in the dark, or to illuminate some close object while setting up to take a photograph.

Show Build Info[]

Displays the current version of CHDK in use, ie:- 0.9.9 - 910, date May 07 2010.

Show Memory info[]

Displays free RAM available, also CHDK size and load address.

Enable Lua Native Calls'[]

Enable [●] / Disable [ ]
Enables Lua programs to make native calls to Canon functions. This is sometimes necessary for advance script functionality but also involves some risk as making the wrong native call could seriously corrupt / damage your camera.

SD Card[]

Functions for making your SD card bootable and for managing dual partition cards (for cameras released prior to 2011)
Create card with two partitions[]
Reformats SD card with a small FAT16 primary partition and a larger FAT32 parition that takes up the rest of the SD card. Warning : using this function will delete everything on your SD card - including all your photos. Be sure to backup first!
Caution 3

This option creates a 2 MB FAT partition on the SD card, that's fixed on the code for now. Copy the CHDK firmware extensions to this partition and load them, (The DISKBOOT.BIN and PS.FI2 files). Then select "Make card bootable" in "Main Menu > Miscellaneous stuff", so it does not complain when you write-protect the card. Next step is to select "Swap partitions" in "Main Menu > Miscellaneous stuff", this will hide this small partition and make the larger FAT32 one visible. We need to format it, and copy CHDK files DISKBOOT.BIN and PS.FI2 to it too, so we can perform "swap partitions" again. So format it in FAT32, copy CHDK, insert it on the camera and load CHDK using "Firmware Update", Select "Swap partitions" and "Make card bootable", write-protect the SD card, (lock with slider on side of SD card) and power- cycle the camera. It should now load CHDK from the small 2 MB partition, but have access to the larger FAT32 partition to store pictures, video and the CHDK folders.
The size of the 1st partition is fixed to 2MB in the code (not changeable in the CHDK menu), but you can change it there and compile your own build, if you know how, using whim’s CHDK Shell
Normally the creation of a partition deletes all data on the card, the swap command should not delete any data, but you should test this first!
The partitions can also be created manually with a card reader on a computer, the 1st partition must be less than 4GB and formatted with FAT16.
Make card bootable...[]
Option to enable auto load of CHDK at startup if there is a DISKBOOT.BIN executable file in the root of the SD card. For cameras released prior to January 2011,  the memory card must have FAT12 or FAT16 format for the bootable partition.  For cameras released after January 2011,  memory cards can use FAT32 format on the bootable partition. Note that large cards formatted in camera will be FAT32 and so will not boot on cameras release prior to 2012. See [ Prepare your SD card ] for more information.
After selecting this option, turn the camera off, remove the SD card and write protect, or 'lock', the card. Reinstall the card and CHDK should automatically load.
Swap partitions[]
For cameras with multi partition support. To access each partition on a multi partition memory card, (necessary for computer OS's that will only show one partition at a time (i.e., Windows). You must swap partitions in order to see the DCIM folder on the computer. You then must switch back for CHDK to boot in the camera.



The Debug menu provides access to internal camera data related the functioning of CHDK,  primarily for advanced users and CHDK developers.

Debug data display[]
[None, Props, Params, Tasks]
Shows debug data on the OSD,.
(PropertyCase or PropCase) are basically variables in the camera's RAM that we can read and write from CHDK by using uBasic commands get_prop and set_prop. "Under the hood" some other uBasic commands work by changing propcases, making it possible to use them in a portable way. Some propcases are read only. Often writing to a propcase will have a different effect than pressing the corresponding buttons on the camera's user interface. Typically this means that while you may change something like the shutter speed and your change will be effective in your photo, it may not be updated to the camera's on-screen display. To find out which Property case a function changes...
Param are camera variable that are stored in NVRAM, which means that unlike PropCase values, they are remembered even if the camera is turned off.
These values are generally shown unsigned - that's because the propcase viewer doesn't know whether a value is supposed to be signed or unsigned, and treats everything as unsigned. "65152" is just the same value as "-384" when considered as an unsigned short rather than a signed short. Shows the task list, only on VxWorks cameras.
PropCase / ParamsData page[]
[ 0 -128 ]
Sets the base address for the currently diplayed page
Task list start[]
(VXWORKS cameras only)  First task to display If you set this to more than there are tasks running on the camera, it will show the last twelve, adjusting on the fly as tasks get created and then deleted.
Show Misc Values[]
Enable [●] / Disable [ ]
Displays various values for service and programming purposes.
Memory browser[]
Allows you to view memory location values.
Test write and read speed of the camera and SD cards. To compare memory cards. Since this function,  during the first pass, provides inaccurate values a 2nd run should always be carried out.  Only the values of this 2nd run are meaningful.
ALT +/- debug action[]
Action for the [+/-] key. On some cameras like the SD/IXUS series the DISP key is used instead).
Values are ;
  • [None]
  • [Dmp RAM] : a complete memory (RAM) dump will be written to the SD card (see below)
  • [Page] : the page shown in the propcase viewer can be changed (double-press changes the paging direction (up/down))
RAM Dump[]
Allows you to configure how a RAM dump selected by the ALT +/- debug [DmpRAM] action (above) will be written to the SD card.
Note : RAM dumps are written to the SD card in the DCIM/100CANON directory as  JPG files. Each dump is numbered sequentially from CRW_0001.JPG forward.  These are not actually JPG files - the use of this file naming convention is simply to allow the file(s) to be transferred to the PC via standard ptp based digital camera software.
Save ROM Crash Log[]
When the Canon firmware crashes, it usually stores a log of current state information at the time of the crash. This function lets you save that log as a file on your SD card. This can be very useful to CHDK developers when they try to debug the cause of the crash. Posting this log while reporting a bug/crash to the CHDK forum can be very helpful.

CHDK to PC Interface via PTP[]

All recent Canon P&S cameras support connection to a PC via a USB cable. When connected, this cable allows transferring images from your camera directly to your PC. The protocol used to implement this capability is called Picture Transfer Protocol


With CHDK, you can greatly increase the capability of the PTP interface. Several PC programs have been created to allow access to this expanded capability as documented on this wiki page : PTP_Extension.

The most advanced of these program is probably CHDKPTP. It supports both a command line and GUI interface, and provides advanced scripting capability on the PC side via Lua. Complete camera control, file browsing, and "live view" in real time of the camera's LCD are all supported.


A note on the CCHDK2.CFG configuration file. This file, amongst other things, saves the settings the user has made to the CHDK Overrides, OSD elements, etc. If this file is corrupted for whatever reason, it can cause some weird behavior from CHDK camera settings. So to test for this, find and rename the file so a new one will be created at the next start-up. If this eliminates the erratic behavior the old file can be deleted. Remember though, all your personal settings will be gone. It is advisable to keep a copy of a known good CCHDK2.CFG file from your camera version to use as a replacement for a corrupted one, and to add it to other SD cards for that camera, to have them ready with your preferred settings. The file is found at /CHDK/CCHDK2.CFG on the SD card.

Note that previous version of CHDK used configuration files called CCHDK.CFG and CCHDK1.CFG

OSD Map (Diagram)[]

OSD MAP Table2

Key Shortcuts[]

While in <ALT> mode the following buttons are reassigned:

  • A Series,SX130 [+/-] – Toggles RAW capture mode
  • G Series AF Frame Selector/Erase – Toggles RAW capture mode
  • S Series FUNC.SET – Toggles RAW capture mode
  • SD/IXUS Series DISP. – Toggles RAW capture mode
  • SX200 DISP. – Toggles RAW capture mode
  • SX10, 20 AF Frame Selector/Erase – Toggles RAW capture mode

Common to most cameras

MENU – Displays the main CHDK menu
FUNC.SET – Display the Script menu
DISP. Button - Return to previous menu
Full Shutter press – Executes the selected Script, or end the running script

The following functions are available any time CHDK is loaded.

Common to most cameras

Half Shutter + Left – Toggle Zebra on/off
Half Shutter + Right – Toggle OSD on/off
Half Shutter + Up – Toggle Histogram on/off (on recent versions Half Shutter + Down)
Half Shutter + Down - Toggle Overrides on/off (on recent versions Half Shutter + Up) [Half Shutter + LEFT or RIGHT on a few later models like the IXUS120 - owners of other later versions could verify please?]

More keys and shortcuts

In manual focus mode - (with <ALT>) -

Up – Set MF to infinity
Down – to set MF distance to hyperfocal distance (based on f/stop and zoom focal-length).
Left – Decrease Value Factor,
Right – Increase Value Factor.
On the SD/IXUS series the DISP. button is used to instantly set MF (manual focus) distance to infinity.
See > Enhanced Photo Operations  

In OSD layout editor –

DISP. – Change the number of pixels the OSD (on-screen display) elements are moved by.

In File Browser –

RIGHT – make selection,

LEFT – Open context menu.

Zoom-in / Zoom-out – Scroll-By-page in File Browser and File Reader modes.

Half-shoot – Scroll one page forward in File Reader mode.

Menu numerical units -

Zoom-in / Zoom-out - To enter numerical values in menus the zoom lever / switch is used to change the unit value, ie: 1, 10, 100. 

The unit value is indicated in the top LH corner of the OSD. When doing this, first select the menu item to be changed, then change the unit value with the zoom lever / switch, then change the selected menu item.

SX series – (And models with separate playback and record buttons) To turn the camera on directly into record mode, hold the On /Off button for ~ one second. When switched on, pressing the shutter button full or half will switch to record mode from playback mode.

Note 1. Cameras with a SHORTCUT button can be configured in Miscellaneous stuff to use either, – Shortcut, Flash, Timer, ISO, or Video buttons to enter <ALT> mode, the Shortcut button is the default, press the button with a short momentary press, and for the original Canon function, press and hold slightly longer.


CHDK might be one of the most innovative improvements to any camera that has ever come along since the beginning of photography. Started out by some people who only wanted RAW out of their raw-crippled cameras, it has now grown into an adaptable, flexible, and full-featured operating system.

We are all extremely grateful for the work that everyone has put into this arena of discovery, implementation, coding, sharing, camera testing, (especially with the unknown, and possibly high risk), and those that provide all the information on the Wiki pages (and elsewhere in the world). Those who have contributed to this great stride in the world of photography deserve a huge vote of thanks.

Many thanks go to the original developers - vitalyb, and GrAnd, owenjm, Harvester, jeff666, [mr.anon], MX3, Fingalo, ewavr, Allbest, CHDKLover, BarneyFife, also to Jucifer and PhyrePhoX, and cosmograph for the excellent CHDK logo.

Other early contributors included acseven (for the forum), achurch, acid2000, ADamb, ArtDen, atalwar, Atnas, auj, awdark, barberofcivil, Basq, Bg~, bondo, bperrybap, brabl2, brake, cail, chdkj, chr, cormac, cppasm, cyril42e, danielmewes, Darkness, DataGhost, DavidB, diablo, Divalent, ehmu, elecktro255, ERR99, fantomas4o, fboesch, fbonomi, fe50, fishpepper, f_m_b, fudgey, gajownik, Graystar, Grin, Hacki, HarpoMa, hiker_jon, h-v-n, iax, ihar, image13, Intrnst, Keoeeit, KevB, m2tk, ma_jk, MartinBudden, mattkime, Microfunguy, mkmenuts, mproko, mrblack51, mrowl, MrSpoon, msl, mweerden, nandoide, neszt, nimrod, nirschi, Novex, oldgit, pedropaislopes, peregrine, pev69, philmoz, pixeldoc2000, PlasmaHH, quietschi, RaduP, revivery, reyalp, Rorschach, rudi, sharky, shenty, Smartkiller, snc, stevetm2, stift, syahmixp, Thorwak, tillo, toinech, TPC, tr1stan, ultimA, uvvv, Velo, viulian, vit40, whim, whoever, wontolla, xiaofeng, Yarvieh, Yossar, zeno, zfeet,
and for the documentation of Canon Basic - Oren Isacson and Alfredo Ortega

More recently, the bulk of core CHDK development and support has been contributed by the hard work of acseven, fe50, hacki, rudi, lapser, msl, nafraf, philmoz, reylap, srsa_4c, tsvstar, whim, & zeno : supported by generous contributions by many others.

And to all rest of the camera porters, firmware dumpers, testers, forum posters, wiki contributors & editors, bug reporters and general fans - many thanks for your big part in keeping this project going.

GPL license information[]

This file is part of CHDK. Copyright © 2007 -2013 The CHDK Team

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA, 02110-1301 USA


Registered in the U.S. and other countries.
  • Canon is a registered ® ™ Trademark of Canon Inc.
  • PowerShot is a registered ® ™ Trademark of Canon Inc.
  • Apple, Mac, Macintosh, and Mac logo are registered ® ™ Trademarks of Apple Computer Inc.
  • Photoshop is a registered ® ™ Trademark of Adobe Systems Incorporated,
  • Windows is a registered ® ™ Trademark of Microsoft Corp.