CHDK for Dummies Banner

The Very First Steps

CHDK : Quick Start[]

If you don't want to read this short guide, or the somewhat longer official CHDK User Manual , here's a quick list of what you need to do to load and run CHDK.

  1. Download and install the STICK utility from this link >: STICK
  2. Run STICK to configure your SD card and install CHDK.
  3. Put the SD card's lock switch into the "locked" position and put the card into your camera.
  4. Start your camera normally. You should see the red CHDK logo appear for a few seconds.
  5. Press the defined <ALT> key  for your camera to enter CHDK mode. The <ALT> key is usually either the PRINT or PLAY button. However, some cameras use the DISP, VIDEO, HELP or FACE buttons so you might have to try different buttons to find the right one.
  6. Press the MENU button in <ALT> mode to access the CHDK configuration menus.  Press the FUNC/SET button to bring up the scripting menu.
  7. Press the shutter button in <ALT> mode to run the currently loaded script.
  8. Exit <ALT> by pressing the <ALT> button again. Override settings and onscreen display option will now enabled while you are back in normal Canon mode.

CHDK : What's it all about?[]

There are two segments in the digital camera market: people who just want to snap pictures, and professional photographers. Accordingly, many camera manufacturers have two "families" of product:

  • Point And Shoot (P&S) cameras intended for consumers who want to take snaps. P&S cameras are inexpensive, small, easy-to-use digital cameras, without fancy lenses or other accessories.
  • DSLR (Digital Single Lens Reflex) cameras for professionals and advanced amateurs. Digital SLR cameras are more versatile, have higher quality removable lenses. but are also more complicated, heavier, and expensive. DSLR cameras offer much more manual control over the camera settings, to support e.g. RAW files and bracketing.

To help bridge between P&S and DSLR cameras, CHDK (Canon Hack Development Kit) software makes some of the extra features found on DSLR cameras available on Canon's P&S cameras.

Good places to read about digital cameras are Dpreview (offers lots of camera reviews) or the Canon PowerShot Talk, a forum used by people who love to talk about Canon cameras.

CHDK : What does it offer?[]

CHDK adds many new features to your P&S camera.  Listed below is a subjective list of some of the more popular things people do with CHDK.

  • time lapse (or intervalometer) sequences
  • RAW & DNG photography
  • motion detection, especially for taking picture of lightning
  • stereo (3D) photography
  • multicamera "bullet time" rigs
  • remote shutter switch
  • meteor / star photography
  • HDR photography
  • KAP & UAV photography
  • and much, much more ...

 A more complete list of features can be found here :  CHDK Features

Will CHDK damage my camera?[]

CHDK is an unofficial addition to your camera, not supported or approved in any way by Canon so there is always a chance that something can go wrong. However, there are many thousands of satisfied CHDK users and so far there are no verified reports of any damage. You can check out the wiki page dedicated to tracking suspected failures here : Camera failures suspected to be caused by CHDK

CHDK does not make any changes to the factory-installed firmware in the camera. CHDK is stored on the same memory card as your photos. When you remove the SD card or delete the CHDK files, the digital camera reverts to its original state.

A photographer who uses CHDK is like a car enthusiast who fits an aftermarket performance chip to control the engine. There's no absolute guarantee that it won't break anything, and the original manufacturer will certainly disapprove of it. But most people seem to get what they want from aftermarket modifications, and CHDK is no exception.

It is theoretically possible that CHDK firmware could drive your camera beyond Canon's operational limits. Damage could happen because of a inadvertent programming error (such as driving the zoom motor too frequently or too quickly), or due to deliberate malware. Malware is unlikely, because crackers would get nothing from damaging your camera. Since most cameras are not networked, crackers could not take it over the way they could take over a computer.

People have encountered CHDK bugs that "crash" the camera (the camera freezes and does not respond to controls). This can be easily fixed by power cycling the camera. Alpha versions of CHDK aren't fully tested. They are released so experts can test with them. If you are not comfortable dealing with buggy software, use only official, stable and tested versions.

More technical information can be found at:  What is the worst that can happen?   and  Can CHDK damage your camera?

Is there a manual?[]

There is a lot of documentation available for CHDK.  Unfortunately, much of it is obsolete, incomplete,  or just plain wrong.  Listed below are several reference works that can be trusted :

Older documentation that may still be useful includes :

And you can read the Lifehacker's Guide to CHDK (and the older Lifehacker's Guide to CHDK)

Installing CHDK[]

