CHDK currently has two official branches:
- The branch labelled 1.1.0 which is considered to be 'stable'. This branch is used for minor changes and bugfixes, backward compatibility between updates and has more stable code and behavior.
- The branch labelled 1.2.0, also called the "unstable" or development trunk. This branch contains minor and major updates, some updates which might be not backward compatible. Using it involves a little bit of risk.
→Both CHDK branches are generated whenever changes are made on the branch, customized for various Canon camera models.
→There is also a version of CHDK from Germany, similiar to CHDK but with some compiled in differences, including support for native function calls in Lua.
Finding the Right Build
Which autobuild file do I need to download ?
→ You need to know your camera model and its firmware version in order to determine the correct CHDK file to use with your camera !
→ To determine your camera's firmware version, follow the directions in the CHDK FAQ
- Please note that your camera's firmware version is not 22.214.171.124 or 126.96.36.199. It's a number that will look like 1.01e !
Legend for the CHDK package filenames on the Autobuild Server:
sx10is-100e-1.1.0-2004-full_BETA.zip | | | | | | | | | | | +-- optional: BETA means: port is in beta state, some minor features may not work | | | | +------- optional: package type, full means: complete package incl. lang files, fonts etc. | | | +------------ SVN trunk version, the development build number (automatically set) | | +------------------ CHDK version number (manually set) | +----------------------- firmware version +---------------------------- camera model
Build names include references to camera models and firmware versions. For example, a build name that includes the text "...A610 fw v1.00e" is designed for the A610 camera with firmware version v1.00e. (Note that cameras sold outside the United States often have different model designations. See the table at "For Developers" for cross-reference.)
Autobuilds include a vers.req file - useful for determining your firmware version using instructions posted in the FAQ.
Of course, without knowing your firmware version, you won't know which autobuild to have selected in the first place so download any version to get the vers.req file.
There is really no excuse for not being able to determine your camera's firmware version if you go here LINK But in lieu of determining your camera's firmware version, or if your particular firmware version is not listed, you can try installing every build available for your camera's model. In general, if you can get it to boot and display the CHDK logo on the camera's LCD screen then you have found a working version. If this is unsuccessful and you seek help, please determine your camera's firmware version before posting a request for assistance.
You'll actually see two versions of CHDK for each camera model. The "Complete" build includes files such as fonts, grids, scripts and languages as well as everything in the "Small" builds. The "Small" builds contains only the binary source code. Complete builds contain many files that change less frequently than small builds, so please don't overuse our bandwidth by downloading complete builds multiple times a day. You should download the "Complete" build the first time and then use "Small" builds to update when new CHDK revisions are released.
What if nothing is available for my camera?
Head to the "For Developers" page to see what progress is being made in porting CHDK to additional cameras and firmware versions. Or head to the CHDK Forum and search for your camera model to see if there is a porting thread. Perhaps you can even help with coding or testing!
Links to the Different CHDK Builds
The latest Builds - Stable 1.1
This is the one you want if you are new to CHDK.
The Latest Builds - Unstable New Development Version 1.2
The Latest Builds - CHDK DE (German CHDK version)
Download the correct build for your camera and then follow these directions: Prepare your SD card
- German is default menu language. Start the default script for changing the language to English. Needs english.lng in subdir CHDK/LANG.
- Option #OPT_LUA_CALL_NATIVE is active
- Version identification: version 1.1 CHDK-DE, version 1.2 CHDK_DE
Select a camera series, model and firmware (1.) or upload an unedited camera image for automatic detection of the firmware (2.). In case of the automatic detection the download starts in some seconds automatically.
Choose the complete or update package (3.) and download (4.) the right version.
Keeping up with Build Developments
How do I know if my existing build is up to date ?
The autobuilds page will always show the latest CHDK version number. The autobuild version number typically consists of three digits. For example, the current build is 1.1.0.
In theory, these three-digit numbers reflect the following scheme: However, in recent practice these digits very seldom advance and even then, only after a major release.
Fortunately, CHDK downloaded from the autobuild server also include an additional four digit number that denotes source code revisions. In the example "...1.0.0-1719-full.zip," the "1719" means this is the 1719th revision of the source code since it was created. This last number changes frequently even while the version number does not.
How can I learn what changed in a new build ?
A running log of update information can be viewed here. Also, each build includes a text file, CHANGELOG.TXT or VERSION.TXT, with the relevant details.
Developers can view detailed code changes here.
Where can I find older builds ?
From time to time binaries from the Autobuild Server will be "conserved", so they are available when the server gets offline, you want to do tests with an older CHDK version, compare features or for bug hunting...
Using the latest 'stable' builds is recommended whenever possible!
Conserved Build 1982 - Jul 14 2012 (previous "stable" branch ver 1.0.0) → the download is available from here: link ♦ CHDK binary packages (changeset #1982, 14-Jul-2012) as served by the Autobuild server. ♦ Small zips, containing the bare DISKBOOT.BIN and (as supported by the port) PS.FIR/PS.FI2 files. ♦ The file _common_files_1982.zip contains the additional other files like scripts, language files, fonts... ♦ These versions are not really "stable" in terms of bug free and bullet-proof tested ;)
Conserved Build 1697 - Feb 25 2012 → the download is available from here: link ♦ CHDK binary packages (changeset #1697, 25-Feb-2012) as served by the Autobuild server. ♦ Small zips, containing the bare DISKBOOT.BIN and (as supported by the port) PS.FIR/PS.FI2 files. ♦ The file _common_files_1697.zip contains the additional other files like scripts, language files, fonts... ♦ These versions are not really "stable" in terms of bug free and bullet-proof tested ;)
Lending a Hand
If you want to be a developer and contribute to CHDK visit the Developer page. You can also volunteer to test new releases or help keep this wikia up to date.
StereoData Maker (SDM) is a software package for Canon P&S cameras used to do stereo photography. It is based on a very early version of CHDK but no longer compatible. It includes features for kite aerial photography and digiscoping, and supports features of other builds, including MX3's motion detection, Fingalo's script additions, Zosim's Video Compression and USB remote.
Details, documentation and downloads can be found here..
Canon DSLR Software
Other hacks exist for Canon DSLR's to do things similar to CHDK. These hacks are not CHDK, and most of the documentation on this wiki does not apply to them.
Links to some of those cameras are here :
Canon Rebel XT 350D
350D Wiki page
Canon Rebel XTi 400D
Magic Lantern (Supports multiple Canon DSLRs)
--> Explore the User Manual