Important Remarks[]

The scripts posted below were written by CHDK users, and are contributed as is.

Please note that prior to 2009 a number of special builds of CHDK were in general release and some used different uBASIC commands and features. With the unification of CHDK into one release trunk, some of these older scripts may not run on current versions of CHDK.

Also, be aware that some of these scripts use CHDK's ability to simulate camera button presses. As the buttons on any camera model typically vary from what is found on other camera models, the button press sequence scripted needs to be verified as correct for your camera.

Finally, some of these scripts use the get_prop and set_prop commands. These directly read or write particular memory locations that store some camera settings. Different cameras generations have different property number assignments, so be careful when using any script with these commands. Use the get_propset command to be sure which parameter set to use for a particular camera.




Camera Specific[]

Special Purpose Intervalometers[]


Camera Specific[]

Sunset Scripts[]


plus >> Bracketing without a script.


  • Kite & UAV Photography : a fancy intervalometer with advanced exposure control and USB interface for kite and uav photography


Focus & DOF Stacking[]

Motion Detection[]




Old / Obsolete[]

Lua Script Libraries[]

Other Resources / Archives[]

  • CHDK Forum > Script Writing > Completed and Working Scripts: Some more scripts that may not appear here at the Wikia archive. Due to the easier method of jointly discussing and working on scripts at the CHDK Forum some new scripts are showing up there that you may not find in any other places. For example: some newer and faster Lightning Photography /Motion Detection scripts have been added (among others).
  • CHDK scripts for Canon SD1000/IXUS70: An interesting collection of unique scripts, written primarily for the SD1000/IXUS70 camera (DIGIC III), but can easily be converted to most all DIGIC II cameras by following the directions in the simple REM comments in them. Worth checking them out. They use some creative shortcuts that can be applied to your own scripts, or used as-is.

Suggestions for contributors[]

Dear script authors and those just learning: the CHDK Forum has a dedicated Script Writing and uBASIC section. The forum's design and capabilities make it far easier to discuss and help with the sometimes confusing nature of scripts and uBASIC. You are strongly encouraged to post on that forum so that you can get assistance more rapidly and in a much more easy-to-follow discussion format. I hope you can join us there!

 For beginners, there is a tutorial: TutorialScratchpadSee also the Scripting Cross Reference Page for the complete list of CHDK scripting commands for Lua and uBasic as well as many links to other scripting reference pages.

Please feel free to link your debugged and tested scripts to this wiki page. Reserve discussion and help for writing your script to the CHDK Forum: Script Writing

Script pages linked here should include:
  • Camera model that you wrote it on.
  • Other camera models that it is known to work on.
  • The CHDK build required to run it (if it's an extension beyond GrAnds builds).
  • Any special instructions that may be required for running the script.
  • Your script!
Since some scripts require special instructions that might be too lengthy to write into the script itself with "print" statements, it is a good practice to include a short but informative text-file with each script, that could be saved by the same filename but using a .TXT extension so the file may be referred to as a help-file using CHDK's "File Reader".
It has been found that some people are irresponsibly/foolishly sharing collections of scripts without the important accompanying documentation for each script. Try to include some extra info in the header of your script in the form of rem statements that might help the unfortunate people that might get hold of undocumented scripts. Beginning of script example:
rem Author: Your Alias/Name
rem For S-Series ONLY!
rem Requires Fingalo's build v 106 or later!
rem Use with caution! Read documentation!

Suggestions on posting your own script to your  scripts page:

  1. Click on the EDIT TAB at the top of the page (not the ones beside each entry).
  2. Scroll to the bottom of the list of scripts.
  3. Add new line
    to the list.
  4. Save changes.
  5. Click on the list item you just added.
  6. Use the following template to publish your script:
== <<SCRIPT TITLE>> == 
:'''Written for/on:''' <<CAMERA MODEL>>

:'''Also works on:''' <<CAMERA MODELS>>

:'''Required CHDK build:''' <<either 'any' or specify the build required>> 


'''Documentation/Help''' (save as a small "<<script_filename>>.txt" file to your /CHDK/SCRIPTS/ folder) 




'''Script Code''' (save as "<<script_filename>>.bas" to your /CHDK/SCRIPTS/ folder)