First Project : DSLR Intervalometer :)

I was a bit slow getting into the whole Arduino thing. I've read a lot of stuff about Arduinos over the past few months that didn't really make a whole lot of sense to me until I saw Jeremy Blum's (SciGuy14) Arduino videos on Youtube. I'd been inspired by the folks at to have a go at one of these at some point, but I kept putting it off purely because I most of it went way over my head (because it's nearly 20 years since I last did any kind of electronics) and I haven't had the time to look into it. But, after watching Jeremy's videos, I picked up an Uno, a new soldering iron, a bunch of components and got stuck in.

After finally getting my quick rough breadboard & bits version working the way I wanted (based off this, this and this), I figured it was time to get things a bit more polished so I can actually take it out of the house and use it over the next few weeks.

I've had a couple of people on here show interest in the project, as well as a bunch of people on Twitter and locally, so thought I'd post something up on here to point everybody to. :slight_smile:

So, the image below is what I've been trying to put together over the last couple of weeks. Basically input is taken from the PS2 controller in order to adjust the interval between shots, and to start and stop the firing sequence. The PS2 controller might seem a little overkill, but eventually I plan to add a bunch of other software features & menus to the intervalometer itself, as well as stepper or servo motors to send it up and down a slider and operate a pan/tilt head, and I think having 14 buttons and two analogue joysticks using only 4 Arduino pins will make life much easier. :slight_smile:

The board outputs visually to a 4x20 HD44780 LCD via a 74HC164 shift register, and it triggers the camera's shutter via a 4N25 optocoupler. The camera connects to the board by way of a cannibalised 3 pin connector from a dead RF-602 receiver. Basically I went with this option because Yongnuo (the manufacturer of the RF-602) supply a bunch of different cables to go from this 3 pin socket straight to Nikon 10-pin plugs, PC sync plugs (the main two I'll be using), as well as various other Nikon & Canon plugs for different models of camera body. So, being able to easily switch out the cable to go between cameras is a lot easier than having to desolder & resolder a new cable each time I want to use a different camera. The 3-pin to PC sync plug also lets me plug straight into an RF-602 transmitter to fire a camera sitting on a receiver up to 100 metres away (according to the docs anyway, personally I've only tested to about 50m).

This is how my mess looked this morning (forgive the crappy image, shot it on the iPhone to post on Twitter), but it works. Shutter hooked up to Pin 13 via 4N25, PS2 controller on pins 9-12, LCD on pins 14-17 (Analogue pins 0-3), along with 5v & gnd where appropriate.

I headed down to the local electronics shop earlier today and picked up a couple of boards and other bits I needed so I could start over and neaten things up a bit. Still a bit empty, and just going through it all in Photoshop to get things right in my head before I start soldering most of the stuff on. The two 16-pin connectors in the photo aren't actually soldered to the board, they're just there for illustrative purposes. The one on the left will actually be an 8-pin connector, there'll also be a 6-pin connector for the PS2 controller (there's actually 8 wires, but I'm not bothering with the rumble motors, heh), and a 2-pin connector going to the shutter connector cable, but I'm still waiting for those connectors to arrive in the mail.

I've been over the diagram a few times to make sure I've got everything pointing to the right places, and will continue to do so over the weekend (but if you spot something obvious, let me know :)). I realise I didn't put the 10K pot on there to control the contrast on the LCD, but I haven't forgotten it - it'll be in the gap at the bottom right where those blue lines currently are.

My missing components should arrive on Monday, so then I'll start get everything put together. :slight_smile:

I did not. Well, sort of. I bought a £2 PS2 controller extension cable on that big ol' auction site, chopped off one end, stripped the wires (careful, they're super thin), and used a meter to figure out which wire went to which pin (there are "standard" colour keys for the PS2 cables out there, but I guess a lot of 3rd party cables don't follow them).

Right now I just have the 6 wires soldered into that upside down piece of stripboard you see there. 2 of those wires go to the +5v and gnd lines, the other 4, along with one for the shutter, go to a 5-pin header (hence it being upside down, with those pins pushed into sockets 9-13 of the Uno).

I did see that, but I'm in a different continent and didn't fancy waiting weeks for it to arrive (mail from the US usually seems to take 2-3 weeks to get to the UK).

Perhaps, but I already received and cut up the PS2 extension cables, and it works, so I'm happy. :slight_smile:

Resurrecting this thread as I've done some more work on it. I have a couple of shields together all up and running and seemingly working fine plugged into the Uno.

I have a 3 pin output via a pair of 4N25s to go to the camera to cover AF/Shutter/Ground.
A 6 pin header to connect to the PS2 controller.
A 74HC164 shift register driving two 20x4 HD44780 LCDs.
A DS1307 RTC (hopefully I'll have enough memory left in the Uno to eventually add an SD card slot for logging).

I've not gotten my final software written for it yet, and at the moment I'm still testing stuff out with it, using lots of different mini sketches to test different features and figure out everything I want it to be able to do.

But, now I'm at the point of trying to get all this lot onto a single board, and eliminate the Uno, to save as much space as possible. I'm etching myself using the toner transfer method onto single sided board. I'm perfectly happy with this process now, have been practising a fair bit with it over the last month or so to see how fine I can get the traces and gaps between them to be, and now I can get pretty perfect boards first time every time, but this one'll be my biggest so far.

I've been making mostly Arduino shield sized or smaller boards. This one'll be Eagle's limit of 4"x3.2". My hope is to have all the above on it, as well as the ATMega328 and a LM2575 5v buck converter - so that I can power the unit out in the field with either 7.2v or 12v LiIon batteries.

I've got the schematic together, and I just wanted to post it up here and get some opinions before I started making it up to get some opinions and feedback in case I've missed anything glaringly obvious (it's a bit big, so linked it instead of inline display).

JP7 is a 3.3v output, basically so I have the option of hooking up 3.3v devices if desired. I end up with 8 or 9 pins free on this, so if I had the memory for it, I was thinking of adding some Sparkfun lasers (whi9ch are 3.3v) to turn it into a laser trigger too for shooting fast moving subjects and high speed photography.

JP8-12 are just jumpers to complete tracks as I'm working on a single sided board.

And this is how the board looks at the moment - which may change a bit once I get my final components here as the footprints on some items might be slightly off. I tried to route it to where I had as few wires & jumpers as possible to complete the circuits. JP 8-10 are just to extend the ground plane, and JP 11-12 complete the connection to the 6 pin ISP header.