This user manual documents the obsolete 1.1.0 version of CHDK. The manual for the current version of CHDK can be found here : CHDK User Manual

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

CHDK User Manual
CHDKLOGOFULLLogo by cosmograph.



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 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. See Talk:UBASIC/Scripts#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 thousands, if not tens of thousands of satisfied users all around the world enjoying the benefits of CHDK.

See also GPL license information below.

Introduction To Using CHDK[]

What is CHDK? (Canon Hack Development Kit)

CHDK is a unique software application developed by enthusiasts that enables extra features for ported Canon™ Powershot™ 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.

The 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.
Check out the Camera Features and Downloads pages for information on finding the right build for your needs. Go to > Downloads

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 the Wiki Downloads page to find the correct CHDK version. There you will find directions for locating and installing the software.

Helpful software for download:

After selecting and downloading the ZIP file for your particular camera, extract the contents using WinZip, UltimateZip, or similar unzipping software. Usually just double-click the zip file, (or right click for options). Windows users will usually use CardTricks to do the installation, and Apple Macintosh users are advised to visit the Mac FAQ page, Here: Mac FAQ, some help for Linux users here: Bootable_SD_ card#Linux:

Helpful software for installation:

  • CardTricks, a card preparation utility for Windows OS that also contains some other utility features
  • (for the application named sdminst.exe, to install CHDK on Windows OS, for the application named sdminst to install CHDK on Mac OS X, and for CCHDK.CFG to edit the CCHDK>CFG file)

Helpful article:

Using CHDK[]

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.

