Go Down

Topic: Photo Slave Flash controller (Read 3137 times) previous topic - next topic


I was reading Mr Ed Halleys interesting posts about photo tips on the arduino forums.  I am a long time photographer using the Nikon systems.

I would like to use arduino to build a programmable slave flash controller to use with those pesky pre-fash systems like Nikon CLS.
A guy named Rolf built one using a PIC on DIYphoto site and he has it on pbase. He did not disclose his source code, however.
The Arduino just has to detect the first preflash and then implement a delay time and then fire the slave flash when the main flash fires. He has some other bells and whistles on it like sleep mode, and self setting modes.

I would have to do some research to see what the timing is of the Nikon preflashes unless someone has some info on it.... And also Canon.

What do you all think of this project ??  If I get this going I will post it on the forums.

Best regards,

Nick V  (Teradon)


Yes this sounds like a good project and is well within the capabilities of the Arduino.


I'd also be interested in this as a long time Nikon user.  I have one SB-800, but to buy a couple more would be very prohibitively expensive.

It shouldn't be too hard to do once you know the time delay, Arduino has a very handy delaymicroseconds() function.  On a related note, does anyone know a good online source for phototransistors to use for this (the usual suspects like Digikey and Mouser don't work well for me).

At the moment, I'm working on an intervalometer using the Nikon's IR input to trigger it.  The basic framework is working, but I'm trying to decide on a user interface (a keypad to type in a delay or a rotary encoder to dial a delay) and enclosure.  I also want to come up with some more features beyond the basic trigger the camera every XX seconds.


Jan 20, 2009, 06:06 pm Last Edit: Jan 20, 2009, 06:07 pm by halley Reason: 1
Thanks for the kind words.

This is an excellent project for Arduino.  I tried looking up some specs on the shortest and longest inter-flash time for you--time between trial flash and real flash--but I came up empty.  I will have to dig out the manual that came with my Speedlight, but even that's not a definitive limit for all flash variants.

Just in case you were not aware of the product, there's a slightly different solution to the problem called the Radiopopper.  It watches the "smart" infrared communication that happens prior to triggering, and then sends a radio signal to slave(s) at the appropriate time.  That way, you can hook "dumb" slaves into the Radiopopper receivers and incorporate them into your system.  I think it's entirely agnostic to Canon or Nikon or other, it's just a glorified infrared-radio-strobe bridge device.


One of the Arduino users at Dorkbot Bristol did some very nice water-splash photos:


I know his system is based on a Nikon DSLR and Nikon electronic flash units, and the Arduino, of course!  Photos of the rig are in my own set from that Dorkbot session:



I took high speed images like that with a trigger I built from plans in Popular Electronics in the early '90's.  I still have my rig, which worked beautiflly.  I did get some decent shots but it was a pain to have to shoot a roll of film and get it developed each time to tweak my trial and error.  Of course the lack of thyristorized flash on my rig didn't help with the tweaking.  I was heavily into Photography back then, but I've only bought my first DSLR last month (Nikon D90), because the quality of digital never seemed good enough.  I was trapped between my film Nikon SLR's and digital point and shoots.  I'm very impressed by the D90.  

I have a bit of buyer's remorse over the 18-200 zoom though.  My 18-year-old 35-70 AF lens is a tiny bit sharper.  The new lens has some significant barrel distortion and is so big that it casts a shadow when I use the pop-up flash and a wider zoom.  It's not bad, but given the trade-offs, I don't think the added zoom range was worth the $800 when I already had older Nikon AF lenses.  On the other hand, when I'm out shooting, the zoom range is just stunning and I'm planning to try out some distortion correction software.

Also, no suggestions for where to get some cheap phototransistors?  I have a couple of empty single-use flash cameras to use as "practice" building slaves.  I toyed with the idea of connecting 8 to an Arduino and trigging them in sequence within the time of a single exposure, but the SB-800 has a repeating mode that's fast enough.


Thanks for all the discussions.

You can get some phototransistors at All Electronics or Electronics Gold Mine ; they have various surplus ones in stock. That is the one I plan on using for the detector for the slave. It seems fairly sensitive.

If I had a storage scope, I would hook it up to record the preflashes coming out of my D70 in CLS commander mode. That would tell me the timing. Otherwise, I am going to have to count it using some interrupt timers on the arduino board. That is a work around. The Nikon CLS system does some talking to the remote flashes before the main flash fires. The commander does not contribute to the exposure at all.

That is why your normal optical slave flashes don't work. They fire too soon before the actual shutter opens.....


Go Up