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
- 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 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 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 (please feel free to contribute)
- 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.
- New uBasic & Lua scripting commands, descriptions of newly introduced scripting commands
- Lua: what is Lua ? --> introduction to the Lua scripting language, links, samples...
- Lua scripting - new and changed commands - describes additional and/or changed scripting commands for the Lua scripting language
→ See also the Scripting Cross Reference Page for the complete list of CHDK scripting commands for Lua and uBasic.