There are two methods of loading CHDK: The Firmware Update method and the Bootable SD card method. Full descriptions of these are include in 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 modify your 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. (Pic 1)
  4. Confirm the update, (OK-press FUNC.SET (Pic 2)

FirmUpdate-adj ConfirmUpdate 2

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

  1. 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.
  2. 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.
  3. The files were not correctly installed on the card. If you installed from a Mac, be sure to check FAQ/Mac#Still Having Trouble?

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 card is locked. To disable CHDK temporarily, you can just unlock the card.

Has CHDK been loaded?

When CHDK starts, you will see the splash screen on the LCD…


The CHDK splash screen will appear for approximately 2 seconds, while the Print button blue led flashes, showing CHDK is loading to the camera’s memory. (The splash screen can be disabled in Main Menu > Miscellaneous stuff).

It’s running! What's next?

Read these pages, and for offline viewing, and a printable manual go to > (updated 2010, 2011)

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 disabled by default. To make changes to how CHDK operates, you start by entering <ALT> mode.

<ALT> Mode[]

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

There are different ways to enter <ALT> mode, depending on the style of camera.

Key Shortcuts[]

For <ALT> mode, try one of these key combinations :-

  • A Series – Press the PRINT or PLAY button (A momentary short press) - See note below.
  • G Series – Press the PRINT or SHORTCUT button (See note 1 below)
  • S Series – Press the SHORTCUT button (See note 1 below)
  • SD/IXUS Series – Press the DISP. or PRINT button
  • SX10, 20, 30, SX40 HS, SX110 – Press the PRINT button
  • SX120, 130 – Press the FACE button
  • SX200 – Press the PRINT button
  • SX230 HS – Press the PLAY button.

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 its not, please feel free to update the information on that page.

Also, 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 > Extra Photo Operations

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

In File BrowserRIGHT – 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.

When you enter <ALT> mode, the indicator --ALT-- will appear at the bottom middle of the 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 last point should be emphasized by itself: you must exit <ALT> mode to take photos normally !

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

OSD Map (Diagram)[]

OSD MAP Table2

Main Menu[]

Note : pictures of CHDK menus shown here are from CHDK version 1.1.0. More recent versions of CHDK may have menus and features that are slightly different from what is presented here.

MainMenu Ex.Ph.Op

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. 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.

Info -ToggleSw

Extra Photo Operations[]


Disable Overrides[]

Disable Overrides allows the use of a Half-Press + cursor button press to quickly toggle any override settings ON or OFF. See Key Shortcuts for override key sequences. The status of your overrides will appear where the normal override settings are displayed in the OSD in your chosen warning color - see Visual Settings.

Off - Turns off the "Disable Overrides" shortcut option.
On - Starts out with any override settings DISABLED. In display you will see "NO OVERRIDES"
Disable - Starts out with any override settings ENABLED.

The "ON" and "Disabled" options allow you to use this feature in your User Menu as a quick override toggle instead of using any shortcut key. Some cameras may not have the shortcut feature available.

  • Include AutoISO & Bracketing......Enable [●] / Disable [ ]

Includes AutoISO and Bracketing settings in the "Disable Override" settings. If not enabled then the AutoISO and Bracketing settings will not be turned on or off by the "Disable Override" shortcut button.

Note : both the name of this menu entry and the values it takes are perhaps unfortunate. It could have been called Overrides instead of Disable Overrides (it is always better to have positive names, commands and questions) and it would thus have been given the values Enable and Disable.  

Regardless, setting Disable Overrides to On disables all overrides. The words NO OVERRIDES are displayed, so the user can ignore the override settings in menu item Extra Photo Operations.

Setting Disable Overrides to Disable enables all overrides. This is a case of two negatives cancelling each other out (as if ``disable overrides is itself disabled).

Setting Disable Overrides to Off turns on a key shortcut that makes it possible for the user to easily toggle the enabling and disabling of overrides by pressing a certain key combination. In this manual, this key shortcut is described as halfpress+cursor. On the SD800, this key shortcut is halfpress + UP,  while on the SX210 it is halfpress + LEFT. On some cameras the shortcut feature is not available.

Override shutter speed[]

[0 – 100]

TV in the OSD. This feature allows you to override the camera’s shutter speed in all auto and manual modes with the speed you select. This feature allows shutter speeds as long as 64 seconds, (or longer if the camera has CHDK Extra Long Exposure support) and as short as 1/100,000th of a second, in 1/3rd EV steps. This setting is affected by the “Value factor” and the “Shutter speed enum type” settings below. Please note that the actual speeds available are dependent on the camera used and other conditions such as the aperture setting.

Value factor [Off, 1/100k – 100] or [Off , 1,10,100] Enables the Override shutter speed and sets the Value factor, the use of which is described below.

Shutterspeed enum type [Ev Step , Factor]
Select the method of determining the override shutter speed.

Ev Step – The method most of us will use. Enables the first set of options above. The Override shutter speed is shown in seconds. Select the desired shutter speed and set the Value factor to 1 to enable the override function.
Factor – This method will enable the second set of options above. The shutter speed is determined by multiplying the selected value factor with the selected shutter speed. This method is useful in analytical and research photography.

ND filter state[]

(For cameras with a ND Filter)

When the camera detects a really bright scene, it will swing the ND filter inline with the lens and sensor. This makes the scene look darker and will affect the exposure (but not depth of field like a real aperture / iris would). With the ND filter in, the camera can select a slower shutter speed without over-exposing the entire scene. Also, with the ND filter swung in, the camera will capture an image with an aperture of f/8 - This is an artificial aperture value caused by the ND filter swung in. With CHDK, you can choose to keep the ND filter out, and just select a faster shutter speed to compensate.
To do this, use - Main Menu > Extra Photo Operations > ND filter state. Select one of the options from - [ Off / In / Out]

  • 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.

Override Aperture[]

[Off , 2.77 – 16.00]

For cameras with an actual aperture / iris. mechanism (IXUS / SD models have ND filter). AV in the OVERRIDES on the OSD. This feature allows you to override the camera’s aperture settings. Simply select the desired aperture setting and the camera will use that setting in all auto and manual modes. Please note that the actual aperture values available depend on the camera zoom settings/position.

Override Subject Distance[]

Override Subj. Dist. Valu

  • Range of values for most cameras: [0 – 65535] where [65535] set the distance to infinity
  • Some new cameras use [0 – 4'294'967'294 / -1 (inifinity)]: G12, SX30, SX40, IXUS310_ELPH500 ([1])

“SD“ is shown in the OVERRIDES on the OSD. This feature allows you to specify, to the millimeter, the manual focus distance. To focus the camera at the override distance you must half-press the shutter.

Value factor (mm) [Off, 1, 10, 100, 1000]
“FACTOR“ is shown in the OVERRIDES on the OSD. The Value factor is used to enable the “Override Subj. Dist Value” (OSDV), and also to quickly set the focus distance. When updating the “Override Subj. Dist. Value” with the LEFT / RIGHT buttons, the value will be changed by the amount set in the “Value factor.” So “1” changes the OSDV by 1mm, “10” changes by 10mm, and so forth. In this way the OSDV can be updated faster than trying to change the override from 1 to 450mm by pressing the rocker 449 times.

For cameras without Manual Focus, (SD/IXUS series, and some A series) SD Overrides can be used to manage focusing, either by entering values in a menu, or by using shortcut keys. In <ALT> mode, go to Main Menu > Extra Photo Operations > Override Subj. Dist. Value, > Value Factor - enter a choice of unit value, either 1, 10, 100, or 1000, this will change the Subj. Dist. Value by the unit value you entered, ie: if the Value factor is 10, and the Subj. Dist. is 10 then the focus will be 10 x 10 = 100mm from the lens.

These Manual Focus adjustments can also be achieved with 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.
The subject distance values are displayed as part of OVERRIDES on the OSD. Remember to exit <ALT> mode to shoot pictures with these adjustments applied. Also remember to uncheck "Clear overrides @ start" setting if you want to continue with the current settings after a restart.

Override ISO value[]

[0 – {ISO max for camera}

ISO in the OVERRIDES on the OSD. 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.

Value factor...[Off, 1, 10, 100]
The factor is used to enable the ISO override, and to set a multiplier against the “Override ISO value” set above. So if you want to use an ISO of 1200, you would set the “Override ISO value” to 12, and the “Value factor” to 100. This arrangement facilitates setting the custom ISO quickly.


  • The values entered in the ISO override are not exactly equivalent to the values in the Canon UI and exif. Canon uses different values for calculation ("real" ISO) and display ("market" ISO). The CHDK override works on "real" values. The "real" value is lower than the displayed value, so an override to 50 will result in a "market" value of around 80. The exact relationship isn't well specified.
  • 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. See also Custom Auto ISO below.

See > OSD Parameters for Show State Displays of overrides in the OSD.

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.

The bracketing features are enabled when the camera drive mode is set to continuous, and custom timer with some models


Usage Tip: If you wish to fire off 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.
BracketInContMode TvBrackVal--1-3EV--brt
  • 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.
  • Subj. Dist. Bracket Value...[0 – 100]
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. This value is multiplied by the Value factor below to arrive at the final value.
  • Value factor (mm)...[Off, 1, 10, 100, 1000]
Used as a multiplier for Distance bracketing value.
  • ISO bracketing value...[0 – 100]
Set this value to bracket via ISO. This value is multiplied by the Value factor below to arrive at the final ISO value that will be used for bracketing. A value of 2, with a Value factor of 10, will increase or decrease the ISO by 20 for following exposures.
  • Value factor...[Off, 1, 10, 100]
Used as a multiplier for the ISO bracketing value.
  • 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.
  • Clear Bracket Values on Start Enable [●] / Disable [ ]
Enable this option to turn off bracketing when the camera is turned off.
  • Add raw-suffix Enable [●] / Disable [ ]
In bracketing mode you now have the option to add a suffix to the raw filename, so that later you can easily identify the RAWs that were created during bracketing, it is disabled at default.

Custom Auto ISO[]

This feature has 2 purposes: Allow the user to define the exact ranges of ISO used in AutoISO and Auto-HI. As an example; Expand the AutoISO range from 80-200 to 50-400. Give additional information to the camera to allow it to select the optimal shutter speed (to avoid blur or get the right artistic exposure) and ISO instead of some sub-optimal default...

As an example: Use a faster shutter and higher ISO when shooting sports, but go for a slower shutter and minimal ISO when shooting still landscapes) Method: The camera will try to maintain lowest ISO as long as shutter speed is no-slower than user defined (more below). Custom AutoISO will kick-in whenever ISO HI/AutoISO is chosen. This allows a quick manual override by choosing a specific ISO value.
Example: Camera set ISO 100 at 1/8s. AutoISO configured to ISO50-400 at 1/15s: AutoISO will shift to ISO200 to maintain 1/15s shutter speed. This feature is available in all modes except for Shutter priority (Tv). It is also disabled in 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.

CustomAutoISO Enable
  • Minimal Shutter Speed [Auto, 1/8 - 1/1000s]
Here you have basically two options
  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.
  2. 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 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) 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.

  • Max ISO HI (x10) Sets the maximum “HI” ISO that the camera can select.
  • Max ISO Auto (x10) Sets the maximum “Auto” ISO that the camera can select.
  • Min ISO (x10) Sets the minimum “Auto” ISO that the camera can select.

Clear override values@start[]

Enable [●] / Disable [ ]

Extra Photo Operations overrides will be cleared for the next time the camera is started.

Enable Fast EV Switch?[]

Enable [●] / Disable [ ]

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

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. 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. 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.

❶ Enabled when Fast EV Switch is enabled.
❷ Use OSD parameters > OSD Layout Editor to move display.
  • Step Size (1EV)? [1/6 Ev, 1/3 Ev, 1/2 Ev, 2/3 Ev, 5/6 Ev, 1Ev, and on - ]
When using the Fast EV shortcut feature you can adjust how much you want to change the EV compensation with each UP or DOWN keypress. Step size is increments. A major improvement over the adjustment levels and steps in the original firmware.

Quality override[]

[ Superfine, Fine, Normal, off ]

For recent camera versions without Canon Superfine setting (SX200, SX20, etc) Canon setting is used when “off” is selected, settings are saved in CCHDK.CFG

Force manual flash[]

Enable [●] / Disable [ ]
For optional control over camera flash output, use with Power of flash [ 0, 1, 2 ] to give 3 separate steps up in flash output power.
  • Power of flash [ 0, 1, 2 ]
Used with Force manual flash to adjust flash output. 0 = Low, 1 = Medium, 2 = Very High (use 2 with caution, it is very high power)
Note:- 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

Video Parameters[]


Video Mode[]

[ Bitrate or Quality ]
Video compression modes.
Note: Bitrate control is not available on all a cameras. If not available, the options will be Quality and Default.

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: 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 (minor), will lose little in quality but will reduce file size.

Excessive Bitrate and Quality settings can cause memory buffer overload, and stop recording, a red ! will show on the OSD. Also - Low quality, 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).

  • 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 Parameters[]