CHDK installation is a simple matter of adding some files and folders to a correctly formatted camera SD card.  For many years, the hardest part of using CHDK was getting those files successfully loaded onto the SD card.  There are many websites and YouTube videos describing how to install CHDK, most of them obsolete and some of them just plain wrong.  

WARNING: This process may erase all files and folders on your SD card!

Fortunately,  there is now a simple utility called STICK available for PC, Mac and Linux computers that will automatically format your SD card and install the correct version of CHDK for your camera.  You can read all about it and download from this link : 

link : Simple Tool for Installing CHDK (STICK) for Windows, OSX and Linux

If you want to understand more about installing CHDK, including alternate methods of installation,  the most current information about the loading CHDK onto a SD card is always available here :

link : Instructions on How to Prepare Your SD Card

Some important notes about installing CHDK :

  • CHDK makes no permanent changes to your camera.  It must be loaded from the camera's SD card each time the camera starts and it goes away completely each time the camera is turned off. 
  • CHDK may not be available for your Canon P&S camera.  Volunteer developers must adapt CHDK for each new Canon camera. The adaptation takes some time, so CHDK might not be immediately available for a new Canon camera model
  • CHDK only works with Canon point-and-shoot digital cameras. CHDK does not work with cameras from other manufacturers, nor with Canon's dSLR cameras.
  • A unique version of CHDK is needed for each Canon camera model and firmware version of that camera. For example, the version of CHDK for the Canon G9 camera does not work with the Canon SX200 IS camera.  Likewise,  the version of CHDK for the G9 with firmware version 1.00d will not work on a G9 with firmware version 1.01c.   If you use the STICK utility, it will sort all of this out for you.

Starting CHDK[]

Once you have CHDK installed on your SD card, it can be started in two different ways. These ways are called the "Firmware Update" method and the "SD Card Lock" method. The "Firmware Update" method will work on any SD card but requires you to manually start CHDK from the Canon menu. The "SD Card Lock" method requires a specially formatted SD card but will automatically load CHDK each time you start your camera. Note at that the STICK utility configures the SD card to support both methods.

Firmware Update Method[]

  1. Start your camera by pressing the "Playback" button (not the On/Off button.)
  2. Press the MENU button.
  3. Scroll down to the bottom of the menu, where you will see a menu entry called "Firm Update". Press then Func/Set button to select that.
  4. In the Firm Update screen, where it says "Update firmware version? ->" select OK.

The camera should now restart and the CHDK logo will appear. Note that you have to repeat this process each time you start the camera.

SD Card Lock Method[]

  1. Remove the SD card from your camera and move the small card lock switch to the locked position.
  2. Start the camera normally by pressing the On/Off button or the playback button.

The camera will start and the CHDK logo will be displayed.

Note that if you press and hold the On/Off button until the lens opens then the camera will start in shooting mode. Otherwise the camera starts up in playback mode by default.  Also, note that CHDK will cause the camera to ignore the lock switch on the SD card, such that photographs will be stored on the card even though the switch is in the locked (or "Write Protect") position.

CHDK is loaded![]

If you have correctly configured your SD card using the steps listed above, and started CHDK as described, you should see the red/white/black CHDK logo appear briefly on your camera's LCD screen when the CHDK loads. Once that is done, you are ready to start using CHDK.

First Steps[]

The first thing you will notice when CHDK loads and you are in shooting mode is new OSD (On-Screen Display) icons. At the top of the display, you should see from left to right :

  • a number giving the available card space in MB.
  • battery icon with the charge remaining capacity in percent right below it
  • a clock icon showing the current time
  • the temperature of the camera's optics
  • at the bottom of the LCD display, a small white bar graph shows the used space on the SD card.

Using the CHDK OSD layout editor,  you can change the position of these icons,  add additional icons,  change their configuration, and enable them to display in playback mode as well.

Getting into CHDK <ALT> Mode[]

To configure CHDK and use its various options,  you need to enter what's known as <ALT> mode.  In <ALT> (or alternate) mode, the camera's buttons and LCD screen are taken over by CHDK, giving them different functionality from what they had in normal Canon mode.    To enter <ALT> mode,  you need to press the ALT key, which is just one of the camera's buttons that has been reassigned so that it starts CHDK.  

On cameras with a Shortcut/Print button, that is the default <ALT> button.  Other cameras use the Playback button,  or the DISP button,  or the Video button, or the Face button.   The actual button used by your camera can sometime be found in the Notes.txt file included with the CHDK distribution, on the CHDK wiki page for your camera, or by reading the porting thread for your camera on the CHDK forum.  

When the ALT button is pressed, a small red <ALT> symbol will appear at the center of the LCD screen.  You can now launch scripts,  issue keyboard shortcuts, or open the CHDK menu by pressing the Menu button.

