CHDK includes a slightly modified version of the uBASIC interpreter written by Adam Dunkels, which itself is a tiny version of BASIC (Beginner's All-purpose Symbolic Instruction Code). CHDK allows users to automate their cameras by running "scripts", small and simple programs written in a short-hand version of BASIC. There are scripts for exposure bracketing, focus bracketing, intervalometer and many more.

How to run a script[]


The Script Menu


Running a Script - Exposure Bracketing

  • Download or write your own script and save it to the CHDK/SCRIPTS/ folder of your SD card. (File name is not important, but the extension must be .LUA or .lua for Lua scripts. Files with any other extension will be treated as uBASIC scripts.)
  • Enter the script menu, load the script, adjust the parameters to your liking and exit the menu.
  • While still in <ALT> mode just press the shutter button and the script will start. A mini console will be displayed while the script is running.
  • NB: Set the Review parameter in the NORMAL camera menu to "off", other options such as "x sec" or "hold" will interfere with the execution of scripts.
  • A running script can be stopped by simply pressing the shutter button again, or paused by exiting <ALT> mode. If paused the script will resume right where it left off when re-entering <ALT> mode.

You can download ready made scripts here:

  • User Written Scripts - Discussion ... Posts about: Writing your own scripts, comments about scripts on this page: problems, bugs, improvements, help converting them to other cameras, etc.
  • Links to Other Scripts Found on the Net!
If you find any interesting scripts for CHDK out there in net-land, please share their links here. If enough are added or found we'll add another page or list them with the other user-written scripts here in CHKD-Wikiland.
[waycool_script link placeholder]


If you want to modify existing scripts or write your own, you'll find more information here:


Some basic articles:

Scripting Tutorial Discussion ... Posts about help with scripting syntax, unique uBASIC problems found, tutorial sections that need help, etc.


See also the Scripting Cross Reference Page for the complete list of CHDK scripting commands for Lua and uBasic.