Build, learn and share robotics.
New to this site? Get started here to share your creation

At the core of any time-lapse camera rig is the controller – an “intervalometer” – but what all but the most expensive ones lack is the ability to configure a shooting schedule based on the time of day and day of week. And so it is that the “Intervalometerator” came into being. It’s the intervalometer’s intervalometer, hence the convoluted name we were quick to abbreviate to “intvlm8r”.

What is it?

A completed "intvlm8r" is a Pelican case with a DSLR camera, lens, a control PCB, and a power source, bolted to something stable. Presented here it's suggested you'll want a solar panel, solar charger and a small SLA battery, but those are unnecessary if you have mains power.

At its heart are two micro-controllers, each serving a specific purpose. An Arduino Pro Mini is the master, with a battery-backed external real-time clock signalling it to wake the camera and fire the shutter. These are the two critical components to the Intervalometerator. The Arduino normally spends its time asleep when it’s not triggering the camera to take photos, and while snoozing the entire rig pulls almost zero current from its battery power supply.

A Raspberry Pi Zero W provides a web-based “front-end” where all configuration and management takes place. An I2C bus between the micros handles the higher-level communication, while 3 digital IO lines between them provide ‘wake’ and ‘shutdown’ signalling. The digital IO reduces the risk of drive corruption as the power-hungry Pi’s power is applied and removed under the Arduino’s control – where the Pi’s left to sleep as much as possible. (In case you’re wondering, we couldn’t implement this in I2C as the Arduino can only slave to the Pi – it’s unable to initiate a command).


Some friends of ours have fled Australia to build their dream home in rural New Zealand, about an hour's drive from Wellington at the southern end of the north island.

The site is TOTALLY off-grid & devoid of anything resembling network connectivity. The only thing they can rely on there is sunshine. When it's not raining.

Wisely or otherwise, we thought that a time-lapse movie of the building of said home would make a great housewarming present, and so a not inexpensive rig based on a GoPro was procured, tested, personally delivered to New Zealand and installed.

After its first images were received and processed, we decided we weren't happy with the video quality out of the GoPro, and that a DSLR would capture a better image. The only problem is that comparable rigs cost MANY thousands of dollars – and that’s before you add the camera and lens.

"It can't be that hard. Why don't we just build one?"


The project took just on twelve months to take from concept to final PCB. It evolved from a high-level whiteboard concept drawing...

Through a hand-scratched circuit...

and eventually to a proper circuit and PCB:

Camera Control

The basics of the camera interfacing all happens over the camera's 3-wire manual shutter release. The Arduino, having been woken by the clock, electrically "half-presses" the shutter button (the "Wake" opto on the board), pauses, then lights up the "Fire" opto, triggering the photo. Both signals are reset, the Arduino sets the next alarm time and goes back to sleep.

Advanced camera control takes place over USB via the Raspberry Pi. The power-hungry Pi is usually turned off, woken on a daily schedule to copy images off the camera and for any routine maintenance the operator may require. An option exists in the code for it to run permanently if you have a mains-powered setup. A reed switch from a burglar alarm mounted inside the box lets someone on-site wake the Pi by waving a magnet near it, without needing to break the weather seal on the Pelican case or risk bumping the camera out of alignment.

The project couldn't have gotten off the ground if it weren't for two open-source projects, and we remain totally indebted to their contributors. The Pi code is totally reliant on and derived from both the gPhoto2 project, and python-gphoto2, Jim Easterbrook's Python interface to same.

The Website

Its website is fairly basic, but across a handful of pages you're able to view and download the captured images, check camera and timing settings, check thermal measurements & other system setup tasks.

There's a live demo website running in Azure. It’s been modified a little for Azure and creates cookies on your machine to fake the interaction with a non-existent camera, but the end result is an otherwise true rendering of the site. The photos on the home and thumbnails pages are of the Sydney CBD, taken while the first unit was on our roof for testing in late 2018. 

Shopping List

Lots of the parts came from RobotGear:

More info

All the code is on Github, as well as full detailed build instructions, a full shopping list, troubleshooting and more explanatory text. The PCB for it is on eBay.

- Greig.