Save Raw[]

Enable [●] / Disable [ ]

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

Note: By not allowing a camera to auto-focus, ie: pressing the shutter all the way too fast, the camera might not save a RAW image.


  • 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.

Dark Frame Subtraction[]

Controls the application of the Dark Frame Subtraction feature of your Camera onto the RAW file. Dark Frame Subtraction is a function used to reduce the effects of sensor noise when the exposure time is 1.3 seconds or longer.
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.

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, not Canon native raws or CHDK DNG. DNG may be converted to CHDK 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.

Raw Develop is another feature from CHDK developer ewavr.

See also > File browser for RAW Merge.

Bad pixel removal[]

[ Off, Average, RAWconv ]

Use this option to remove defective pixels directly while taking an image; this affects also the JPG image, not only the RAW image. This function removes bad pixels ("hot" / "defective" pixels) which are not known by the Canon firmware, i.e. pixels that became defective during the camera lifetime.

Once you have generated a list with all the "bad" pixels for your camera, CHDK can remove them automatically with the [Average] or [RAWConv] option selected, CHDK looks for the file badpixel in the /CHDK folder; this is a plain text file with x/y coordinates of the bad pixels in the raw image.

  • with the [Average] setting CHDK calculates the color for the bad pixel based on its four neighbour pixels with a simple average calculation; bad neighbour pixels will be ignored in this calculation.
  • the [RawConv] setting means: let an external raw converter software 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.

