I started this project all the way back in April 2009. I designed the hardware, wrote the software, got it all built, and then I moved house. Finally, I have gotten back to it and finished it off, adding in the last bit of functionality I hadn’t quite finished yet.
Basically, this is a small box you can connect to any camera that accepts an external trigger. It is designed for Canon DSLR cameras, but can probably be adapted for any other camera with a trigger input.
Features include: manual shutter, bulb mode (click to open, click to close), delayed shutter, repeated shots (for time lapse etc), and delay from external trigger (e.g. trip a laser beam, sound trigger, etc).

Delays can be set in milliseconds, seconds, and minutes, with up to 65000 of any of those time periods.
The external trigger can be anything that can short the 2.5mm connector.
A warning – in the move, I lost my 2.5mm to 2.5mm cable and have not found it yet. Until a replacement arrives, the current version of this code has not been tested actually triggering the camera. However, a previous version did work, so I see no reason why this current version will not trigger the camera.

First off – the parts list:

  • 7 buttons of your choice
  • An 8 MHz crystal
  • A 16×2 HD44780 compatible LCD
  • 2x 22pf capacitors
  • 1x 2k resistor
  • 1x 100 resistor
  • 1x 20k resistor
  • 1x BC545 transistor or similar
  • An optocoupler
  • An AVR ATMega8 – I used the -16, but it is only running at 8MHz
  • Something to program your ATMega – I used an SP12 programmer


The code is undocumented – sorry about that! Perhaps I will document it sometime. It probably isn’t all that good either – it is the first time I have used WinAVR.
intervalometer hex file

If you build this, modify it, or adapt it, please let me know in a comment or an email to

Leave a Reply

Your email address will not be published.