CHDK/FAQ

=FAQ=

Q. What does the CHDK firmware do?
A. After loading of CHDK firmware you can get the following functionality:
 * Shooting in RAW
 * Live histogram (RGB, blended, luminance and for each RGB channel)
 * Zebra mode (blinking highlights and shadows)
 * DOF-calculator
 * Battery indicator
 * Scripts execution (exposure/focus/... bracketing, intervalometer and more)
 * File browser
 * Text reader
 * Calendar
 * Some fun tools and games :)

Q. What camera models are supported by the CHDK firmware?
A. Currently, the CHDK firmware is available for Canon digital cameras of the following models: In theory it can be modified to support any camera based on the DIGIC II platform. (How do you do this?)
 * A610, Fw: 1.00D (with CHDK version for 1.00E), 1.00E, 1.00F
 * A620, Fw: 1.00F ( 1.00E is not compatible. You must upgrade to 1.00F first )
 * A630, Fw: 1.00C
 * A640, Fw: 1.00B
 * A710 IS, Fw: 1.00A
 * S2 IS, Fw: 1.00E, 1.00F, 1.00G, 1.00I (with CHDK version for 1.00G)
 * S3 IS, Fw: 1.00A

DIGIC III (G7, A570IS, S5IS) is not supported. It might be possible, but reverse engineering takes alot of time, and nobody seems to be working on it right now.

What about A700?
 * Currently, firmware dump is available. Porting is planned...

How about the S80, great camera - but could do with RAW.
 * The firmware is available too. Porting is needed.

What about A520, A530, A540, A550...? Vitaly writes this:

AFAIK where were no any research regarding to A5x0 so it's hard to say definitely how hard it could be. Currently I have no plans to make an another port in a near future but I'll try to write some manual how porting is done.

Information about this models is being gathered here: CHDK/A530 and CHDK/A540.