Note that you can still use the ALT button for its normal Canon assigned purpose. Simply hold it down for more than 1 second and it will initiate the Canon function rather than start CHDK ALT mode.

Menu Navigation[]

CHDK makes use of many of the buttons on your camera when you are in <ALT> mode.  

A720 back buttons

CHDK buttons

The up / down / left / right buttons are used to navigate the menus.  They also have additional "shortcut" functions when pressed in conjunction with a "half press on the shutter button (see below). Pressing the MENU button button brings up the CHDK menu. Pressing it again closes the menu. Pressing the DISP button when using the CHDK OSD onscreen editor changes the amount the OSD icons move in response to the up/down/left/right buttons. Pressing the FUNC/SET button takes you immediately to the Script menu. Pressing the shutter button all the way (full press) activates the currently loaded script.

Using CHDK[]

<ALT> mode vs Canon Mode[]

Once CHDK is loaded on your camera, it is always running.

When you use your camera normally, it runs in the background, performing tasks like updating the CHDK onscreen display and watching for you to press the <ALT> button. Most importantly though, it will apply any overrides you have selected in the CHDK menus (exposure, focus, flash, ND filter, etc) when you actually take a picture. You do not need to be in <ALT> mode for this to happen (and in fact it will not happen in <ALT> mode).

When you enter CHDK <ALT> mode, you can do several things. First of all, you can press the MENU button and activate the CHDK menus. These allow you complete control of CHDK's configuration and operation. Secondly, there are a few special Key Shortcuts that are only active in <ALT> mode. Finally, and perhaps most importantly, you can use scripts while in <ALT> mode.

Starting in Shooting Mode[]

When you automatically load CHDK via the SD card lock method, you will notice that CHDK always starts the camera in "playback mode". You have to press the shutter button to switch to shooting mode. If you want to actually start the camera in shooting mode, then power up the camera by simply holding the On/Off button down until you observe the lens starting to extend.

Scripts vs Built-in Functions[]

One of the first things you will encounter when using CHDK is that some things are done using CHDK's built-in capabilities and other things are done using scripts (or small computer programs) that you load into the camera as needed.

In general, simple setup and configuration functions are typically built-in to CHDK as are certain things that would be difficult to implement with a script. Built-in function include the on-screen display icons, USB remote functionality, the histogram and edge overlays functions, shooting exposure and focus overrides and RAW/DNG image creation. However, many of these built-in functions can be enhanced and their behavior modified by the use of a script.

Built-in Functions[]

Exposure Overrides[]




Edge Overlay[]




USB Remote[]

Miscellaneous Stuff[]

Scripted Functions[]


Load Script

By definition script is a programming language that controls a software application.

It's like a taxicab: there is the car, the driver and there is you - the user. Once inside, you give directions on where you want to go. Also, you can tell the driver to go from here to there, to avoid this or that streets, to go fast or slow etc. So, the driver operates the wheel, the gas pedal, the brakes, the clutch, car light signals, avoids other cars or some potentially dangerous obstacles and, finally, brings you to your destination. The main power that moves this process comes, almost exclusively, from the car itself. But all this power would be useless without the taxi driver expertise. And, of course, none of that would have even started if not been for your command. Our camera's hardware is the car, your camera's firmware (plus CHDK) is the driver and the script is you.

CHDK scripts are written in a modified versions of uBASIC or Lua. Scripts allow control of many CHDK and camera functions.

For more information see:

How to Load and Run a Script[]

Switch to <ALT> mode, then press FUNC.SET, and select "Load Script from file", and choose a script from the Scripts folder. The other way is to go to Main Menu>Scripting parameters> Load script from file. (See image).

CHDK Video Features[]

Similarly as the RAW -> JPG procedure, Canon cameras transform real motion action in video format. This format is named Motion JPEG - similar to JPEG, the static image format. There are many video compression formats used nowadays: Moving Picture Experts Group Type 2 (MPEG-2) for DVDs and cable TV, MPEG-4 for Blue-ray DVD discs, Windows Media Video (WMV) for some computer video files, Flash Video (FLV) for YouTube videos, etc. M-JPEG has a significantly higher bitrate than these formats. That's bad, because the same amount of video time will take more storage space than other formats. But that's also good, because you lose less information in the compression activity and can edit more easily at your computer.

How to use[]
  1. Press the ALT button once.
  2. Press Menu once. The Main Menu will show.
  3. Press Down until you highlight Video Parameters.
  4. Press FUNC SET to activate it, the Video Parameters menu will appears.
  5. Go Down to the very first option Video Mode.
  6. Press Left or Right to alternate the options.

The first thing you'll see is Video Mode. There are two options: Bitrate and Quality.

  • Bitrate means that Canon will record your motion at a constant compression rate. The more bitrate, the more space will be used in your SD card and better will be the video quality. 1x is near the Canon default compression.
  • Quality means the Canon will record your motion at a constant quality. It means that, if necessary, the camera, by itself, will increase or decrease the compression rate to maintain the video quality constant. The more quality, more space will use at your card and better will be the video. 84% is the Canon default compression.


  • When you choose Bitrate, the Video Bitrate number is the active setting.
  • When you choose Quality, the Video Quality number is the active setting.

Obs.: S5 do not have these CHDK video mode options, until now.

Enable optical zoom
Digital cameras have two types of zoom available: The optical zoom and the digital zoom.

  • The optical zoom uses lens refractions to magnify the objects, resulting in clear, sharp images.
  • And the digital zoom approximates zoom by magnifying the pixel size. It does some math to improve the result, but will always produce worse results when compared to the optical zoom. Objects will appear larger, but can lack definition and appear blocky.

Canon blocks the optical zoom during video shoots. That's bad because you will lose quality when you zoom things digitally. CHDK unleashes the optical zoom that the Canon's engineers blocked, but the drawback is that the zoom mechanism noise is recorded in your video as well.
Do some tests to get the best combination for you.

Customizing CHDK[]

There are a lot of different things you can do with CHDK.  And a lot of things you can do to customize CHDK to your liking. Many of these are buried deep within the CHDK menu structure, so to provide a guide some of the better ones are posted below.

OSD Icons[]

OSD Icon Positions[]

Languages & Fonts[]


CHDK Colors[]

User Menu[]

Edge Overlay[]


Script Modes on Startup[]


ALT Help Screen[]

Shortcut Keys[]

Splash Screen on Load / Startup Sound[]

<ALT> Mode Buttons[]

Disable LCD Off[]



In the early days of CHDK, many developers produced and maintained their own versions of CHDK. You will still find references to those here in the wiki. However, since 2010 there has really only been one version of CHDK maintained for general use - the one available from the autobuild server (executable) and svn site (source).

Interesting Links:[]

View from the core: Trunk history.

More answers.

Problems: Searching and Posting[]

- It doesn't work!
At this moment some people have difficulty with staying calm and reviewing their previous steps, looking for simple mistakes. If you do so and still can't make it work, I suggest a few steps for you to follow.


It is very likely that you're not the first person with this particular problem. So, start searching for others with the same problem, and you are likely to find solutions and advice.

Here on CHDK wikia: The search bar is in the top left of this page.
At the official CHDK forum you'll find the Setepontos Search tool.

Try searching from general to specific. Stop narrowing when your results become easily browseable.

Ex.: Let's say you have problems working with RAW. First try

  • RAW -> You'll get a lot of info about it! But your problem is to get the RAW from the camera to your computer.
  • RAW download -> But hey, you're a Windows user, so...
  • RAW download explorer -> Now pick some and see if it fits.

Some times you have to limit your search with a minus (-) sign to exclude some words. Ex.: You're having color problems in your pictures. So if you do the bottom search

  • color -> You'll have too much. Your problem is about JPG color problems, not RAW.
  • color JPG -> But RAW references keep coming.
  • color JPG -RAW -> now you get more suitable results.

Caution: The search function in the CHDK wikia (this site) needs at least 4 chars in search expression !


- Still doesn't work!

If your problem doesn't seem to be covered yet, you can open a thread at the CHDK forum about it.

  1. Be careful in choosing the correct section/subsection. If you have specific problems dealing with CHDK, this isn't exactly a developer matter. So, don't post at CHDK Development, go Using CHDK/General Help and Assistance on using CHDK stable releases.
  2. Put a short descriptive title in your thread.
    usually don't receive good feedback.
  3. Describe your problem as accurately as possible.
  4. List at least:
    1. Camera model and firmware version
    2. CHDK brand and version
    3. Operating system
    4. Card size and brand
  5. Wait.
    There is no Help Desk service. You have to count on the goodwill of other CHDK users like you.
  6. Don't beg for urgent help. But don't give up. Check answers on a daily basis.
  7. After someone answers you, reply and say if the proposed solution worked or not, and why. This will help others searching for answers in the future!
  8. Thank the person who helped you!
  9. Be polite and friendly, don't argue with others trying to help, it's a waste of your time.
  10. And when you know and can, help others.