The Very First Steps
- What camera should I buy?
- I have my camera already!
- CHDK Features
- Problems: Searching and Posting
- What's the best version?
- Is there a Manual?
- Odd and Tricky cameras
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 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.
- 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.
The next section describes how to check which firmware version your camera has. This info is also in the FAQ entry.
How to check the firmware version of a Canon P&S cameraThe 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.
Your SD card should be no larger than 4GB. If your card is larger, follow the additional steps given in the FAQ.
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:
- Insert the SD card into your card reader.
- [deleted; unnecessary]
- 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.
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.
- 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.
- Wait until the camera starts completely
- Locate the (on PS S2IS it's SET) and buttons (see picture on the left)
- Press and hold the .
- Still pressing the , press once. (This is not true for all cameras.. some require FUNCSET then DOWN. eg A1100IS)
- Look at the display. You will see something like this:
Canon PowerShot A650 IS P-ID:315B NT D Firmware Ver GM1.00D NoError 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 are many hundreds of satisfied CHDK users, and no 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!
- one SD card
- one card reader
- one personal computer plus one free USB port
- simple computer navigation knowledge
Load CHDK onto the card
There are two methods for Windows of loading CHDK onto your SD card and making it run. You can use either method based on your personal preferences and perhaps on what the CHDK version for your camera supports.
The first - called the Card Lock method - formats the SD card so that it is "bootable" by the camera. Boot mode is enabled when the card lock switch on the side of your SD card is moved to the LOCK position before inserting the card in the camera. On power up in this mode, the camera will attempt to load a file called DISKBOOT.BIN (containing CHDK) from your SD card.
The second - called Firmware Update method - place a file called ps.fi2 onto the card and then tricks the camera into loading that file as if it was a firmware update for the camera. This trick does not actually modify the camera in any way and so will not make permanent changes to your camera. When you activate the firmware update method (details below), the camera will load and execute the ps.fi2 file - which is essentially the same file as the DISKBOOT.BIN file used in the Card Lock method but encoded differently.
Mac users should go to Mac FAQ.
Tip: It is preferable to use a card reader rather than the USB cable connected to your camera. There are many situations where the camera USB port may confuse you.
Card Lock Boot Method
This article describes how to make a SD card smaller than 8G bootable under Windows using Cardtricks.
- If you are using an external card reader, connect it to the computer.
- Put the SD card in the card reader.
- Open My Computer and verify that the card is visible. It will show up as a removable device. Put the mouse pointer over the icon, and see if the size matches your SD card's size. If not, check your card reader installation procedure. Don't go any further until you are sure you have this reader working and your card accessed.
- Download CardTricks from the Card Tricks thread and save it to your computer. Double-click on the exe file and click Extract.
- Once downloaded, open the exe file.
- Check the Auto box above the image of an SD card/SD stamp. (See screenshot at right.)
- Click the SD card image/SD stamp (below the Auto box) and select the card.
- Click the Format as FAT button, read and accept the notice. Card Tricks will format your card in the best way for CHDK. Wait until it ends.
- Once that is complete, click the Make Bootable button, read and accept the notice. Card Tricks will prepare your card for camera autoload.
- Click Download CHDK. Your browser will open the CHDK official download page. Pick your camera model's ZIP file. If there is more than one version of CHDK for your camera, check which firmware you are using and choose the corresponding zip file. There is no need to extract the zip file after you've downloaded it.
- Click the CHDK->Card button and select the zip file you downloaded.
- Close CardTricks and eject the card.
- Remove the card from the card reader/computer.
- IMPORTANT: Lock the card! Slide the little plastic switch on the side of the SD card down, away from the electrical contacts.
- Your card is now prepared for autoloading and ready to use.
- Place the write protected card back in camera and turn it on by going into Play mode. Make sure that you turn on the camera by pressing the Play Mode button. Switching it on using the ON/OFF button and then pressing play may not work.
Firmware Update Method
- Start with an SD card formatted by your camera (should happen automatically when you put a new card in the camera. If the camera does not want to format your card, it is probably already formatted).
- Unzip the CHDK distribution zip file into the main root directory of your SD card. Make sure that the CHDK folders are also copied to the SD card. Note that for Firmwared Update to work, there must now be a file called ps.fi2 in the root directory of the card. Some ports of CHDK might not contain this file - if so then you cannot use the Firmware Update method.
- Put the card in your camera and turn it on.
- While in Play Mode, press Menu. There are usually three or four tabs in the Menu (varies by camera). You can probably stay on the first tab but some experimentation might be necessary. This contains the Playback Settings. Scroll down to the last option on this tab. It should say "Firm Update..."
- Select "Firm Update..." and press FUNC.SET button.
- It should say "Update firmware version?" Press OK. If everything went right the CHDK splash screen will blink.
- Go back to the camera mode and you should see the new display elements.
- If you are curious about CHDK autoloads, check out the thread How does CHDK start running.
- If you still don't get it, try CHDK For Newbies - How To Install. It's a fun step by step video tutorial.
- Or, read 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.
- The top right one is the iconic representation of the free space amount of your SD memory card in MB.
- Press (referred to as from now on) to access the CHDK Alternative Menu. On IXUS 100 IS this is DISP. Button.
- Press once. The Main Menu will show.
- Press until you highlight Histogram parameters.
- Press to activate it, the Histogram menu will appear.
- Go to the very first option Show live histogram
- Press to change, choose Always
- Go to 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...)
- Now press once, note that a blue bar with the ALT letters appears in the center bottom of your screen.
- Press and go to Histogram menu as you did above (steps 3-4)
- Navigate to Histogram layout and press until RGB all appears.
- Press 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
- Go back to the CHDK Main Menu (you know now, then buttons)
- This time navigate to OSD parameters and activate it (press )
- Now in the OSD menu, Go down to OSD layout editor press to activate it. You'll see a lot of info on your screen. Don't panic!
- Press 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.
- Now, with the navigation buttons - , , and - move the histogram around the screen until the histogram is shown in a nice place on the screen.
- Press 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.
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.
- Go mode.
- Press .
- Highlight Save RAW.
- Press and you'll see this [•]
- Press 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.
About RAW settings RAW parameters menu 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).
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 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 to exit
- Canon navigation:
- Put in
- Put the mode Dial to or select the Manual mode on cameras without a mode dial, e.g. on the Ixus series
- Navigate to Drive Mode / C ustom
- Choose Delay: 1
- Choose Shots: 3
- Press 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.
- 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:
- Sensor noise
- Sensor Noise, so Canon implements an automatic Noise Reduction (Dark Frame) at high exposure times, but it is a drawback...
- Dark Frame
- Amp Glow
- Hot Pixels
- Dark Frame and PP actions
CHDK Bracketing Techniques
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:
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.
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).
How to use
How to change
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
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
- Press the once.
- Press once. The Main Menu will show.
- Press until you highlight Video Parameters.
- Press to activate it, the Video Parameters menu will appears.
- Go to the very first option Video Mode.
- Press or 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 mantain 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.
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 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.
The big bucket:
here (if you haven't look yet...).
View from the core: Trunk history.
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.
- 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.
- Put a short descriptive title in your thread.
HELP HERE! or SOME AID!! or I'M DESPERATE!!!
usually don't receive good feedbacks.
- Describe your problem as accurately as possible.
- List at least:
- Camera model and firmware version
- CHDK brand and version
- Operating system
- Card size and brand
There is no Help Desk service. You have to count on the goodwill of other CHDK users like you.
- Don't beg for urgent help. But don't give up. Check answers on a daily basis.
- 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!
- Thank the person who helped you!
- Be polite and friendly, don't argue with others trying to help, it's a waste of your time.
- And when you know and can, help others.
Is there a manual?
- To get started, there is the One Page Ultra-Quick Users Guide (with PDF version)
- If you are an offline kinda guy, you'll appreciate this: Graystar's CHDK End-User’s Guide For AllBest Build 50 (PDF file - third revision May 2008)
- A later user guide is now available (Latest update July 2011), view and/or download here:- New User Guide. It reflects all the latest changes of CHDK with updated content and images, 76 pages, in .pdf format, in A4 and Booklet versions.
- A CHDK menu reference (Screenshots of the camera display) can be found here: Allbest 51 Menu Screenshots and here Later screenshots
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 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 while pressing , release 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 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
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 ! key. To set this, in the Canon menu (in record mode, menu item "Set PRINT Button...") the 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
- The short key for enable/disable RAW is Alt- -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 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 =