DIY Nikon DSLR IR Remote with MSP430

Three years back in time, I bought Nikon D3000 DSLR. I started shooting, but the moment I needed remote, came one day (more over night), during on night photography session. I checked all local suppliers, but the prices were high. I ordered one from China. The problem with orders from China is that they take time. I started waiting and one day I made my IR remote, using the MSP430.

This is a youtube video showing the remote in action:

It doesn’t use the Launchpad hardware, I use it only for programming the MSP430G2231. This is the schematic of the remote:

Nikon Remote Schematic

This is a photo of the prototype

Nikon Remote

One tip use good quality buttons, I had to debug this low cost button for more than 1/2 hour. The battery I used is 3V, not 4.5 V, like in the schematic. You can remove the RESET button, I placed it for other purposes.

Now the code:

//; 2000 us 	ON
//; 27830 us 	OFF
//; 390 us 	ON
//; 1580 us	OFF
//; 410 us	ON
//; 3580 us 	OFF
//; 400 us 	ON
//; repeat after 63200 us (OFF)

#include 

void main(void)
{
	WDTCTL = WDTPW + WDTHOLD; // Stop watchdog timer
	BCSCTL1 = CALBC1_1MHZ; // Set range
	DCOCTL = CALDCO_1MHZ;
	P1DIR = 0x41; // P1.0 and P1.6 output (red and green LEDs)
	_delay_cycles(100000);
		P1OUT = 0x41;
	_delay_cycles(2000);
	P1OUT = 0x00;
	_delay_cycles(27830);
	P1OUT = 0x41;
	_delay_cycles(390);
	P1OUT = 0x00;
	_delay_cycles(1580);
	P1OUT = 0x41;
	_delay_cycles(410);
	P1OUT = 0x00;
	_delay_cycles(3580);
	P1OUT = 0x41;
	_delay_cycles(400);
	P1OUT = 0x00;

	_delay_cycles(63000);
		P1OUT = 0x41;
	_delay_cycles(2000);
	P1OUT = 0x00;
	_delay_cycles(27830);
	P1OUT = 0x41;
	_delay_cycles(390);
	P1OUT = 0x00;
	_delay_cycles(1580);
	P1OUT = 0x41;
	_delay_cycles(410);
	P1OUT = 0x00;
	_delay_cycles(3580);
	P1OUT = 0x41;
	_delay_cycles(400);
	P1OUT = 0x00;

	_delay_cycles(3000000);
	for (;;)
	{
	P1OUT = 0x41; // P1.6 on (red LED)
	_delay_cycles(1000000);
	P1OUT = 0x00;
	_delay_cycles(1000000);
	}
}

Happy shooting!

7 thoughts on “DIY Nikon DSLR IR Remote with MSP430

  1. Thanks for posting. Now how about a circuit to allow Slave Flash units for my D90 DSL using the MSP430 chip. I want to shoot night shots of steam locomotives so need many wireless slave flash units.
    Thanks,
    Rob

    • Hi, Interesting idea, but it will be better to use a RF trigger, because IR is for short distances, and requires a direct/visual contact. Regards

    • I have had very good luck with the very inexpensive RF flash remotes from cowboystudios found on Amazon.com; these are known as Cactus V4 elsewhere). I think I paid $35 for the transmitter and two receivers and then bought a third receiver for less than $15. Another popular option is the Yongnuo RF-603 or the Cactus V5 that both can serve as a remote shutter trigger for Canon and Nikon DSLRs. For trains you probably want longer range devices, check out comparisons here: http://www.lightingrumours.com/flash-triggering-guide. Best value in the “name brand” triggers is probably the $99 PocketWizard PlusX.

Leave a Reply

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


*