How to make a DSLR Camera remote using Arduino

Taking a photo using a DSLR is not a difficult process. It is a passion to carefully focus on the object, fine tune  parameters such as shutter speed, aperture, etc., find a sweet spot and click it. But what if you want a stop motion animation to be made using a DSLR? The below video is an example stop motion.

For doing that you need to find the best focal spot and fix the position and take lots of photos slowly moving the object step by step. For this process, if you click by hand then you can disturb the images. Therefore I decided to find a way to automate the process. Eureka! Suddenly I found that my Nikon DSLR supports IR Control. Moreover interestingly there are also Arduino libraries which support that.

The camera expects a bunch of IR code sequence which is actually supported by the official remote control from the company. Someone has decoded the IR codes and recreated it into Arduino library. So with an IR transmitter connected to Arduino, it is possible to generate code exactly similar to the IR Remote control. Therefore using this library you can automate the photo taking process.

This technique can be used in projects such as motion detection and capture, photo booth for parties, fests and events.


For this project, you need an Arduino or similar board, an IR transmitter (you can buy one individually or  a sensor kit)

IR Transmitter


Arduino or similar board







For getting the IR work with the DSLR camera you need a special library. You need to download the library from here

After downloading it, open your Arduino IDE and go to Sketch>Include Library>Add Library. Then select the file, that you downloaded from the link. Now the library is installed. Now open a new file and copy the below code.

#include <NikonRemote.h>
int IR_PIN = 11;
NikonRemote remote( IR_PIN );

void setup() {

void loop() {;



This includes the library that we installed to our program, and as of now it supports only Nikon cameras. If you have other cameras, there are plenty of libraries available in the internet which support them.

int IR_PIN = 11;

We connected the pin 11 to our IR transmitter.

NikonRemote remote( IR_PIN );

We create a NikonRemote object with pin 11, as it is the pin to send the IR code.;

In the setup, we do nothing and in the loop we repeatedly send, click, command to our DSLR camera.


If you have any issues with the code, please leave a comment below and share if you found it helpful.

Leave a Reply

Your email address will not be published. Required fields are marked *