Introduction: Camera Shutter Release Controller

About: From Taiwan, I like photographic, DIY, baking. Pretty good at Arduino and 3DP.

A controller that can set shutter time, interval, number of a series of photos for digital cameras.

Practical for time lapse filming or star trail photos.

The original idea appears when I tried my first star trail photo last year. I found that I have to push the shutter button every 3 min, which is very annoying. Moreover, the sold ones have low c/p. Therefore, I decided to make one on my own.


1. works on canon cameras and cameras with 2.5 earphone jack as shutter control

2. Shutter time per photo: 0 sec to 136 years,

interval between photos: 0 sec to 136 years,

0~4294967295 pictures could be taken

(if your battery got such large capacity)



1. Arduino nano (or any other arduinos)

2. 5V relay

3. 16*2 LCD (better with I2C control module)

4. 5 pin encoder with switch

5. Battery (between 7~12V to power arduino)

3. 2.5 mm earphone jack (3 pin)

Step 1: About the Circuit

The circuit is pretty simple. There are four parts in the circuit, which is

1. the power from battery,

2. the input from encoder,

3. the output to LCD,

4. the output to camera line.


Pin connections:

1. Battery Vcc to Vin, GND to GND

2. Encoder switch to any digital pin (pulled down for mine), Encoder A&B to D2&3 (use interrupt to be more sensitive)

3. SCL to A5, SDA to A4

4. Relay coil to GND&any digital pin, shutter&GND pin from earphone jack to relay NO&COM

Step 2: The Arduino Code

I'm sorry that I didn't put much comments in the code, because I am not sure how to explain how does the code works.

However, to be simple,

I used Encoder.h to read the encoder, Liquidcrystal_i2c.h to display

Step 3: The Case (optional)

I used 3D printer to make the case.

There are three parts: cover, base, encoder knob.

With the cover, the circuit is protected and it could be put on the hot shoe on the camera.

Step 4: Future Works

Below are some ideas I got to make the controller better (comment if you get other ideas!)
1. Put several LEDs behind, in order to know how many seconds left when taking selfies.

2. Study how camera hot shoe pin works, perhaps power the controller from the camera through the hot shoe.

3. Wireless control with Wifi, Bluetooth, or 344 GHz radio.

Arduino Contest 2017

Participated in the
Arduino Contest 2017