Infrared Remote Control for Nikon D40/D70 Camera using Arduino

Here are instructions on how to program and test an arduino to trigger any Nikon camera that has an infrared remote function.

WARNING: If you found this through a link on "Answers", don't trust it completely, it's not finished and there are bits I know aren't yet correct.

Remove these adsRemove these ads by Signing Up

Step 1: The theory

Step 2: Arduino code

Picture of Arduino code
The code attached below can be opened and viewed in the Arduino development environment or just as a text file.

The timings in the code are for a Nikon camera. If you want this to work with a Canon or other DSLR you'll need to look up the correct timings

I chose not to just paste it in as it became almost unreadable.

Step 3: The test circuit

Picture of The test circuit
Before you go soldering together the hackduino and your LED it would probably be smart to test the code you wrote/modified works. The diagram below shows how to connect the infrared LED to the Arduino. It's dead simple!

Upload the code to the Arduino, attach the LED and power and then aim the LED at your camera. When you press the Arduino's reset button the code will run and your camera should trigger. Be sure you've turned on remote triggering in your camera's menu first!

Step 4: Off-board

Picture of Off-board
While the circuit shown in step 3 is really quick and simple to make, it's not very portable and you wouldn't want to tie up your Arduino board so you couldn't use it for anything else.

For that reason this step shows you how to take the Atmega168 or Atmega328 microcontroller with Arduino bootloader and solder only the components needed onto a small piece of veroboard. It uses the barebones implementation  as described by this instructable, the Hackduino, by jmsaavedra.

For about $8 you get the same functionality in a smaller package than your arduino development board. I used the circuit found in jmsaavedra's instructable to make my own Hackduino which I could then cram in a nice box.

The components you will need are: