The content on this page is more or less outdated. Check out CHDK for Dummies 2nd Edition (work in progress) for more recent information

The Very First Steps

Choosing a new camera[]

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 cameras (also called Digital Compact cameras) intended for consumers who want to take snaps. P&S cameras are small, easy-to-use digital cameras, without fancy lenses. First time camera users should get a Point And Shoot camera.
  • DSLR (Digital Single Lens Reflex) or SLR cameras are 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.

The CHDK (Canon Hacker Development Kit) software makes the extra settings of a DSLR available on Canon's point-and-shoot cameras.
Good places to read about digital cameras are Dpreview (offers lots of camera reviews) or the Canon Forum, a website used by people who love to talk about Canon cameras.

Using CHDK[]

Please note these points on using CHDK to get more out of your digital camera . The CHDK forum also provides valuable tips: [Link 1], [Link 2] and [Link 3]

  • CHDK only works with Canon point-and-shoot digital cameras. CHDK does not work with cameras from other manufacturers, nor with Canon's digital SLR range
  • A different version of CHDK is needed for each Canon camera model. The version of CHDK for the Canon G9 camera does not work with the Canon SX200 IS camera. Volunteer computer programmers adapt CHDK for each new Canon camera. The adaption takes some time, so CHDK might not be immediately available for a new Canon camera model.
  • A different version of CHDK is needed for different firmware versions of that camera.
Modern digital cameras contain tiny computers. The firmware tells the computer how to drive the various functions of the camera. CHDK uses the firmware that comes with your camera, so CHDK for the SX200 firmware version 1.00c should not be installed on an SX200 running firmware version 1.00d.

The next section describes how to check which firmware version your camera has. This info is also in the FAQ entry.
Review the official CHDK camera list to see if there is a version of CHDK for your camera model and firmware version.

How to check the firmware version of a Canon P&S camera[]

Important Note : the technique described below may not work for more recent cameras. The use of the ACID utility is recommended instead.


USB Card Reader


Format SD Card

CanonA580 Back

Canon Camera Back Side

The one sentence summary of this section is "put an empty file called 'vers.req' in the top folder on your SD memory card, put the card back in the camera, switch the camera on, and press a combination of buttons." The firmware version will then be displayed on the camera LCD.

Preparing the file on the SD card[]

To see the firmware version of your digital camera, you must create a file with a special name, on the camera's SD card. It is trivial to do this, if you take the SD card out of the camera and connect the SD card to your PC.

Modern laptops usually have integrated SD card readers; if you have a computer or an older laptop, you will need a separate USB card reader connected to one of the free USB ports.

Now follow these simple steps:

  1. Insert the SD card into your card reader.
  2. [deleted; unnecessary]
  3. Create two empty files in the top level folder of your SD card, one called ver.req and the other called vers.req. Both these names mean "version request". Newer cameras use vers.req.If you put both files on the SD card, you will be compatible with both older and new cameras, and the new request will be used if the camera recognizes it.
On Windows, you can create a file by right clicking on an empty area in the root folder of your card and selecting the New > Text Document menu entries.
Type ver.req and, when asked, click on Yes to confirm that you want to change the file extension. That creates the first file. Now create the second one.

In the store[]

With the files on the card, put the card into your camera. If you don't own the camera yet, you can go to a store and kindly ask the salesman to put this card in the camera, for a test.

  1. Switch the camera in Play mode and start the camera. Remember: camera must be in Play mode before you start it! Some cameras have no Play mode, instead you can press [>]to switch on in Play mode.
  2. Wait until the camera starts completely
  3. Locate the FUNC SET (on PS S2IS it's SET) and DISP buttons (see picture on the left)
  4. Press and hold the FUNC SET.
  5. Still pressing the FUNC SET, press DISP once. (This is not true for all cameras.. some require FUNCSET then DOWN. eg A1100IS)
  6. Look at the display. You will see something like this:
Canon PowerShot A650 IS

P-ID:315B NT D

Firmware Ver GM1.00D


Jul 6 2007 12:41:33

The GM1.00D part is the firmware version. If you see B1.xx listed, this usually means the firmware is beta.

Write down the camera model and the firmware version, remove your SD card from the camera and thank the salesman nicely for helping you out.

Check the official CHDK Camera list to see if this particular camera model and firmware version is supported.

Will CHDK damage my camera?[]

There is always a chance for something to go wrong but there are many thousands of satisfied CHDK users, and there are no verified reports of any damage so far. 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. Beta 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 info at: What is the worst that can happen?

I have my camera already![]

SD Card with Card Reader

SD Card & Card Reader

Check List[]

  • one SD card
  • one card reader
  • one personal computer plus one free USB port
  • simple computer navigation knowledge

USB connector

USB Connector

Load CHDK onto the card[]

WARNING: This process erases all files and folders on the card!

The most current information about the preparation and loading of CHDK onto a SD card is available here : Instructions on how to prepare your SD card

If you still don't get it, try CHDK For Newbies - How To Install. Or, read Lifehacker's guide. (old Lifehacker's guide)

CHDK is loaded![]

First thing you'll notice using CHDK is your OSD (On-Screen Display) changes. You'll see now, left to right a number, two icons and a percent.

  • First number is your available card space in MB.
  • Next to it you'll see your battery icon and below the charge remaining capacity in percent.
  • A720 back buttons

    CHDK buttons

  • The top right one is the iconic representation of the free space amount of your SD memory card in MB.
Menu Navigation - Enabling Histogram[]
Enabling Histogram[]

Histogram Menu

  1. Press Print (referred to as Alt from now on) to access the CHDK Alternative Menu. On IXUS 100 IS this is DISP. Button.
  2. Press Menu once. The Main Menu will show.
  3. Press Down until you highlight Histogram parameters.
  4. Press FUNC SET to activate it, the Histogram menu will appear.
  5. Go Down to the very first option Show live histogram
  6. Press Right to change, choose Always
  7. Press Menu
  8. Press Alt
  9. Go to Record mode if you are not there yet

You are now seeing a live RGB histogram. Point your camera around and see the how the different lighting changes it

Setting the Histogram Mode[]

(continuing from above...)

  1. Now press Alt once, note that a blue bar with the ALT letters appears in the center bottom of your screen.
  2. Press Menu and go to Histogram menu as you did above (steps 3-4)
  3. Navigate to Histogram layout and press Right until RGB all appears.
  4. Press Alt directly, it's the fastest way to return to Canon operation mode.
Placing the Histogram[]

(continuing from above...) You'll now see a more complex histogram, but partially hidden on your OSD. To correct this

Layout editor

OSD Layout Editor

  1. Go back to the CHDK Main Menu (you know now, Alt then Menu buttons)
  2. This time navigate to OSD parameters and activate it (press FUNC SET)
  3. Now in the OSD menu, Go down to OSD layout editor press FUNC SET to activate it. You'll see a lot of info on your screen. Don't panic!
  4. Press FUNC SET repeatedly and observe that each time you press it, one set of screen info is selected with a green highlight. Press until you have the histogram graphic selected.
  5. Now, with the navigation buttons - Up, Down, Left and Right - move the histogram around the screen until the histogram is shown in a nice place on the screen.
  6. Press Alt to save and exit.

Now you have the live RGB all histogram on your screen.

You have now learned how to navigate in CHDK.

  • For more information about histogram settings go there.
  • For a wonderful explanation about what a histogram is go there.


RAW menu

A few words about RAW[]

You have probably already watched those nature programs where they show us the world through the eyes of bees, dogs, flies and spiders. Your camera sensor works in a similar way. Like the human eye, the camera eye - the Charge-Coupled Device (CCD) or the Complementary Metal–Oxide–Semiconductor (CMOS) sensor - sees the light, but in a different way. Therefore, to bring that vision to our natural way of seeing light, some math needs to be done. So, after the camera hardware has done some processing, the OSD can show us an understandable and expected result. The final product is a photo file that you print, send or store in your computer - the JPEG image file. On the other side, this very first and odd looking from the camera's sensor is called RAW. CHDK saves that information in a file for further uses.

Activate RAW[]
  1. Go Record mode.
  2. Press Alt.
  3. Press Menu
  4. Highlight Save RAW.
  5. Press FUNC SET and you'll see this [•]
  6. Press Alt for exit.

Your screen will now show 'RAW' and a number. This number is the amount of RAW shots that you could take with your available free card space. Note that this number is far below the number of normal shots that Canon info tells you is possible, since RAW files are larger. Trust the CHDK number now.

CHDK RAW in the real World[]

CHDK generates a 10 bit non standard RAW file; few commercial programs support this format yet. But you can always convert your CHDK_RAW files to a standard DNG or TIFF file by using this program: DNG4PS-2 and read DNG4PS2 for more information. If you don't have any preference yet, give PhotoLine a try, it already supports CHDK_RAW files. Lately, some people have proclaimed good results with Raw Therapee and UFRaw

Latest version of XnView also supports CHDK's RAW.

More links
About RAW settings RAW parameters and RAW Develop.
About camera sensors Digital Camera Sensors.
About RAW editions and compatibilities Raw image format.
How to use RAW with Linux (this also applies somewhat to Windows and Mac).

CHDK Features[]



It's a way of using a series of shots of the same subject, generally at distinctly adjusted settings, to achieve, usually at a later time, a different and better result. Basically, there are three kinds of bracketing: luminance, focus and noise reduction. With many technical variations on each. The first and third can be done internally by a P&S camera with some CHDK processing (RAW Develop).

Try this simple and valuable bracketing technique. If you understand and master it, you could, by just changing some parameters, solve a lot of bracketing situations.

Bracketing and HDR[]

This is a simple way to do luminance bracketing, using Tv (Time value) priority, without any knowledge of scripts. It's a good option for in a hurry moments. Follow the recipe below:

  • CHDK navigation:
    • Press Alt to enter
    • Extra Photo Operations / Bracketing in continuous mode / Tv bracketing value: 2 Ev
    • Extra Photo Operations / Bracketing in continuous mode / Bracketing type: +/-
    • Remember to unhighlight clear Bracket Values on start to keep settings active
    • Press Alt to exit
  • Canon navigation:
    • Put in Record Mode
    • Put the mode Dial to P or select the Manual mode on cameras without a mode dial, e.g. on the Ixus series
    • Press FUNC SET
    • Navigate to Drive Mode / C ustom
    • Press DISP
    • Choose Delay: 1
    • Choose Shots: 3
    • Press FUNC SET to exit

You are now ready to shoot.


  • The steps to set up and enter the Canon Custom Timer mode are camera specific and may be different...
  • On power on the camera always starts in single shot mode, but the Delay / Shots - settings are stored, you only have to select the Custom timer mode again.

Some tips:

  • If you can, use a tripod. It'll avoid a lot of extra PP (Post Processing) work.
  • Before the shot, halfway-press and hold the shoot button to adjust focus and light. Continue and press the shoot button fully when you are happy with the settings.
  • Remember to take your finger or hands completely off the camera, if you are using a tripod. With this setup, there will be a short interval before the shutter actually fires.
  • The camera will do the first shot with your ((P)ersonal) best light standards; then it will slow the Tv to +2 Ev equivalence and take a shot; and finally -2 Ev equivalence.
  • If you want smoother intervals you should change the Tv bracketing value to 1 Ev and number of shots to 5. You will get the same interval with more steps.

Now you can go for some HDR (High Dynamic Range) imaging edits.

Bracketing and DOF[]

There is a good start tutorial at DoF Stacking.

Bracketing and Resolution[]
Bracketing and Noise[]

The easiest way to remove noise of low light photos is by using the internal Raw Develop CHDK functions, there you will find a concept explanation.

Obs.: Noise is a mess... with a lot of variations. If you wanna start this war you must know with what bandit you are fighting against:

CHDK Bracketing Techniques[]
Tv Bracketing[]
Av Bracketing[]
ISO Bracketing[]
RAW Develop[]

Some thoughts about RAW Sum and RAW Average
This is not exactly a dummy topic, but let's get the principles.

  • When we see these big live broadcast concerts with thousands of people, sometimes the camera shows the crowd singing loud and beautifully. But hey! We can always see one or two guys chanting the "other" part of the song! Nevertheless, we hear the chorus singing perfectly. The uneven voices still exist, but they are minority. So, the TV brings us the "correct" - the average - song.
    This is RAW Average, a clean version of the scene.
  • In a similar way, if you live some blocks far from the concert place and your TV is off, you can still hear the crowd singing the songs. It's perfectly impossible listen a human voice at this distance, but the whole mass of voices is something bigger.
    This is RAW Sum, a brighter version of a scene.

If you want more:

Useful links[]



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

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


Load Script

How to use[]
How to change[]
Useful links[]


Grids are lines that show up in your LCD to help compose your picture. Just like the "Display overlay" feature of your camera, but with more options. With CHDK you can create your own grids or load some existing grids to fit your needs


With grids, you are able to more easily compose an image with straighter lines, as the grids provide virtual lines for framing your shots. Special grids can also provide security or have a "crosshairs" effect for focusing.

Useful links[]


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



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). The text below is left in place for historical reference.

What's the best version(build)?[]

There's no such thing as a best version. There's only the best version for you. CHDK versions are like a suit, if it fits, feels comfortable and you are happy with it:
- That's the best suit!
- But if this is your first suit and your unsure of what you need, you should click here and at the top of that page click on the link that says "CHDK Autobuild Downloads". At this time (2008 10 27) many of the great innovations are included in it and it has all the features a newbie needs and then some.

Why they exist?[]

Each little genius here thinks in his/her particular way - and desires different things too. So, they take the core of CHDK and change it to fit his/her particular needs or ideas. They are all like sculptors that take wood and shape it like they want to. Because they aren't greedy, they share their efforts with everybody in the forum threads or wikia postings.

Besides that, there is a group of members that works at maintaining the core/wood of CHDK, like GrAnd, cail, EWAVR, Fingalo, Allbest, jeff666, nirschi, DataGhost and a lot of other remarkable members. Along with them other sharp minds work in related tasks.

Remembering that it all started, years ago, with a one man only task, done by the mysterious Vitaly.

Useful links[]

The big bucket: here (if you haven't look yet...).
Other Mods:

Interesting links:
View from the core: Trunk history.
More answers.

Obs: If someone was forgotten, please excuse. I apologize. Just edit and update for more correct info.

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

Is there a manual?[]

Odd and Tricky cameras[]

SD870IS / IXUS 860[]

Below are some limitations with this camera:

Power up in playback mode

The camera always powers up in playback mode and shows the last captured image. To switch to record mode just press (or half press) the Shutter button.
With 'Clock Display' set to '0 sec' in the Canon menu, the camera can be started directly in record mode with the following workaround:
Hold FUNC while pressing POWER, release FUNC immediately when the Canon clock display appears

OSD disappears after ~10 seconds

By default (or after a reset to the Canon standard settings) the Canon OSD symbols disappears after ~10 seconds while the camera is in record mode.
With the DISP button you can toggle between two states: [OSD always on] or [OSD off after 10s]. The last used setting is saved for standard.

No long file names in file browser

As on all DryOS-based cameras the file names in the filebrowser are shown in 8.3 convention (old MS-DOS style), longer file names existing on the card will be shown in the corresponding short term.
Example: the file name "DefaultScript1.bas" on the SD card is shown as "DEFAUL~1.BAS" in the file browser dialog.

Some more hints:

  • The display can be switched off in record mode by long-pressing the PRINT key. To set this, in the Canon menu (in record mode, menu item "Set PRINT Button...") the PRINT key should be registered to "Display Off". This can also be useful for saving battery lifetime in scripts: to shut off the display a sequenze of
    press "print"
    sleep 100
    release "print"

    can be used after each shot.
    Turning off the display this way in a script can lead to 3 times longer battery lifetime.
    Beware - this method turns off also the camera's sensor & electronics, the MD (Motion Detection) will not work with this method!
  • The short key for enable/disable RAW is Alt-DISP-Alt

SX110 & IXUS 980/SD990[]

Power up in playback mode

  • As most newer cameras (especially models with a separat play [>] button), the camera always powers up in playback mode and shows the last captured image. To switch to record mode just press (or half press) the Shutter button.
  • If you hold the POWER button for ~2 seconds while powering on, the camera directly starts in record mode.
  • The zebra feature do not work on the IXUS 980/SD990

Ixus 750 / SD750[]

  • The OSD menus flicker on and off oddly. Disabling the "touch icons" in the camera's settings helps somewhat.
  • The CHDK bracketing feature from the Extra Photo Operations menu does not work correctly on the Ixus 750 / SD750; use a script instead.

= The next step: FAQ =