The Ultimate Intervalometer is a script for taking "timelapse" pictures over a long period of time. It is designed to run for week or months at a time. Applications include scenes like construction sites, flower gardens, or landscapes.
Download Link : Ultimate Intervalometer
There are many excellent general purpose intervalometer scripts posted on the CHDK wiki and forum. Some simply take pictures repetitively while others are tuned for specific applications like sunsets, automobile routes, balloon flights or macro/HDR applications.
The Ultimate Intervalometer is likewise specially tuned, but for long duration photo sessions - typically of outdoor scenes. In this application, the principal requirments are the ability to take pictures only during daylight hours, to be able to sync pictures from day to day, to run the camera on as little power as possible, to provide some visual clue that the script is still running, and to periodically restart the camera as neither CHDK or the Canon firmware was designed to continuously run for long durations.
- Start shooting each day on any combination of a fixed time, dawn, or brightness.
- Stop shooting each day when all combinations of a fixed time, dusk, and brightness are satisfied.
- Day of week schedule to select on which days shooting will occur ( All, Mon-Fri, Sat-Sun )
- Periodic automated restarts of the camera to reset internal timer and assist with long term stability.
- Support for all known power savings techniques ( backlight off. display off, sleep mode, playback mode) if supported by the camera model.
- Interval shooting in sync to the time of day (e.g. 60 minute intervals always occur at the top of the hour, 30 minute intervals a the top and bottom of the hour, etc.)
- Sets the zoom lens to a user define position (reset zoom to that position after periodic script intitiated restarts)
- Optional LED slow blink to let you know the script is still running when the display is off.
- Detailed logging of operation to SD card (optional).
On Screen Display
- current number of shots since last reset
- time to next shot
- Tv currently in use [& Tv shooting threshold]
- time to next camera reboot
- daily time to start shooting
- daily time to stop shooting
- SD card space left
- time to display blanking
- shooting mode : Day (on) or Night (off)
Note : colors of the status box will vary with different ports. You are not necessarily stuck wih the ugly lime green color in the attached screen shot.
- While the script is running, you can stop it "cleanly" by pressing the MENU key. Pressing any other key will cause the display/backlight to activate for about 30 seconds, allowing you to check the script status. Pressing anything other than MENU again will increment the amount of time that the display/backlight stays enabled.
- When using just the internal camera battery, the script can run for about a day before the batteries are exhausted. This depends a lot on the camera model, battery type, battery age, number of shots per hour, and the power saving setting used by the script. So for long duration timelapse runs, an external power source (ideally some sort of UPS / battery / mains combination) is required.
- The script offers all the known options for display blanking / power savings. These are inherited mostly from here : Battery_Intervalometer Note that the "Idle in Playback" mode will allow the camera lens to retract (based on Canon menu settings) rather than periodically switch briefly to shooting and back to playback to prevent lens retraction. This allow you to setup the camera to "hide" the lens from dust and dirt when you are only shooting a couple of times each day.
- While the script will periodically restart the camera and cause CHDK to restart the script, CHDK cannot be setup to restart the camera if the power to the camera actually fails. So a UPS battery backed supply is a really good idea.
- The script does not know anything about "day light savings" time, so if you use the sunrise or sunset modes just leave your camera in "standard time".
- The script uses features of the 1.2.0 version of CHDK and will not run on the 1.0.0 or 1.1.0 versions.
- As always, CHDK is experimental and running a camera for week or months at a time is our on the "bleeding edge" of experimental. Use at your own risk.
Specifies the time between shots. Note that the shot time is sync'd to the time of day, so a 1hr interval will cause shots to occur at the top of each hour, 15 minute interval will shoot at a quarter past, half past, quarter to and on the hour, etc
values 1min 2min 5min 10min 15min 30min 1hr 2hr 4hr
Specifies the position to set the zoom lens at the start of shooting in "zoom steps" for the camera. This is necessary to ensure that the zoom returns to the same position each time the intervalometer periodically resets the camera.
range 0 - n (note : script checks available zoom steps and limits to that range)
Start at dawn?
Tells the intervalometer to calculate the time of sunrise and begin interval shooting at that time.
End at dusk?
Tells the intervalometer to calculate the time of sunset and stop interval shooting at that time.
Starting Hour (24 Hr)
Combines with Starting Minute (below) to specify a time a which the intervalometer will switch into "Day" mode and begin interval shooting. If sunrise mode is enabled, or Tv mode is enabled, then this value can be overriden and shooting can start earlier.
range 0 23
range 0 59
Ending Hour (24 Hr)
Combines with Ending Minute (below) to specify a time a which the intervalometer will switch into "Night" mode and stop interval shooting. If sunset mode is enabled, or Tv mode is enabled, then this value can be overridden by those settings and shooting will continue later.
range 0 23
range 0 59
Day of Week
Tells the intervalometer to shoot every day, only on week days or only on weekends.
values All Mon-Fri Sat&Sun
Shoot when Tv >
Specifies a shutter speed value that wil cause the intervalometer to start interval shooting regardless of the day start or stop settings. Note that many cameras will not reduce the shutter speed below 1 second in P or Auto mode so setting to 2sec may cause the intervalometer to run continuously.
values Off 2sec 1sec 1/2 1/4 1/8 1/30 1/60
Days between resets
The ultimate intervalometer script will periodically force a complete camera reset and then restart itself. This resets the camera tic timer before it overflows and also anything else that was not designed to run for long periods of time. Note that the scripts shot counter clears to zero at each reset.
range 1 14
With the LCD blanked/off, it can be difficult to know that the script is still running. Specifying an LED here will cause it to blink briefly every few seconds, giving positive feedback that the script is still operational even when the display is off. The value to use for each LED is camera implementation dependent - some experimentation may be required.
values Off 1 2 3 4 5 6 7 8
Display blanking mode
values None BKLite DispKey PlayKey ShrtCut
Latitude for sunrise/sunset calculations. Set to degrees * 10, positive for northern hemisphere, negative for southern hemisphere. Ex : for New York, NY, USA, set to 407, for Berlin, Germany set to 525.
Longitude for sunrise/sunset calculations. Set to degrees * 10. Positive values for locations east of 0 deg and, negative for locations west of 0 deg. Ex : for New York, NY, USA set to -740 for Berlin, Germany set to 135
Coordinated Univeral Time offset for sunrise / sunset calculations. Ex : for New York, NY, USA use -5, for Berlin, Germany use 1.
Specifies where log message go. This does not affect information displayed on the on screen GUI box.
values Off Screen SDCard Both
--[[ Ultimate Intervalometer v1.2 @title Ultimate v1.2 @param a Shot Interval @default a 2 @values a 1min 2min 5min 10min 15min 30min 1hr 2hr 4hr @param b Zoom position @default b 0 @range b 0 100 @param c Start at dawn? @default c 1 @range c 0 1 @param d End at dusk? @default d 1 @range d 0 1 @param e Starting Hour (24 Hr) @default e 5 @range e 0 23 @param f Starting Minute @default f 0 @range f 0 59 @param g Ending Hour (24 Hr) @default g 18 @range g 0 23 @param h Ending Minute @default h 0 @range h 0 59 @param i Day of Week @default i 0 @values i All Mon-Fri Sat&Sun @param j Start on Tv value @default j 0 @values j Off 1sec 1/5 1/10 1/20 1/30 1/60 @param l Days between resets @default l 1 @range l 1 14 @param m Status LED @default m 0 @values m Off 1 2 3 4 5 6 7 8 @param n Display blanking mode @default n 0 @values n None BKLite DispKey PlayKey ShrtCut @param o Latitude @default o 234 @param p Longitude @default p -845 @param q UTC @default q -5 @param r Logging @default r 3 @values r Off Screen SDCard Both --]] require("drawings") props=require("propcase")