To create this badpixel file you need to capture a "dark frame" by shooting an image with the lens completely capped. For shutter speeds longer than 1 to 10 seconds, it's wise to keep a collection of dark-frames 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.

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

The menu options [Off, Average, RAWconv] in Main Menu > Raw parameters > Bad pixel removal -

[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'

DNG format[]

Enable [●] / Disable [ ]

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.
See also: DNG visible via USB.

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.

Create badpixel.bin[]

From build 0.9.9 - 1039 a menu entry 'Create badpixel.bin' is included in the Main Menu >RAW parameters menu, available if the camera has DNG support. This is a scriptless operation to create the file 'badpixel.bin', (necessary to enable DNG), and overwrite any existing '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.

Note:- BADPIXEL.LUA script…
Prior to build 1039 a script was used to create badpixel.bin. This script is now obsolete, and support for it has been removed.

Info -RAW

Edge Overlay[]

Enable [●] / Disable [ ]

Creates and overlays a high-contrast outline of the edges in a scene. 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.

(See: Edge overlay notes - below, for further description and instructions).

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.

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.

Edge overlay notes:[]

For description of builds prior to 0.9.9 r928, (original code introduced by hiker_jon ) see older versions of 'Firmware Usage'.

During the later part of 2010, developer ultimA gave the Edge overlay a major overhaul, (with input from forum member f_m_b), adopted in changeset 0.9.9 r928, Some of the changes are visible to the user, such as some new menu entries and a new order of the entries. Other important changes are less visible, such as rewriting of the code and its effect on the use of the Edge overlay, mainly the changes to memory use, and the “Sobel” edge detecting method. Cameras with low memory reserves can now use Edge overlay without the crashes experienced before the changes.

From ultimA's notes, 22 /August /2010 (edited) –
'The functionality of 'Lock Edge overlay' has changed, and has been renamed - 'Panorama mode'. Previously its greatest use was to enable loading a saved overlay to your camera. But the loading code has been changed so that locking the overlay before loading a stored one is not necessary anymore. 'Panorama mode' now means 'Stay in Frozen mode while locked, while capturing new overlays on a full shutter press'. This means that while the lock is on and the overlay is 'Frozen', normal behavior is not restored if taking a new picture. The camera will instead update the edge overlay and stay in Frozen mode. This allows easily taking large panorama pictures, a feature that was missing previously!

Also, there is a new menu item, 'Filter edges', to optionally enable pre-filtering on the viewport data instead of postfiltering the Edge overlay results as previously. This results in a much nicer image, as you will see, This filtering option produces less false-edges and makes the edge detection usable in even very noisy environments. 'Filter edges' is used as an option (can be enabled or disabled) to avoid the extra overhead required, which on some cameras might slow Edge overlay operation. If you are in Frozen mode, when the overlay is displayed (for example during half-press) the message 'Frozen' is on the screen. If this text is displayed, it is in Frozen mode, and you are able to save the overlay. In Frozen mode the edge overlay does not get updated during half-press, it is only being displayed. You have to be in Frozen mode to save. Just take a shot and the overlay will be in memory after that - even when not displayed on the screen, as long as you are in Frozen mode, then you can save the image, this is a small behavioral change, it seems more logical and more consistent'

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 would be 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.

When using new Edge overlay for the first time, start with a fresh CCHDK.CFG configuration file, just go to the old one and delete it. There are new configs. with the new Edge overlay which might cause some conflicts. Disable Edge overlay when using the Canon Panorama Stitch Assist mode.

Custom Curves[]

CustomCurves Enable

(Cameras with 12 bit sensors are not yet supported - May '11).

Enables the use of custom "curve" profiles to adjust the exposure of the RAW and JPG images. Difference between CV and CVF curves: CV curves are the standard RGB curves. CVF curves are special versions of the curves which intends to avoid color shift side effect of the RGB curves. They are an approximation of the luminance curves. Except the SYSCURVES.CVF file it is recommended to put the curves files in the \curves directory.
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 the /CHDK folder, this file is included in the "complete" CHDK packages. It is also contained in a file at;topic=932.0;attach=1816 which also contains the editor. Due to the limitation to short 8.3 file names in the file browser of current DryOS-based cameras the file "SYSCURVES.CVF" should be placed on the memory card by a card reader; in the CHDK file browser the file name is shown in shortened format as "SYSCUR~1.CVF".

  • +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 - and not for post processing (the feature is just 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 this folder.

Histogram parameters[]

MainMenu HistgmParams

Enables and customizes the 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 parameters[]

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.

OSD Parameters[]

OSD LayoutEd

Show OSD[]

Enable [●] / Disable [ ]

The CHDK On Screen Display.

Hide OSD? [ Don’t, In Play, On Display, both ]

  • Don't - always shows the OSD icons/elements
  • In Play - hides them in playback
  • 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.

Center Menu Enable [●] / Disable [ ]

A cosmetic adjustment to the CHDK Menu screens to place them evenly on the screen.

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 DOWN once to enter the menu options it will now start out already on the first menu option.

Enable Symbols[]

Enable [●] / Disable [ ]
To display Menu Symbols

Without Symbols


With Symbols

User Menu[]

Add frequently used menu items to make a custom, easy access menu.

User Menu Enable

[ Off, On, On Direct, Edit ]
  • 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.

  • Edit - Enters the editing mode for the User Menu.

To copy other menu items to build the User Menu (up to 10 entries). While in OSD parameters, select User Menu Enable [ Edit], and browse to any menu and select the item you want to add to the User Menu, then press the ERASE button (or HALF SHOOT on cameras that do not have an erase button). The item has now been added to the User Menu. Each new item is added as the last on the menu.

To change the order of an entry, select it, then use the zoom lever to rearrange it.

To delete an item, in Edit mode, select the item on the user menu and press the ERASE button (or HALF SHOOT on cameras that do not have an erase button).

When editing is complete remember to set the User Menu Enable option back from "Edit" to either "On" or "On Direct". 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.

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”.

Show State Displays Enable [●] / Disable [ ]

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

Show Temperature

  • 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.
  • in Fahrenheit - Enable [●] / Disable [ ]
Default is Celsius, check this for Fahrenheit.
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.

OSD layout editor[]

The OSD items can be rearranged to suit personal preferences and to avoid the Canon items on the display.

OSD LayoutEd-comb

When a feature is selected you can use the rocker switch to move it around. A red highlight displays giving the name of the feature being moved and its position in X, Y format. FUNC.SET - Switch between display features. 4-Direction switch/rocker – moves the selected feature. DISP. – Toggles between 1 pixel per move or 10 pixels per move.


Opens the Grid Lines menu. This menu allows you to select and display a custom defined grid.

See the 'Grid Tutorial' in the CHDK Wiki.

Rulers 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.

…………...Current grid.…………….
The name of the currently loaded grid.

Override grid colors Enable [●] / Disable [ ]
This setting will override the grid colors defined in the grid file. It will not override the grid colors of the grid selected from the Canon menu.

  • Line color - Select a color for the grid lines fill color, press the FUNC.SET key to bring up the color selection table, press the FUNC.SET key to select a color.

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
  • Show Zoom value as [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[]

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 (cd/m2) 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.

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 will 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 [ ]

RAW in OSD. 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.


Hooray for the battery indicator!!

Controls the display of the battery indicators on the LCD

Battery Settings

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


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.

See this: script.



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.

Visual Settings[]


Use this menu to make changes to the appearance of all CHDK menus, texts, backgrounds, etc., choose font types, sizes, colors, etc.


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).



ColorPallet-Yellow brt

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).

VisualSettings Menu-comb 2

Scripting Parameters[]


Load Script from File...[]

Enter <ALT> mode, press FUNC.SET to go to the SCRIPTS Folder, select a script, press FUNC.SET again to load it, set any required parameters to suit your needs - see the script’s documentation, then press MENU to finish. Stay in <ALT> mode, press the Shutter button to 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. The Default Script is the one you load when you don't need a script. New scripts can be added to the SCRIPTS folder as they become available. Load interval.bas to set the camera for interval Shooting Mode. Default is 15 seconds.

Note: Whenever a script is loaded there is extra demand for memory, using the default script when no other is needed may help camera performance when using CHDK

Refer to: Memory Usage

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. Mainly used to minimize camera movement before a script starts, and to allow camera to 'finish other tasks'

Script Autostart [Off, On, Once]

When enabled, the script listed under “current script” will execute immediately the camera is turned on, remember this when you see your camera operating by itself after it is turned on.

Remote Parameters[]

  • 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. Note on scriptless usage > To auto-focus and set exposure metering, a short press of the USB remote trigger will execute a shutter half-press, then a second press will do a full shutter-press. In other words... if USB remote is enabled, pressing / releasing the remote button is equivalent to pressing / releasing the shutter halfway, to complete the shot, momentarily release and press the remote button again within 0.5s, which will "press" the shutter all the way. This might require a bit of practice to reliably shoot each time.
If you want to trigger a full shutter-press immediately, just hold down the USB-Remote button a little longer.

Note:- On some cameras the scriptless USB Remote trigger may be used to advance (in reverse order) from frame to frame in Playback mode. Now when giving a slide-show lecture you can stand away from the camera and just click the photo change button.
Note also: When downloading images to computer with USB it will be necessary to uncheck 'Enable remote' in Scripting Parameters – Enable [ ]

...................................synchable remote........................................

  • Enable Synchable Remote Enable [●] / Disable [ ]
Enables synchable scriptless remote code originally used in Stereo Data Maker.
  • Enable Synch Enable [●] / Disable [ ]
Used to synchronize 2 or more cameras when all hooked to the same USB-Remote signal.
  • Enable Synch Delay Enable [●] / Disable [ ]
Allows you to fine-tune the USB-Remote triggering speed to match that of other cameras when using more than 1 camera. (For stereo imagery, multi-frame stop-action matrix effects, etc.) Rate of delay is adjusted with the settings below.
  • Sync Delay 1ms
USB-Remote Sync delay in 1ms increments (1/1000th of a second).
  • Sync Delay 0.1s
USB-Remote Sync delay in 0.1s increments (1/10th of a second).
  • Enable Remote Zoom Enable [●] / Disable [ ]
To enable the zoom by remote control function.
  • Zoom Time-out 0.1s [ 2 - 10 ]
Set a value for time-out, 0.1s x 2 up to 10.

Load Default Param Values

CHDK normally saves the last user-selected script parameters from one session to the next. Press FUNC.SET when the menu cursor is on this option resets them to the default parameters as programmed into the script when first ran. A simple way to go back to a script's defaults after you've gotten hopelessly lost in many changes or just need a quick way to return to base settings.

Parameters Set

Allows for the selection of 0 to 9 (ten) optional parameter sets for each script. If you select a new Parameter Set and then change your user-setting script parameters, CHDK will now remember your settings for each set. (The script parameter sets are saved in a CHDK/DATA/ directory named by the script in use at the time.) Now you can have up to 10 favorite settings for any one script. The next time you load the same script your favorite defaults can be called-up by just selecting numbers 0 to 9.

Save params[]

Enable [●] / Disable [ ]

Save current parameter settings.

......................................Default Script..........................................
The name of the currently loaded script is displayed in the Mini Console area at the bottom of the LCD on the left hand side.

The Mini Console area is where script information is displayed, messages included by diligent script authors to keep users informed of the progression of a script, and to direct input from the user for setting script parameters. Messages are defined by the “print” command in scripts.

  • Times to Repeat [ 5 ]
Set a number for times for script to repeat.
  • Display Delay [ 3]
In seconds

Miscellaneous stuff[]

MainMenu MiscStuff

File browser[]

Function Toggle Sw 2

Use multifunction sw to navigate.

Browse files in the various CHDK folders. Use UP/DOWN key to highlight, FUNC.SET to select a folder, RIGHT key to select file, LEFT key for pop up menu for Cut, Copy, Delete, Select Inverse, RAW sum, RAW average, Purge RAW, Sub from marked, DNG -> CHDK RAW.

  • 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

With this function the RAW files can be deleted in 3 different ways...

The 3 options for the Purge RAW function and erase the corresponding RAW files:-
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.

Purge Raw

Images <01 and 02>

Purge RAW Yes

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.
See >,557.msg4454.html#


Yes, a calendar!

Calendar brt

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.
TextFileRead-Change Font etc

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.


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 splash screen on load Enable [●] / Disable [ ]

Mostly personal preference, shows build info, also indicates CHDK is loading. Camera startup will be slightly faster if splash screen is disabled.

Startup sound Enable [●] / Disable [ ]
Might be handy to know if someone else is using your camera.

Use zoom buttons for MF Enable [●] / Disable [ ]
For a more precise adjustment of manual focus.

<ALT> mode button []

Cameras with a shortcut button can assign from a number of buttons to use as the <ALT> button, choose from PRINT, SHORTCUT, FLASH, TIMER, ISO, or VIDEO buttons, the PRINT button is the default.
Cameras that use the PRINT button as the default, but can assign another button as an alternative for use in waterproof enclosures etc > DISP. for A570, A590, A720, FACE for SX100, ISO button for A650. FE for G9

Disable LCD Off[]

[ Alt, Script, Always, Never ]

Alt: LCD remains on in <ALT> mode, Script:: LCD on during script execution, Always: LCD always on, Never: LCD off disabled, behaves as set in Canon Power Save mode, For long intervals you should disable the Power Saving options of the camera.

Draw palette[]


chdk Draw Palette - 1.1.0-2511

Allows inspection of Palette colours and transparencies by (almost) full screen. Use the numbers of the desired colours to select them in Visual Settings menu. Use arrows to navigate palette, press FUNC.SET to select a color, press MENU to exit.

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.

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, (in computer OS's that only read one partition) Press FUNC.SET to change to the currently inactive partition.

Reset options to default…[]

Reset all functions and displays back to CHDK default values. Note:- By this operation you will lose all your personal settings.

Debug Parameters[]

In this menu internal data on the functioning of CHDK is available.

  • Debug data display

Shows debug data on the OSD, values are > [None, Props, Params, Tasks]

  • Show PropertyCase variables...

The 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 ] Search pages, each page shows 10 values

  • Property cases (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...

See >,

Caution 2

  • Task list start

Where to display from. 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

Similar role as previous.

  • Benchmark

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.

Benchmarks Example

  • Create card with two partitions
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.

  • ALT +/- debug action

Action for the [+/-] key (on SD/IXUS series DISP. is used instead - values are [None], [Dmp RAM] -> a complete memory (RAM) dump will be written to the SD card, [Page] in this mode the page shown in the propcase viewer can be changed (double-press changes the paging direction (up/down))

  • Show saving time

DNG visible via USB[]

Enable [●] / Disable [ ]
This feature enables the display of DNG files on your computer, via USB connection.

CHDK RAW and DNG files can be downloaded to a computer with the USB cable under the correct conditions; Instructions from CHDK forum member fe50:-

- disable remote in Remote parameters
- use .CR2 as file name extension (set up in the CHDK RAW menu)
- before you connect the camera to the computer's USB port you must power off and power on
the camera (important !)
- connect the camera, do not use the Windows transfer assistant - open the Windows Explorer,
- transfer (copy, e.g. with drag & drop or cut & paste) the images to your hard disc.
- Mac users - use Image Capture or Canon Camera Window to open when camera is detected.

You can also transfer RAW images in the DNG format this way, but you must use .CR2 filename extension in CHDK; after transferring the files you have to rename them (give them the correct extension .DNG).


A note on the CCHDK.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 startup, 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 CCHDK.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/CCHDK.CFG on the SD card.

Scripting Information Section[]

Some Script Links for the time being.

Scripting Cross Reference

Scripting Thread on the CHDK Forum

Lua Scripting language for CHDK


User-written Scripts

Links to Very Old Resources[]

  • MoreBest Builds include AllBest Builds' features
  • AllBest Builds include GrAnd's Builds' features


CHDK has to 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 one of the most adaptable, flexible, and full-featured operating systems of any cameras ever made. 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 contributors include, 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 a significant discovery which has been named Canon Basic - Oren Isacson and Alfredo Ortega
and more to come……. Many thanks.

And to all the firmware dumpers - Many thanks.

A note to potential Editors[]

This page is a collection of material contributed to the CHDK WIKI and other places, by many writers. Your edits will be welcomed by camera owners who want to get maximum usage from CHDK, and perhaps by Developers as an eventual reference source. It will probably serve everyone better if your contributions are given consideration, and leave anecdotes, stories, speculation, they can be contributed elsewhere, and this document, one would hope, will remain for mainly technical information, so that with your additions we will eventually have our 200 page Concise CHDK Reference Manual

GPL license information[]

This file is part of CHDK. Copyright © 2007 -2011 The CHDK Team CHDK - CHDK Wiki 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

  • 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.
Registered in the U.S. and other countries.