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 .BAS for uBASIC and .LUA for Lua 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.