CHDK/FAQ

=FAQ=

Q. What does the HDK firmware do?
A. After loading of HDK 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, 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 (temp. note: added on 20-May-2007. May not be bug-free yet.)
 * 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 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.

Q. How can I get the original firmware version number of my camera?
A. To get the version number, you need to create a file called ver.req in the root directory of your SD card, then switch on the camera in playback mode and press the [set]+[display] buttons together. 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".)

Q. Where can I download the HDK firmware?
A. The latest binaries of HDK firmware from GrAnd are available here.

Q. What is the procedure of loading the HDK 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 [Menu] 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 HDK firmware load automatically at startup?

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 HDK firmware does not work. What's wrong?
A. When you update your camera by HDK 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, HDK firmware got the ability to autoload (see the next answer).

Q. How can I make the HDK 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 [Menu] 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 noticed 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:
 * - [direct print] button for A-series cams
 * - [user selectable] button for S-series *
 * * 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
 * -  + [func] button for S-series

universal keys and shortcuts:
 * Start a script: +[shoot]
 * Enter the main configuration menu: +[menu]
 * Toggle Zebra mode on/off: [half shoot]+[left]
 * Toggle Histogram on/off: [half shoot]+[up]
 * Toggle OSD on/off: [half shoot]+[right]
 * Scroll-By-page in File Browser and File Reader modes: [zoom-in] / [zoom-out] / [half-shoot] (scroll one page forward in File Reader mode)


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

Q. How do I use scripts?
A. HDK 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 "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

[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

Q. Why won't my camera save my "Last Used" and "Custom" (non-CHDK) settings?
A. Your camera won't allow you to save these settings if you are using a locked (write-protected) SD card. If you are using the Auto-Loading feature of CHDK it requires that you leave the SD card write-protected. To resolve this issue:


 * Remove SD Card
 * Slide write-protect tab to unlock card to make it normally write-enabled (CHDK will not auto-load in this condition).
 * Power-up the camera with unlocked/write-enabled SD card.
 * Make your needed changes to Custom and default power-up settings.
 * Remove the SD card and slide write-protect tab to lock the card again.
 * The camera now boots up with CHDK enabled and your default camera settings intact.
 * Perhaps some future version might have a fix, but for now this is a minor work-around compared to all the remarkable new features that you have available. If you find this annoying you can always leave your SD card unlocked and then just manually enable CHDK when powering up (as described above). If you are into a shooting session and don't want to power-down to manually enable CHDK on the next boot-up, you can move your Record/View control to the View position two times (pause slightly to make this work). The lens will retract and the camera will go into View-Only mode. From here you may manually enable CHDK from the [Menu] with the "Firm Update..." option which is now visible at the bottom of your main menu. (This booting into the CHDK-firmware option while already powered-up was found to work on the Powershot S3 IS, it may or may not work for other models.)

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." But 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 my personal opinion though it's quite safe to use the CHDK 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 warraty).

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.


 * Add lines on the OSD in order to apply more easily the rule of thirds on the S2-IS
 * For which cam? AFAIK, the only S2 does not have such feature in the original firmware. --GrAnd 13:10, 25 May 2007 (UTC)


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


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

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.