I would like to automate a camera to do what asked in the title. The camera will be in a fixed location looking at a colony of water fleas. I know about time lapses to take a picture every hour, and burst mode that can take multiple pictures spaced apart by a specific time, but I want a combination of both. If this is not possible, then is it possible to automate a camera to take a 15 second video clip every hour for 24 hours? It can be any type of camera using any type of software.

  • 1
    Is this in a lab setting (indoors, controlled climate, power available), or is this outdoors (possible weather issues, have to provide power)? How big is the water flea colony (areal extent — how big is the scene)? How far from the colony is the lens? Do you require an off-the-shelf solution, or are you willing to build your solution using things such as microcontrollers/Raspberry Pi computers and camera modules? – scottbb Oct 8 '18 at 21:46

Easy. Use any Canon camera supported by magic lantern. Load it onto the card (plenty of tutorials online, all you have to do is copy some files onto the SD card and run a firmware update on the camera). Once you did that open the ML menu ("Trash" button) and go to the modules tab. Load the lua.mo module by pressing the SET button on the camera.

Save the following script as timed.lua in the /ML/scripts directory on the SD card:

-- Timed shots --
-- take two shots, 15 seconds apart, every hour for 24 hours --

msleep(15000) -- wait 15 seconds to exit menu and setup camera

for i = 1,24
do -- run 24 times
    msleep(15000) -- wait 15 seconds between shots
    msleep(3600000) -- wait 1 hour before taking next shot

Put the card in the camera and go to the ML menu, then onto the scripts tab. Select the Timed shots script and run it (press the Q key, then SET to run). You now have 15 seconds to leave the menu and setup the camera the way you want it. Liveview doesn't need to be running. You can increase that time to anything you want.

The script will start after those 15 seconds, if you need it to run exactly at every full hour, take a look at the date class of the ML Lua scripting API, it's possible and easy to implement.

Another even easier idea would be to adjust the 15000 in the fourth line of the script to match the beginning of the next full hour rougly. E.g. if it's 5:56pm rn and you want to start at 6pm, set it to 240000 (milliseconds) and it will take the first shot at 6pm. You should also subtract the 15 seconds between the shots from the 1 hour sleep at the end of the script, so 3600000 would become 3585000.

You don't want a battery for this. Use this instead. (Make sure it's the right battery type)
In case of the above link dying: It's a dummy battery with a connector for an external power supply.

  • 1
    Great answer! Specific, detailed, well-written, and easy to follow. – scottbb Oct 9 '18 at 0:45
  • @scottbb Thanks! I've made some further edits to clearify some steps and added an easy approach to take shots at every full hour, if OP needs that. – confetti Oct 9 '18 at 2:44

This situation needs a programmable controller, containing a couple of timers. One timer triggers every hour (for X number of hours?), and it triggers another timer, that fires twice 15 seconds apart, triggering the camera shutter. If you don't want to build it, ask the folks at http://www.cognisys-inc.com what they have. I think their StopShot model can easily do that, but they will know what they have that can do it.


If the camera has a wired remote socket, and video recording can be toggled by it:

$20 generic intervalometers will LIKELY be fine with being wired up in parallel (the "protocol" used here usually has all current on the wire supplied by the camera, so there will be no short circuiting problem unless you add more than one camera to the circuit). Just set two of them to a one hour interval and 24 repetitions, then start them 15 seconds apart.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.