Q. How can I get the original firmware version number of my camera?
A. To get the version number, you need to: You will see a string like Firmware Ver GM1.00E. The 1.00E part is the firmware version. (ver.req is just an empty dummy file. One way to create this file is to switch to dos-mode and type "copy con ver.req" . Then press "Ctrl+z" then  and the file is created. Copy it to your SD. Another way to create this file: make an empty text file with Notepad and rename it into "ver.req".) Yet another way to create the file is to open the memory card in My Computer, right click inside the window and select New... and then Text Document. An empty text document will be created and you can rename it to "ver.req".
 * create a file called ver.req in the root directory of your SD card
 * switch on the camera in playback mode (don't switch on in rec mode and change to playback later)
 * press the + buttons together (press first, hold it down, then press ).

Q. Where can I download the CHDK firmware?
A. The latest binaries of CHDK firmware from GrAnd are available here. Download the specific binaries for your camera. Eg: for Canon S3 IS, the file name on June 16th 2007 is test1-pre12-s3is-100a-129.zip.

Q. Where can I find a changelog of the CHDK firmware?
A. Go to the ChangeLog Page. Click on the Chgset number of the build you want to know about and read the log message.

Q. What is the procedure of loading the CHDK firmware into my camera?
A.
 * Remove the SD card from your camera and put it in the card reader of your PC.
 * Copy the files PS.fir and Diskboot.bin into the root folder of your SD card.
 * Put the SD card back into the camera.
 * Start the camera in Play mode.
 * Press the button.
 * Go to the new menu entry "Firm Update" (the last option in the menu).
 * Select it and confirm that you want to update with "OK".

Now the camera will reboot (in about 1 second), the blue LED on your camera will blink once and a splash screen will appear. If the camera hangs or is switched off during updating process (this means that this CHDK firmware is not compatible with your camera) and does not respond to the power button: relax! Just open up the battery compartment and remove the batteries to turn the camera off, stick them back in and everything should be fine.

See also How can I make the CHDK firmware load automatically at startup?

If you later want to update a CHDK version, just copy the new PS.fir and Diskboot.bin files onto the SD card and overwrite the old ones. You do not have to delete any other file. All settings are forward/backward compatible.

After running CHDK and setting all your options for histograms, zebra-mode, OSD layout, fonts, colors, last script loaded, etc. all your settings are saved in the /CHDK/CHDK.CFG file. It even saves the last position you were reading in the last text-file you were viewing using the File-Reader. If you want to recreate those exact same settings on another SD card with CHDK on it, just copy that file from one SD card to another, making sure it's in the /CHDK/ folder on the new SD card.



Q. What is the root directory of my SD card?
A. The root directory is the first or top-most directory. If your SD card has the drive letter "K", then the root directory is "K:\".

Q. Do I need a special card reader, or is it sufficient to connect the cam to the PC?
A. Digicanon has an uploader for the A610 on his page which you can use to upload the firmware files to the A610 without a card reader. This uploader may work also for other camera models, I've used it for A620.

How to use it:
 * Put your firmware files PS.FIR and DISKBOOT.BIN into the same folder as the uploader
 * Make sure your SD-card is not write-protected
 * There is a textfile named "FirmInfo.txt". It contains this text: "[Firmware File Name]". Just change the name below it into the filename you want to upload. Then save the text file and start the UploadFirmware.exe. You have to do this two times: 1x for PS.FIR and 1x for DISKBOOT.BIN.

I personally find it more convenient to use a cheap USB card reader. Cheap readers have no sensor for the write protection switch on the card, and this is great. Otherwise, you would have to switch the card to "unlocked" everytime you want to put something on the card, or delete something with your PC.

Q. When I switch off my camera and then switch it on again, the CHDK firmware does not work. What's wrong?
A. When you update your camera by CHDK firmware it doesn't touch the original firmware. Because it is just a some kind of resident program and it remains in camera memory until camera is shutdown. So, if something goes wrong and camera does not respond you never get your camera toasted, because after switching off/on your camera will back with original firmware. Recently, CHDK firmware got the ability to autoload (see the next answer).

Q. How can I make the CHDK firmware load automatically at startup?
A. You have to do the following actions:
 * Copy the files PS.fir and DISKBOOT.bin in the root folder of your SD card if you not already have done so.
 * Load the CHDK firmware as described above.
 * Enter  mode.
 * Press to enter the CHDK main menu.
 * Go to "Debug Parameters" in the Menu on the screen.
 * Select "Make Card Bootable".
 * Switch off the camera and take out the SD-card
 * Lock your SD-card. This is mandatory, but don't worry: you will still be able to record pictures.
 * Reinsert the card back into the camera.

From now on, the hack will load automatically until you unlock the card again. If the camera reports that the SD-card is locked: Do not care about this message, the camera is still able to store pictures on the SD-card.

Note: Unfortunately, autoload does not work with FAT32-formatted SD-cards. This means: cards up to and including 2 GB will work, cards larger than 2 GB won't. Note2: 4 GB cards can support the autoload feature if they are formated in FAT16 manually. To format SD-card in Windows command line just type 'format X: /fs:fat' (where X: - a drive letter of mounted SD-card). But be aware that the formatting of 4 GB cards in FAT16 leads to non-standard 64K cluster size. The correct support of such cluster size is not guaranteed.

Autoload sometimes also does not work if the camera is switched on directly in record mode.

Q. I don't need the autoload feature temporarily/anymore. How can I disable it?
A. The simplest way is just to don't lock your SD-card. Deletion of file DISKBOOT.bin from your flash card will lead to the same result.

Q. What are the key settings and shortcuts?
A. Here is a list of important key settings and shortcuts. Have a look at the firmware usage guide for detailed explanations about them. Note that you can press and hold down certain keys to simulate pressing this key multiple times, just like your PC keyboard.

camera-specific key settings:
 * Enter  mode:
 * - button for A-series cams
 * - button for S-series * (  by default )
 * * See the Firmware Usage pages of  mode and/or Miscellaneous Menu on how to select and use the button of your choice for entering and exiting  mode.


 * Toggle RAW on/off:
 * -  + button for A-series
 * -  + button for S-series

universal keys and shortcuts:
 * Start a script: +
 * Open "scripting parameters" menu: +
 * Enter the main configuration menu: +
 * Toggle Zebra mode on/off: +
 * Toggle Histogram on/off: +
 * Toggle OSD on/off: +
 * Scroll-By-page in File Browser and File Reader modes: /  /  (scroll one page forward in File Reader mode)


 * (main configuration menu) Go back one menu level:
 * (OSD layout editor) Change the amount of pixels the OSD elements are moved:

Q. How do I use scripts?
A. CHDK allows you to automate your camera by running "scripts", small and simple programs written in a short-hand version of BASIC. You can find some pre-made scripts like bracketing, intervalometer etc. here or write your own script by using the scripting language. To use a script, you have to do this: When your script does not work properly, try to increase the "script shoot delay" parameter, which is a small time-delay after a shot is taken, before the next line of the script is executed. Some scripts also may require certain camera settings. For example the generic bracketing script: go to menu>review and switch it to "off". Use P, Tv, Av or M mode and activate the camera function where you want to have bracketing. For example: Activate the focus slider when you want to have focus bracketing. Activate the exposure compensation slider in P mode when you want to have exposure bracketing, and so on.
 * Put the script you want to use into the CHDK/SCRIPTS-folder on your SD card
 * Load the script (main menu>scripting parameters>load script from file) and adjust script parameters as needed
 * To run the script, press the shutter button while in mode. You can also stop it by pressing the shutter button again.

Q. I've shot some RAW pictures. How do I process them?
A. When you have a RAW file from your cam, you can
 * convert it to the standardized DNG digital negative format using the DNGForPowerShot converter. The DNG files then can be processed with nearly every RAW converter on the market, including Adobe Lightroom.
 * process the RAW files directly with appropriate converters. Right now, this applies to converters which are based on David Coffin's DCRaw. Here are three free examples:
 * UFRaw
 * Raw Therapee
 * Picasa 2.7 and above
 * Faststone Image Viewer displays the RAW files if you want to browse them A very good image viewer/converter.

[Note that the above mentioned steps may not work for all cameras yet. Especially the A640 CHDK firmware was just recently added, so the RAW converters may not support it yet. If you know that it works or have further information, please delete this paragraph]

The A630 and A640 are first mentioned in DCRaw (http://www.cybercom.net/~dcoffin/dcraw/) source code at version 8.70 (current as of May 7, 2007 is version 8.72), so may be supported (I don't have these cameras to test with). If you want to use DCRaw directly (from command line), you can download the source code from the above link and compile, or download binaries for both Windows and Mac OS X from http://www.insflug.org/raw/.

The A630 and A640 is also supported in Raw Therapee (http://www.rawtherapee.com/). Its also available for Windows

DNG For PowerShot supports A610, A620, A630, A640, A710 IS, S2 IS, S3 IS since v1.1

There is also a hack for RawShooter (thanks PhotoHans). Examine a DNG file to obtain the exact name eg. 'PowerShotS3IS' (no spaces) open RawShooter.exe in an editor and change 'PowerShot G5 ' to PowershotS3IS and save. Make sure file length is unchanged and make a backup before you begin.

These are some Mac programs which read RAW files (.CRW) from the CHDK hack. From least to most hassle (and decreasing expense):
 * RAW Developer $120
 * Fast, sweet WB & other options.


 * PhotoLine 32 PC & Mac, Euro $59
 * An extremely capable editor, better than PhotoShop in many ways. Full RAW file support, interpolation methods, WB, contrast, clipping, color correction, contrast, auto-whitepoint, clipping limits, assign ICC color-profiles, define curves on all or each channel, save favorite presets, etc.


 * RAW Photo Processor (RPP) - FREE
 * Promising. Slower; its WB options not yet satisfactory for some.


 * dcRAW - FREE
 * Command-line usage only - no GUI. Does many conversions, great for automation, but you’re working blind. This page gives examples of its parameters.


 * These export JPG, and some TIFF and DNG

Q. Does using the CHDK void your warranty?
A. Many believe that using the CHDK does not harm your warranty, since it is said to be loaded into the memory only temporarily (turn off the cam and it's gone completely) and that it leaves the original camera firmware untouched. Canon Tech Support says: "Unfortunately, any upgrades to the software of the camera not performed by an authorized Canon Repair Facility, would void the warranty." ... and "... in further disucssion with Canon about this specific hack, their response is: 'If it is not Canon firmware the warranty would be void.'" Is it an "upgrade" of the camera firmware when the firmware remains untouched? It's up to you to decide. Don't use it if you are not willing to take the slightest chance. In the opinion of everyone using CHDK it's quite safe to use as long as you make sure that it's the CHDK and not a real firmware update (A real firmware update which is not an official Canon update could alter or completely screw up the camera and will void the warranty). Addressing their second comment (i.e. "if it is not Canon firmware"): CHDK is NOT firmware. By very definition, FIRMware is software that remains in the memory of the device when it is not using any power-source. This is why it has the word "firm" in it. From the comments directly from Canon reps it follows that CHDK does not void any warranty because it cannot be firmware by any stretch of the definition.

Q. May I suggest a new feature?
A. Yes you certainly can, although not every wish can be fulfilled. Please note that the CHDK is not able to change any standard behaviour of the camera, because it does not modify the original firmware. CHDK can just "extend" current functionality.

Here is a list of "Frequently Suggested Features":
 * Possible
 * Support for more camera models
 * In theory the CHDK can be ported on every Digic II camera, but this takes time and a firmware or firmware dump (which you might be able to provide if a firmware dumper is available for your model). If the new cam is very different internally/externally from already supported models, it would be very difficult to port the CHDK without actually having the camera, because heavy testing would be required.


 * Suggested, but not possible at the moment:
 * Removal of the 1GB film size limit
 * uBasic: direct access on camera features in scripts.
 * Right now it's only possible to emulate button presses. There's no way to tell the cam directly to start a sound memo, for example.


 * Exposure times longer than 15 seconds / Bulb mode
 * This would probably mean a change in the original firmware and so it is against the design philosophy of the CHDK. But it would also increase image noise and the time of the dark frame subtraction: for a 2 min. image, your camera would also need to shoot a 2 min. dark frame afterwards.
 * As a workaround, you can take multiple exposures with an intervalometer script and combine them afterwards into one image with a very long exposure, for example with CombineZM. If you choose an exposure time of 1s or faster, the camera won't make a dark frame subtraction. Combine this with the new 'press' and 'release' scripting commands of the shutter button and you will get almost a real bulb mode with no dark frame subtraction time - you only have to combine the images afterwards on your PC. This is a method that many astrophotographers use, it is referred to as "Image Stacking". For more information here's one (of thousands) of pages online describing How Image Stacking Works There are a few freeware packages to also help with this process, one called Registax comes to mind. Using this method with low ISOs you could get nearly noise-free images with many-hours long exposures, far surpassing anything that a DSLR can do on its own.


 * Suggested, but not possible at all:
 * SDHC support for cams which don't have it
 * Video resolution more than 640x480
 * These require the changes in hardware part.


 * Zebra mode which not only supports luminance, but also R/G/B
 * It is possible, but not with acceptable speed. Because the camera provides the image in YUV format it is too hard for the internal processor to convert the image to RGB on the fly with acceptable speed.

If a feature that you have in mind hasn't already been requested or wouldn't be impossible to do, please feel free to suggest it here Feature Requests & Feedback.

Q. What can I use exposure/focus bracketing for?
A. You can use focus bracketing to increase the DOF (depth of field) of a photo. This is especially useful for macros, because often the DOF is so shallow that large parts of the picture will be blurred. Just load your pictures into CombineZM (freeware), click "Macro>Do Stack" and they will be combined into one photo with large depth of field.

You can use exposure bracketing to make a high dynamic range photo. See these links for tutorials or try one of these tools: Photomatix (demo available), Traumflieger-DRI-Tool (freeware; no installation required; just load your pictures and click "start").

For bracketing shots it is best that you use a tripod and don't shoot moving objects. So the different pictures will match perfectly. In the event that you are using hand-held bracketed exposures and each frame is not perfectly aligned, you can use a freeware utility called "HDR Alignment Tool" (download link and discussion). But for best results it's always better to start out with perfect alignment in the beginning by using a tripod. "HDR Alignment Tool" will, however, fix most all of your alignment problems admirably.

Q. Why won't my Remote-Capture programs work?
A. If you are using programs like Remote Capture from Canon, "Cam4you Remote" ("the best I've ever found!" ~keo~), "PSRemote", or "Time-Lapse" they need to do a "hand-shake" with the camera when first connecting to the camera. CHDK's slight delay on boot-up might/will prevent these programs from connecting to the camera properly. Just remove your SD card and UN-lock (write-enable) the card to turn off CHDK's auto-booting feature. Or if not using the auto-booting feature, power-up the camera without CHDK running. These remote-capture programs should then connect just like they always had. Perhaps future versions of these programs might be updated for CHDK capable cameras so they will work in conjunction with it, vastly improving their own software's capabilities too by running complex/beneficial CHDK scripts remotely. Requests to the authors might help.

Q. Does the CHDK firmware consume additional battery power?
A. Some people measured the battery consumption rate and found that using the CHDK does not affect battery consumption (either not at all, or just minimally). It makes no difference whether the live histogram etc. is activated or not, because the CPU of the camera always works (looking for keyboard presses in the loop). Btw, histogram is calculated even it is not displayed. But, with CHDK user usual increases the time when shoot button is half-pressed. Because he is looking at the histogram, zebra, etc. Not just at the green/yellow rectangle. If you are interested in the details about which camera mode consumes how much battery power, you can find the details here.