High Speed Trigger Blog

Red Satin
Precision High Speed Photography Trigger
This blog page is dedicated to the Tutorial for the Precision High Speed Photography Trigger. Questions, problems, improvements, or anything else related to the PHSPT should be posted on this blog page to help others out or when making improvements.

What IS the Precision High Speed Photography Trigger? It is an Arduino based Trigger for use in High Speed photography such as Water Drop Photography, Sound Activated Photography, Lightning Photography, and also has features for High Speed Time Lapse photography!

  1. The Detailed PDF Tutorial can be found here (WARNING! LARGE! ~7MB!)
  2. Wiring Diagrams
  3. The Arduino Initialization sketch (code) can be downloaded HERE (Run Once to initialize the Arduino Memory with default parameter values)
  4. The Arduino sketch (code) (Version 2.3) can be downloaded HERE
  5. The Arduino Website to download the Arduino Software
  6. (Use version 0022!) The newer version of the Arduino software does not work with all of the libraries used! :-\

  7. For some computers, it has been necessary to instal the latest VCP (Virtual COM Port) drivers. Those can be found on the FTDI website HERE.

Alright Everyone! There are MANY MANY MANY hours spent on the creation of this device and the creation of a VERY detailed document on how to make a Precision High Speed Photography Trigger of your very own! :-) The PDF document contains High Resolution photos and detailed instructions for making this device along with a detailed parts list.

ENJOY!!! And please let me know what you think about it all! :-)


Post Comments below (Comments are listed most recent first)



  1. Bert Meijer November 15, 2014 at 11:17 am #

    Hello Michael,
    Thanks for the wonderfull PDF tutorial..
    In your’e tutorial, you using an Arduino Mega.
    I’ll have an Arduino Uno, can i use the same code or do i have to buy an Arduino mega for it?

    tnx allready,

  2. Bill July 22, 2014 at 3:33 am #

    I am asking for help if possible. I wish to run High Speed Trigger using a keypad rather than buttons. I have tried to change the code without success. Is anybody able to help

    • Michael Ross
      Michael Ross October 6, 2014 at 8:32 am #

      Hi Bill,

      I apologize for the long delay in a reply. I just found this post going through comments in the admin portion of the website and I had not seen it before. Do you still need help with this? I can help you change the code to use different pins on the arduino if you are using the keypad as different switches basically. Not sure what you intend to do with the keypad I guess. Let me know if you still need a hand.

  3. Rosario April 1, 2014 at 4:55 am #

    Anyone solved the problem where all solenoid fired at once .

  4. messenger March 30, 2014 at 7:29 am #

    I’m putting together my Arduino kit so I can build my own drop trigger. Question; Can it work with my Nikon D60? It has a remote trigger, (ML-L3 Wireless Remote Control (Infrared). If so, do I have to make changes to the codes?

  5. Rosario March 8, 2014 at 5:16 pm #

    Hi all,
    As I am using the cny74-4 and I am confused for the different pinout can please someone be so kind to tell me the changes that I need to make to the circuit., please.


  6. Joseph Bejm June 13, 2013 at 2:10 pm #

    Hi Michael,
    I just look at your box and then I saw that you made a new one with 4 lines and 5 switches.
    The original had 3 switches. Is there are different or just relocation of other switches.

    What makes a different between two boxes and what it does to the schematics (Wiring)?


  7. Simon June 6, 2013 at 3:03 pm #

    Put some pictures on Flickr created with Micheals Trigger. if you are interested they are here.



  8. Simon June 6, 2013 at 2:26 pm #

    Hi Chris, i checked through the new v2 and took 2 new lines and added them to the original version i am using. check through the new code and put these 2 lines in the same place in original.
    PeizoValue = 1;
    LightningDetectValue = 1;

    Worked for me. Are your valves firing independantly or all together? Might try a separate optocoupler for each (only have 2)


    • Chris R June 6, 2013 at 2:41 pm #

      cheers simon
      will give that a go .. just gotta swap my mega out for a new 1 first … was out after dark last weekend with v2 a bunch of waterbaloons, party poppers, flour, glitter and stars lol all ready to play and i found the flash problem .. brought the box back in to adjust the delay defaults ..then when i went back out i plugged the 24v power lead into the shutter release on the box by mistake lol ops (that will teach me for not using diff plugs hehe)
      have not tried the valves …got a lil distracted by the DLW. Ooo and a lil canon powershot sx50 hs i brought to play with moon pics cause of the huge zoom its got :)

    • Simon June 6, 2013 at 3:16 pm #

      Been there done that, killed a mega during the build. Giving me some ideas with the flour & glitter, did blow up a balloon while having a smoke the other day :-). Now looking for a cheap air rifle to really test the sound trigger and destroy some fruit.

  9. Chris R June 6, 2013 at 2:02 pm #

    hi simon
    is it the new v2 version u added a couple of lines too … because i am having the same problem now the program does not seem to be adding a flash delay and it resets delay to 0 unless u restart
    cheers chris

  10. Simon June 5, 2013 at 11:23 am #

    Hi all,
    Thanks for the new sound trigger code Micheal, had to add the 2 lines to the original code because the v2 wouldnt let me alter the flash delay without saving and restarting the box but working well.
    My solenoids wont work independantly either, i am assuming its my wiring (had to put a transistors in) maybe flooding the optocoupler with light on the output side??? but looking through the code i cant find reference to the a-b delay, this is probably all down to me being new to both coding and electronics?
    Thanks again Micheal, would not have had so much fun if i bought one off the shelf, might be frustrating at times but enjoy the challenge and getting some good results.

  11. foosi June 5, 2013 at 2:57 am #

    Hi Michael,
    I found that the code for multiple valve is confusing. My valve fired all same time and the delay between valve not working. mind to advise?

  12. Chris R May 26, 2013 at 4:16 pm #

    thanks 4 the new update ..works gr8 as long as u give it a lil while to reset itself (my testing time i was setting if all off to quick between trys and i guess it didnt have time to reset) … tip 4 others ..if like me u are very new to this arduino stuff and u need to make some big adjustments to the default values each time u turn the box on ! ( my sound threshold needed to be 850 but 200 is the default so took a lil while to adjust lol) the defaults can be set in the sketch if u adjust the numbers on the “float ValueArray” line … i know this maybe easy for sum of u … but i only just worked it out :)
    thanks guys

  13. Wes May 19, 2013 at 3:21 pm #

    I’ve built it! But it’s not without some issues. Hopefully these are easy answers.

    1) The IR receiver isn’t sensitive enough to trigger when the drops pass through it, it only registers if I run my finger through it.

    2) I would prefer to set the camera to a pre-defined speed, but I can’t time it to go off just before the pump(s) go off. For example, If I don’t want to be in dark room and use the bulb mode, I instead want to set the camera for a decent DOF and have the shutter go off for a half second. Let’s assume for the sake of argument, ambient light doesn’t factor in. Is there a way to have the shutter go off, let’s say 200 ms before the pump(s) go off?

    3) If question 2 can or cannot be done and Bulb mode is to be used; when I start an event, the shutter will open, but after the event has finished, it doesn’t close. I am using a Canon EOS 60D, so only 2 pins are in use.

    • Michael Ross
      Michael Ross May 19, 2013 at 3:50 pm #

      Congrats Wes! Glad you were able to get it completed! :-) Let’s see if I can answer your questions now.

      1) I had a bit of problem with the IR sensor actually being a bit too strong for water drops. Same symptoms you are experiencing. It would work with a finger but not with a water drop passing through it. I fixed the problem by not aiming the IR emitter and detector directly at each other. If you angle them out a little bit, so that just the edge of the IR signal is in play, then it will be a little more sensitive to the lower levels of IR.

      2) You really don’t have much of choice with high speed photography like this other than to be in a dark room. It is not the shutter speed that is capturing the action, it is the speed of the flash firing that will capture the movement and freeze it. The shutter needs to be open during the sequence and therefore you need a dark room or you will overexpose your photo. But, putting that aside, yes, you can make changes to the code to get the sequence down to specifically how you would like it.

      3) I am sorry, but I do not own a Canon so it is hard for me to try to duplicate what is happening. That circuit should be very simple though. Simply shorting out the two connections from the canon should open the shutter and then when the short is taken to an open connection again, it should close the shutter. If that is not happening, then something is keeping the short from opening again it sounds like. The “switch” to control that is going through one of the optocouplers. If you take the wires from the camera, short them together and then pull them back apart, does the shutter open and then close?

    • Wes May 19, 2013 at 6:38 pm #

      Hello Michael, thank you for your answers.

      1. That would explain why on the HiViz box, there is a pot to vary the sensitivity.

      2. I thought my question would have been a coding issue. :)

      3. This one is the bugger :/ I did confirm that my cable when shorted opens the camera and vice-versa. I didn’t user your opto isolater, I used a single 4N35 which works the same way. I’ll have to breadboard it by itself and use my UNO to see what is going on.

      • Michael Ross
        Michael Ross May 19, 2013 at 9:01 pm #

        Wes, it sounds like that optocoupler is acting in way where it will stay connected even when the input is turned off. I would test that with a meter to make sure it does in fact open the circuit when the input trigger is released.

  14. Leon May 14, 2013 at 10:17 am #

    Hi Michael
    If i change my “flash delay” for the sound it changes for the IR as well.Is it supposed to work that way or can it be stored seperately


    • Michael Ross
      Michael Ross May 15, 2013 at 10:15 pm #

      Hi Leon, Yes, currently the flash delay is a single variable that must be adjusted for whatever mode you are in. You could add an additional variable for this but you will need to change the inititialization code as well since it creates the storage locations for these variables and writes an initial default value.

  15. Melody May 13, 2013 at 10:06 pm #

    So I found you in my search to learn and explore the art of photographing paint and water splashes. I found you obviously and I was wondering how quickly one could build this, what level of commitment and technical know-how would be needed (like if you’re just exploring it and don’t own a super expensive camera thats super high quality). I wrote a bit about what motivates me to explore the art here: http://digitalcameraabundanceblog.wordpress.com/2013/05/14/high-speed-splash-photography/

    So I’m wondering if I should even attempt building this machine, if I should start smaller, what your thoughts are in general given your ex. with the art and my interest and what I wrote about my resources and all on my blog.

    Thanks! You seem to have built something amazing and very useful and so good of you to give out the plans for free.

    • Michael Ross
      Michael Ross May 14, 2013 at 12:02 am #

      Hi Melody. It really depends on your level of understanding with basic electricity and electronics more than anything. Also, having the tools to work with electronic circuits is plus. If you already have the tools such as a multimeter and soldering iron, then I would suggest reading through the tutorial. If you make it through that without it turning you the other direction, then you might want to try giving it a go. A basic understanding of programming logic flow would also help but is not totally necessary. That is only if you want to get in and make adjustments to the code. There are other options available but of course, they will probably be more expensive. If you haven’t found her yet, and I would be surprised if you haven’t, Look up Corrie White in relation to high speed water photography. Incredible work and she has written a few tutorials for Digital-Photography-School.com also.

      If you decide to take on this project, feel free to fire away with questions on it here on this blog.


  16. Michael Ross
    Michael Ross May 9, 2013 at 5:28 pm #

    Okay… I glanced through some of the comments and did a little diagnosis of the code and found a few areas that needed some changes. Specifically to the sound and lightning trigger areas. The variable was not being reset so it would sort of get caught up in an endless loop after firing once. I have changed the code and made it available through the link at the top of the blog posting. It also now shows the version of the code on the display on startup (which is up to version 2.3 as of this comment.)

    Regarding the multiple Valves opening, you need to make sure the additional valves are set to Active = 1 in the setup in order to activate the additional valves. Then you can set the delay between valves if you want delays. Even if you set the delay between valves as zero, the valves will not actually open at exactly the same time. The code has to do one at a time and so it goes through the sequence of opening the first one, then closing it, then opening the second one and closing it, and so forth. What I had to do to make up for this is to offset the valve positioning where they are mounted. Dealing with water drops is definitely not a perfect science and duplicating water drops forming and falling is impossible. Even when dealing with drop collisions you can get everything set up and working properly with the timing, and every collision will be a hit or miss but will be different at the very least. The main reason I brought all of that up is that you can try to get things more precise, but without more precision in the equipment and setup, it may really just be a waist of effort.

  17. Michael Ross
    Michael Ross May 8, 2013 at 11:09 am #

    Howdy! I apologize for being AWOL on this project for a while. I have had way too many other projects to complete. But I am getting caught up a bit more and will try to scan through this a little later this evening to see if I can answer some questions or maybe address some of the issues.


  18. Maarten May 8, 2013 at 10:27 am #

    Hi guys,

    I have not completely given up on this project but I have to admit to ignoring the mass of electronic bits on my desk for almost a month now.
    With the better weather finally arriving in the UK, I have been out on my bike rather than trying to figure out what’s wrong with the PHSPT.

    • Leon May 8, 2013 at 12:57 pm #

      Hi Ric
      i’m not on the valve’s yet (baby steps) but i’ll get there soon.I dont know much about programming but I have found a retired electronic engineer thats willing to help ,so i will update here as soon as i find something out

  19. Ric C May 8, 2013 at 9:40 am #

    Hi Leon and all..
    I had the same problem and I had to add a delay line on both sound and lightining detector.
    Now it’s all working.
    But the only thing is not working properly, and I ask Michael Ross of he’s got any solutions, is the sequence of firing the solenoids.
    On my update menu I have a option of setting the delay between the valves AB, BC and CD. If I select these delays it would not trigger the valves using the delays.
    I’m learning a bit more arduino codes and I’m working in a unity that would let me control these delays. But I belive it have to be do e using function millis() . “Blink without delay” and adapting to the Michael Ross Exrom setup.
    Is anyone able to help? I have a ideia but I’m having problems with the logic. Because I’m learning the codes…
    Hope we can build this project everybody together.
    Any question let me know.

  20. leon May 8, 2013 at 8:44 am #

    Ric C ,Maarten and Simon

    Did you guys got that problem sorted out with the sound and lightning…..it only worked once. I think i got the problem solved
    there is a line missing , just want to test it to make sure.Will let you know

  21. Leon May 5, 2013 at 11:41 am #

    Hi Michael
    I’m having problems with the sound trigger, it can only be used once. Then i have to power down and on again for it to work. I have rebuiled the hole circuit twice already and checked and re-checked everything .I don’t know anything about programming so hopefully you can help me in this regard


  22. Chris R April 25, 2013 at 9:12 pm #

    Hi nickulus when i built mine i used the same optocoupler and solenoid that you are using but had to add the tip120’s there is a pic below of the set up used but the wiring is for the original optocoupler i think i had to reverse every other set of wires on the cyn74 but the setup should all work

  23. nickulus April 25, 2013 at 3:07 am #

    Hi Michael,
    Yes, I did account the different pin-out, I`m in search for new optocoupler just in case.
    My solenoid is a chinese one called chuka :]
    What is the current draw is a good question, but there is no information for this, I`m still waiting for the datasheet.
    Does anyone an european supplier for shako valves?

    • Michael Ross
      Michael Ross April 25, 2013 at 8:43 pm #

      Nickulus, Okay… so using Ohm’s law we can calculate the Current and resistance by using the voltage of 12 volts and the wattage of 2.5 as stated on the solenoids. This comes out 208.3 milliamps and 57.6 ohms for resistance. Do you have the solenoids connected correctly to get the current flowing the right direction through the optocoupler? Maybe if you email me a picture of your circuit I can help troubleshoot a little better. Michael R Ross @ Verizon.net (with no spaces) If the solenoids work fine directly connected, it has to be something with the optocoupler. I did zap a few of the ones that I had by connecting them backwards by the way. And it took me a while to figure that out too.

      Oh… the reason I am thinking the optocoupler might be zapped is that the ones I used were meant for high voltage and current. That is another one of the main differences I see in what you are using to the ones that I used.

      And just FYI.. on the Shako valves, it was sort of pain to even purchase them in the US. There was no place to purchase them online that I found and I had to contact the only distributor I could find to do the transaction via email and filling out forms manually.

    • nickulus May 22, 2013 at 1:18 pm #

      First of all, sorry for the late respond.
      I did managed to get it running after replacing the optocoupler and blowing the 5V power line.
      Now I`m on my way searching for IR receiver’s components.
      Next step will be to take the project to PCB.

      Thank you very much for your support guys :)

  24. Michael Ross
    Michael Ross April 24, 2013 at 6:35 pm #

    Howdy Everyone!

    Sorry I have been AWOL for a while. I have been extremely busy on other things as well as looking for a job but I thought I would try to address a few things quickly.

    Nickulus, I took a quick look at the CNY74-4 datasheet and the first thing I noticed was that the pins are NOT arranged the same. Did you account for that in your circuit? Also What solenoids are you using? Do you know what the current draw or amperage is for them?

    Regarding the power for the Arduino… In my experience, 9 volts is about the best thing you give an Arduino as a power source to the power connector. If you give it 12 volts here, make sure it is not over 12 volts at all (like a car or motocycle battery might give you) or you will overheat the regulator and cause the Arduino to do some strange things! I have also fed a regulated 5 volts to the 5v pin on many occasions with no issues at all. Just make sure it is regulated.

    Since it has been a while, I can’t remember if I have the latest code for the trigger linked to the download above. I will make sure that is updated as well.

    Is anyone else continuing to experience any problems or does anyone else have any questions?

  25. nickulus April 24, 2013 at 3:51 pm #

    Hello all,
    Thanks for the fun project, Michael:)
    I have come to a dead end. When measuring the solenoid circuit, it gives ~2 volts when”off” and ~12V when “on”, so far, so good. But when a solenoid is connected, the voltage is ~2V no matter the position of the drain button(on or off).
    Tried with TIP120 transistor, but still no difference. While using LED, all works ok.
    When the solenoid is connected directly to the 12V circuit, it opens fine. I`m using CNY74-4 optocoupler, which has normal phototransistor, not like the darlington type in PS2532.
    Any suggestions?

  26. Wes April 10, 2013 at 11:01 am #

    @Simon: I have already had the pleasure of frying my atmega chip on an UNO by applying unrestricted 5v to one of the pins. I got lucky and didn’t have to replace the whole board.

    @Maarten: I figured that could be the only solution. I like the idea of connecting to the power plug on the arduino itself since it already has a built in voltage regulator.

    I guess its time to jump into the pool. I’ll start assembly this weekend.

  27. simon April 10, 2013 at 1:37 am #

    Be careful connecting to 5v, fried my board when I was tinkering and put a 12v feed by mistake. Use 12v and a plug to the socket next to USB, this has a built in voltage regulator. I think I read the arduino needs 7-12v feed.

  28. Maarten April 10, 2013 at 1:04 am #


    I was wondering the same earlier. Look further down these messages until you find Ric’s post of March 30th:

    Quote: In order to run your unit off USB you will need to supply arduino with 5v from your circuit board (make sure you jump from the 5 volts track on breadboard). You have to place a jumper wire from 5v + to Vin on aduino and a jump wire from 5v – to any GRD pin on arduino. Unquote

    I could not figure it out either but it solved that solved the power problem for me..


    Thank you very much for the link to the Arduino forum. I have done searches there but have not come across that thread. Most helpful! Thanks!

  29. Wes April 9, 2013 at 4:03 pm #

    I’m pretty sure I’m gonna get a tomato to the head, but for the life of me, I can’t see where the Arduino is getting its power….I’ve looked over the detailed diagram tracing power. I’ve done word searches in the pdf file, but I can’t spot that crucial bit of info.

  30. simon April 9, 2013 at 12:15 pm #

    Maarten, had similar problem getting shutter to work, had to put in a small delay between open and close on sound trigger (20ms ? I think). Chris and I had a thread running on the arduino forum, read it through because we went down a few dead ends.

  31. Simon April 7, 2013 at 8:24 am #

    Hi Ric, built one of these a while ago and have the same problem with all valves going at once, be interested if you find a solution. also still have a problem with sound, it will trigger once then have to reset threshold or turn off & on before it will trigger again. Have found it to be more reliable wthout the ir on water drops, just disconnect and use the timers.

  32. Ric C April 7, 2013 at 4:11 am #

    Hi Maarten. I can confirm that I’m having the message READY TO FIRE after each trigger.
    On the lightning mode I was having the same problem and them I added that delay line and it start working.
    On the sound mode everything is working.
    On IR mode it’s working but not the way I expected. I’ve noticed that the trigger controls 4 valves, but they are aways on at same time. I have the optio. To put delay between valves AB, BC, CD, but they don’t change anything. The arrays that control those delays are not even mentioned on the main sketch. I’m having to learn the programming in order to alter it a bit.
    I’ll get there one point. And I can post the sketch when it’s working. I need a help of someone how is good with Arduino Programming. Anyone available to help me?

  33. Maarten April 6, 2013 at 6:46 am #


    In order for me to diagnose where my circuit is failing, could you tell me if the LCD screen gives you a message when a trigger has occurred, for example after showing Lightning Mode / IR Mode READY TO FIRE!
    I am trying to find out if I generate a trigger but its is just not going through to the shutter or if I just do not manage to trigger at all. I hope that makes sense.

  34. Maarten April 6, 2013 at 3:18 am #

    No, not yet. I am planning to separate the flash and shutter control onto a solderless breadboard and use another optocoupler as I might have a duff one. I do not however want to start desoldering before have proven I can make it work with a new chip.

    How are you getting on?

  35. Ric C April 5, 2013 at 6:12 pm #

    Any lucky with your sensors, Maarten?

  36. Maarten April 2, 2013 at 1:13 pm #


    I cannot help you with Fritzing but I would imagine you will run out of space really quickly if you want to have your board sit over the Mega. I have used a strip board and although I am sure you can make a lot better use of space than I have, my board is approximately twice the size ov the Mega.

  37. Maarten April 2, 2013 at 1:05 pm #


    When in update mode I do have the option to select the parameters “VALVE AB DELAY” , “VALVE BC DELAY” , “VALVE CD DELAY”. Maybe remove the diode is to blame although I would think that is a bit odd.
    In the sketch I have a line containing the Valve Delay options:

    char* DescArray[] = {“Flash Delay”, “Drop Delay”, “Drop Size”, “Initial Delay”, “Shutter Delay”, “MutiFlash”, “MultiFlash Delay”, “# of Drops”, “Valve A Active”, “Valve B Active”, “Valve C Active”, “Valve D Active”, “Valve Delay AB”, “Valve Delay BC”, “Valve Delay CD”,”PreFlash Trigger”,”Sound Threshold”,”Current Sound”,”Lightning Threshold”,”Current Light”,”IV Start Delay”,”IV Shutter Speed”,”IV Interval Secs”,”IV Intrval MSecs”,”IV Repetitions”};

    I could not select certain setting because I had shorted two copper strips with excessive solder.

    My progress has been limited in the sense that I can trigger the solenoids but I have still not been able to trigger them through any of the sensors. The lightning sensor seems to register different light conditions in the Update mode so works but does not trigger the shutter even with lowering the threshold to a very low value.
    Similarly the IR mode does not result in a shutter activation. I am not sure how to test that. I am rapidly running out of ideas which is a shame as I am really quite close.

  38. Ric C April 2, 2013 at 11:52 am #

    I’ve wired my second valve and I’m having a problem setting the delay between the two (A and B).
    According to the Sketch, I could see that the parameters “VALVE AB DELAY” , “VALVE BC DELAY” , “VALVE CD DELAY” are related to the “DescArray[12]” , “DescArray[13]” , “DescArray[14]”.
    But I didn’t find a line on the Sketch calling these Arrays.
    I suspect that is the problem.
    I’d like to ask Mr Ross how do we set this delay between the valves?

    P.S: I’ve fitted a reverse biased diode on my solenoid valves. Would this be the source of my problem?

    Thanks to all

  39. SHAUN March 30, 2013 at 11:10 pm #

    WITH THE VALVES ALL LINKED TOGETHER ONE ONE IS OPEND BY THE CONTROLER WENT ALL OF THE OPEN WITH OUT A DIODE IN EACH LINE i have had a board designed and make by a pro but thay maked a misstake that i did not pick up on whe it was in the paper stage so i am now trying to design it my self (has any one else designed a board in fritzing i am trying to get ming to fit over the mega

  40. Maarten March 30, 2013 at 1:24 pm #

    Ha! As expected, my dodgy soldering was to blame for the IR/Sound selection not working. So I might be testing soon as well!

  41. Maarten March 30, 2013 at 12:57 pm #


    Thanks for the tip on Arduino power supply; it boots up nicely on its own now. I downloaded Fritzing as well but decided just to get a strip board and design/solder as I went along. Now that disorganised method may have caused an issue with the task selection because now matter where I put the IR/Sound selector, it keeps giving me the message ‘waiting for sound….’ I have swapped switches but to no avail and my wiring seems to follow the the diagram properly.

    I’m looking forward to seeing your photos. I also will be using the Canon 100mm macro lens but with 1 x 580EX and 2 x 430 EXII.

  42. Ric C March 30, 2013 at 11:53 am #

    Hi Maarten.
    In order to run your unit off USB you will need to supply arduino with 5v from your circuit board (make sure you jump from the 5 volts track on breadboard). You have to place a jumper wire from 5v + to Vin on aduino and a jump wire from 5v – to any GRD pin on arduino.
    When I was wiring my 16×2 lcd I had to change pins acording to the one I used.
    Hope this will help.
    I’m also making a PCB of the mross circuit using a little cool program called Fritzing. Free to download and easy to use. You can etch your on PCB’s and make te breadboard mess more clean, organized and more reliable connections.
    I just finished wiring my second valve and will test today and tomorrow using a 100mm macro canon and 2 flashs ex550 canon. I will try to post then if they come out good.
    Need’s lot of patience and dubby.

  43. Maarten March 30, 2013 at 11:00 am #


    For the EXROM.h issue I posted a query on the Arduino board and was reassured, as you say, that it makes no difference as long as everything compiles properly. It has been an almost torturous road to get to even the initialisation sketch . I am building the 24V version with a 20×4 screen and was not getting anywhere so I decided to start again but solder everything. On reaching the initiation phase again nothing happened and it was only this morning at 5 am that I realised why. By adding the HelloWorld code I used to test the screen, copied from: http://learn.adafruit.com/adafruit-arduino-lesson-11-lcd-displays-1, to the initiation script I am finally making some progress. It initialises now and I am currently trying to figure out if I have my switches properly wired up as I seem to have trouble selecting the correct functions.

    You are more advanced that I so unfortunately cannot help you with your query.

    I will remember you extra delay when I get that far.

    Does your unit start and work without a USB connection to your computer?

  44. Ric C March 30, 2013 at 7:18 am #

    Hi Maarten.
    The word EXROM.h does not need to be highlighted, and in my case it still in black. It happens because it doesn’t have the file “keyword.txt” made for it, and this shouldn’t be a problem.
    I’ve done a 12v version using a 16×2 LCD. Start testing yesterday. it’s getting good.
    I had to add the delay line bellow: (find Lightning Sequence Void) to help reset the shutter. Going straight from “HIGH” to “LOW” wasn’t happening and I decided to add this “delay(1)” in between. Hope it works for you.

    // Release the Shutter
    digitalWrite(ShutterTrigger, HIGH);
    digitalWrite(ShutterTrigger, LOW);

    But I have another question:

    On the IR MODE, the Flash should be triggered just when the LAST DROP passes through the sensor.
    In my case it’s triggering the Flash when the first drop crosses the sensor.
    Not much of a problem, but I have to calculate the times of collision based on the “First” drop and not the “Second”.
    Does anyone know how to sort this problem?

    Thanks a lot.

  45. Maarten March 24, 2013 at 2:35 am #


    Can you be more precise about the added delay line please. I am also not seeing the EXROM.h in the code highlighted in orange. Does your addition of the delay line relate to that?


  46. Ric C March 23, 2013 at 6:43 pm #

    Sorted!! All working good.
    had to add a delay line to lightning void.
    I’ll play this week and post some results.
    happy days!!

  47. Walt zubak March 18, 2013 at 3:05 pm #

    If I use a 20×4 LCD is the code any different

  48. Maarten March 6, 2013 at 2:11 am #

    That last message should have read “for anyone wanting to build a 24V version in the UK”

  49. Maarten March 6, 2013 at 2:10 am #

    For anyone wanting to build a 24V version using the Shako solenoid, you can source them for a reasonable price from here: http://www.solenoidvalvesuk.com/. They offered me a 20% discount with me askinging. They do not come with the hose tails though. I ordered them separately from http://webbair.co.uk/ although you should be able to find them cheaper.

  50. Maarten March 5, 2013 at 12:26 pm #

    My compliments also to Michael as this is a thoroughly enjoyable project which I am close to finishing now. However, has anybody completed the project with a 20 x 4 (16 pin) screen? I have installed a similar screen as: http://learn.adafruit.com/adafruit-arduino-lesson-11-lcd-displays-1 but assume the code needs to be altered for this to work. Can anybody advise please?

  51. Ric C March 3, 2013 at 2:07 pm #

    Hi guys. Firs of all. Congratulation Michael. Your photos are great and your Precision Trigger simply the best.
    I’ve just finished my unit following the tutorial. I’m using Arduino 0022 and loaded the Initialization Sketch first. The intervalometer works fine, but Sound Sensor, Lightning Sensor and IR Sensor are working only on the first time I press the Launch. I’ve got all the libraries installed and the sketches uploaded fine. I’m wondering if could be a problem with EXROM not been able to record de values.??
    I’ve noticied that the word “EXROM.h” my code are not highlighted in Orange like the other 2 libraries. I don’t know much about arduino programming and tried to understand the codes. Does anyone know what the problem could be?
    I can’t wait to start playing. Help me, please!!!!
    Thanks a lot..

  52. Chris R February 14, 2013 at 2:50 pm #

    its a gr8 project, lotsa fun .. michael has put a lota work into it .. so only fair we all help out when poss … but it can be testing at times lol but thats part of the fun .. if i can be any more help just ask .. i think my email is sumwhere below if needed :)

  53. Maarten February 14, 2013 at 2:38 pm #

    Thanks Chris. I will have a look. There is a lot to say for keeping it simple and being able to reproduce Michael’s schematics to every detail so similar pin layout seems very tempting.

    Many thanks for your kind and very prompt help!


  54. Chris R February 14, 2013 at 2:28 pm #

    u have to look at the pins on some they do seem to change but they work the same
    for ones that wire up the same way as the diagram try http://www.uk.rs-online.com item number 691-2224 . u can get alot of the stuff from here but may be a little more pricey

  55. Maarten February 14, 2013 at 1:40 pm #

    Hi Chris,

    Thank you so much! I presume this is a like-for-like replacement in every sense of the word and everything works?

    Unfortunately, I have no electronic knowledge to judge these thing.


  56. Chris R February 14, 2013 at 1:22 pm #

    Hi Maarten I am in the uk too and have built one already .. got my optocouplers from ebay
    £2.75 each … hope this helps !

  57. Maarten February 14, 2013 at 2:09 am #

    What a fantastic project! Judging from the comments already posted, I am not the only one who is inspired by your work.

    Like Paolo in the post below, I also cannot locate a source of the NEC Quad OptoIsolator (I’m in the UK) and am looking to find a replacement. Can you please advise?


  58. viracocha50 January 26, 2013 at 3:35 am #

    ciao Paolo,
    ho appena realizzato il dispositivo e funziona perfettamente (apportando le dovute modifiche).
    Se vuoi chiarimenti per la realizzazione, ti posso dare la mia email per contatti più rapidi: macod50@tin.it
    Fatti sentire

  59. paolo January 25, 2013 at 10:58 am #

    hi Mr. Ross, I would firstly like to congratulate them for the tutorial on the trigger.

    I am passionate about photography and would like to make the instrument following his directions.

    Unfortunately here in Italy I can not find the two optocouplers NEC, I would ask you if you could kindly tell me
      some alternative.
    By the time I found two optocouplers TLP521-4-GB FTA TR 4 CH55V ISO2.5KDIL16 with pin equal to the NEC but with different electrical characteristics from those indicated by you

    waiting for your reply …. I cordially greet


  60. Jose L Torres November 5, 2012 at 5:49 pm #

    amazing work, Im downloading thinking to modified for insect fly Photography to catch the exactly moments where the insect star to fly. using a lazer sound detector on the insect as triguer (just a red one) not want to evaporate the insect :)

  61. Chris R October 8, 2012 at 2:27 pm #

    Hi hope ya dont mind, but thought i would share the transistor add ons to your circuit for ppl who cant get the solenoids to go http://www.flickr.com/photos/blinkey2012/8068037495
    hope this helps ppl fit them in

  62. Massimo October 3, 2012 at 8:55 am #

    I would like to implement the project.
    Is it possible to have the circuit diagram of the prototype?
    (not the wiring diagram).
    Thanks for your availability.

  63. Simon September 21, 2012 at 6:25 pm #

    It works, had a go with water drops this evening and its great, problem with the I.R. not picking up the drops but i disconnected that and it ran very reliably just off the timers. Took a bit of time getting the delays right. Off to buy some balloons tomorrow then a rain dance to get some lightning to test it on.

    Thanks Micheal, lots of fun hours ahead.

  64. Simon September 18, 2012 at 12:33 pm #

    Nearly there, all up and running. Had to put a transistor in to switch the solenoid. Couple of glitches to iron out, sound will only fire once without restart, if I press the go button a second time it just fires flash/shutter without waiting for sound. Think a similar thing is happening with lightning detector (only works once without restart) but it will not open shutter, it goes through the motions and waits for light then back to start screen. I might try with a small delay in the program between shutter high/low.

  65. Kim September 8, 2012 at 5:38 pm #

    Hi Chris, Thanks for the reply, I have done that but I can’t get it to work,Think I will give up and buy a stopshot, Have wasted enouch time and money on this obviously I am to stupid to be tackling this project.Cheers Kim

    • Chris R September 8, 2012 at 6:51 pm #

      nooo pls dont give up … u will regret it foreva u will always want what the system offers chk out the arduino forums to there is lots of help on there to

    • Chris R September 8, 2012 at 6:56 pm #

      remember the bit in the instructions that say pass it on .. err or was it help others cant remember now !!! but my email is chrisorkarin@ntlword.com dont wanna jam up michaels blog but if i can help i think it could get u a step further !

  66. Kim September 8, 2012 at 6:53 am #

    Hi Micheal. I have just about got everything together on my trigger,and I am attempting to load the code to my Arduino,But I get an error in the code ,the 1 off code and also the main code ,so I am unable to compile the code the error is as follows:”LCD Keypad” does not name a type,It is between the libraries list and set Arduino pins command .Can you tell me what I should put in there ? I have tried telling it what the LCD is but it will not work.Would appreciate any help,After all the time I have put in to get to this stage I am stumped, Thanks Kim

    • Chris R September 8, 2012 at 1:51 pm #

      hi kim new to this but did u copy the lcd keypad download into the version.22 arduino library
      i had same probs but did this and all was good. i got the download from the guys that sold me the lcd
      hope this helps

  67. Chris R September 7, 2012 at 2:24 pm #

    Hi michael
    ok first of thanks for the blinkey light msg i found it now :)
    so everything fires up now . but none of the sensors seem to work and im just wondering ! the power supply i found is 24v 0.5amp could this be the reason ? if not any other ideas where i should look when i connect the solenoid it will not open but if i put a meter on it , i get a 3v reading flash up after about 8 seconds
    thanks again

  68. Chris R September 6, 2012 at 3:18 pm #

    Hi all
    Still building mine but if u like me are building the trigger with the arduino mounted on the lcd . So u have no access to the usb without opening up the case. try searching ebay for 90degree panel mount usb B f/M. just ordered one and think it will make things a lil easier.
    hope this helps

  69. Michael Ross
    Michael Ross September 5, 2012 at 12:29 pm #

    I apogize for the delays in responding, I have been pretty busy lately. I will try to get some responses this afternoon.

  70. Chris R September 3, 2012 at 12:35 pm #

    This looks great I Have the box built and all running (I only put a few wires in the wrong places) Starting to make the cables now.. but i dont get the cool blinkey light msg on start up !! any ideas please ?

    • Michael Ross
      Michael Ross September 6, 2012 at 11:57 am #

      Hi Chris.
      The “Cool Blinky Light” message is in the Arduino code but it is commented out. If you want to see this happen, you will need to un-comment the code. (remove the two slashes at the start of each of the following lines of code:

      // if(RunOnce == 0)
      // {
      // RunOnce = 1;
      // ShuffleLights();
      // SelfDestruct();
      // }

      You will find this in the void loop area of the program.

  71. nate September 2, 2012 at 10:33 am #

    I’m looking for a retail source for a color mix-pack of 12V Indicator LEDs. Alternatively, if I were to use standard LEDs, would I use a resistor between them and the Arduino digital outputs? Of course, regular LEDs don’t look as nice as what you have used, so a retail suggestion would be appreciated.

    For the solenoid, I’m going to start out with the 12V model from Jameco, but if I were to look into a Shako, which model number should I go with, PU220-AR? Are there any other model details. Thanks.

    • Michael Ross
      Michael Ross September 6, 2012 at 12:05 pm #

      I purchased the indicator lights I used at an electronic surplus store locally. I might suggest an auto parts store that has a good selection of 12 volt lights or something similar online. The nice thing about getting them ready made for 12 volts is that the leds will already have the right resistor with them.

      Regarding the Shako valves, that is the correct part number. You need to make sure and get them with the 1/8″ fittings and 24 volt DC options. I think the specific part number with those options is PU220AR -01-S9

  72. shaun August 21, 2012 at 6:24 am #

    Do it have to be a 1500-300Hz Peizo as i am having pros finding one as most places over here only show volts

  73. shaun August 21, 2012 at 5:05 am #

    i am trying to get someone to do me a pcb for this system and thay are asking ???’s i not sure on
    1. Current limit on opto-couplers (PS2532)
    – Maximum collector-emitter current (output side) = 150mA per channel
    2. Both sides of shutter trigger output are grounded
    3. Valve trigger pins are tied together (valves controlled independantly by MCU?)
    4. Drive strength of Atmega2560 pins for lights and lamp trigger
    – Arduino website states that the 2560 can sink/source up to 40mA

    if any one has ideas of what to do or would like to have a look at the digram that he has layed out you can email me at ttopee1@gmail.com when i get a lay out for a pcb i will let you know if i can get past the probs he keeps bring up

  74. Mike Novack August 11, 2012 at 2:20 pm #

    I’m in the process of building something similar for dedicated water drop photos only. Do you have any results worked out between the different ($ vs $$$$) solenoids? I found some very cheap (just $2.75 each) 12v ones @ http://www.sciplus.com (they appear to be removed from Keurig coffee makers). There seems to be a good supply of these on eBay as well. I haven’t got all the parts I need to put the entire thing together yet so I can’t say how my bargain ones will actually work out in practice.

    • Michael Ross
      Michael Ross August 11, 2012 at 4:07 pm #

      Hi Mike! I only tested the two different valves that I ordered from the start but the Shako valves were superior to the cheaper valves by a LONG shot! Even though I could not nail down the specs on the reaction times of the two different valves I used, it was obvious that the Shako valve reaction time made them much more precise. I was able to get a consistent collision every time with the Shako valves compared to getting lucky with collisions every 30 shots or so with the cheaper valves. The Shako valves were a little over 4 times the cost of the cheaper valves at about $65 USD plus shipping but they are worth it in my opinion. :-) Hope that helps. Also, here is a link on some specific info using the Shako valves in water drop photos. This gets into it all with a lot of detail. http://www.scantips.com/drops/shako2/

  75. shaun August 7, 2012 at 4:34 am #

    Thank you for your help that has fixed the problem with the firmware And I have found I have a problem with my lcd display as well. So i going to fix that and find out if the circuit works properly

  76. shaun August 6, 2012 at 12:57 pm #

    Ya that worked all i get on the screen now is running waiting on sounds that normali am using the mega ask

    • shaun August 6, 2012 at 1:01 pm #

      ADK (sorry fone auto corrected

  77. shaun August 5, 2012 at 3:38 pm #

    that error script is what i get after the exrom is added into the lib. assuming i know little here is wring as i only just started and made the set up, I have no no experience is with the Arduino and the software (1.0.1) and i can get things out of the getting started with arduino book
    here is what i get if i leave out the exrom

    sketch_aug06a.cpp: In function ‘void setup()’:
    sketch_aug06a:184: error: ‘EXROM’ was not declared in this scope
    sketch_aug06a.cpp: In function ‘void ReadSwitches()’:
    sketch_aug06a:644: error: call of overloaded ‘write(int)’ is ambiguous
    C:\Users\main\Downloads\ARDUINO\arduino-1.0.1-windows\arduino-1.0.1\libraries\LiquidCrystal/LiquidCrystal.h:82: note: candidates are: virtual size_t LiquidCrystal::write(uint8_t)
    C:\Users\main\Downloads\ARDUINO\arduino-1.0.1-windows\arduino-1.0.1\hardware\arduino\cores\arduino/Print.h:49: note: size_t Print::write(const char*)
    sketch_aug06a.cpp: In function ‘void UpdateMode()’:
    sketch_aug06a:731: error: ‘EXROM’ was not declared in this scope

    if you went to email direct you can ttopee1@gmail.com

    • Michael Ross
      Michael Ross August 6, 2012 at 12:16 pm #

      Just to make sure you are using the same setup I have, I am using version 0022 of the Arduino software so download that version, install the libraries into the proper folder and give it a try with that version. I suspect there might be some updating issues with some of the libraries to the newer version of the Arduino software.

  78. shaun August 5, 2012 at 6:49 am #

    In file included from sketch_aug05a.cpp:33:
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\libraries\EXROM/EXROM.h:27:22: error: WProgram.h: No such file or directory
    In file included from sketch_aug05a.cpp:33:
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\libraries\EXROM/EXROM.h:33: error: ‘byte’ has not been declared
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\libraries\EXROM/EXROM.h:34: error: ‘byte’ has not been declared
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\libraries\EXROM/EXROM.h:37: error: ‘void EXROMClass::write(int, int)’ cannot be overloaded
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\libraries\EXROM/EXROM.h:33: error: with ‘void EXROMClass::write(int, int)’
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\libraries\EXROM/EXROM.h:38: error: ‘void EXROMClass::write(int, int*, int)’ cannot be overloaded
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\libraries\EXROM/EXROM.h:34: error: with ‘void EXROMClass::write(int, int*, int)’
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\libraries\EXROM/EXROM.h:48: error: ‘byte’ has not been declared
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\libraries\EXROM/EXROM.h:49: error: ‘byte’ has not been declared
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\libraries\EXROM/EXROM.h:52: error: ‘void EXROMClass::read(int, int*)’ cannot be overloaded
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\libraries\EXROM/EXROM.h:48: error: with ‘void EXROMClass::read(int, int*)’
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\libraries\EXROM/EXROM.h:53: error: ‘void EXROMClass::read(int, int*, int)’ cannot be overloaded
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\libraries\EXROM/EXROM.h:49: error: with ‘void EXROMClass::read(int, int*, int)’
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\libraries\EXROM/EXROM.h:63: error: ‘byte’ does not name a type
    sketch_aug05a.cpp: In function ‘void how is what i now have to fix

    sketch_aug05a:644: error: call of overloaded ‘write(int)’ is ambiguous
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\libraries\LiquidCrystal/LiquidCrystal.h:82: note: candidates are: virtual size_t LiquidCrystal::write(uint8_t)
    C:\Users\main\Desktop\ARDUINO\arduino-1.0.1\hardware\arduino\cores\arduino/Print.h:49: note: size_t Print::write(const char*)

    • Michael Ross
      Michael Ross August 5, 2012 at 10:36 am #

      Hi Shaun,
      Make sure you have the Arduino Libraries downloaded and installed in the proper location for the libraries to be recognized by the Arduino software. There is a note at the top of the code in a section called LIBRARIES USED that specify where they are located. You will need the EXROM Extention Library and the LCD Keypad Library for the code to work properly. Let me know if you need more help with this but it basically involves downloading and extracting the Libraries, then copying them to a folder under the Libraries area where your Arduino software is installed.

      • shaun August 5, 2012 at 3:04 pm #

        That is what i get when i put the exrom in

        • Michael Ross
          Michael Ross August 5, 2012 at 3:26 pm #

          I will need more details in order to help troubleshoot this. The errors tell me that the Arduino software is not seeing the libraries. What version of the Arduino software are you using? Did you verify that the Arduino software can see the libraries? If so, how did you verify it? Have you checked the Arduino install with a basic LED blink script to make sure you have proper communication between the computer and the Ardiono board? Have you selected the Arduino in the setup? Have you selected the proper com port in the setup? I apologize if I am assuming too little here, I have no idea what your experience is with the Arduino and the software so I am making some assuotions that this is new to you and a new install. Just want to make sure all the basics are covered before we get too far. :-) I am working off very little information here so the more you can supply, the better off we both will be. 😉

  79. shaun August 5, 2012 at 1:11 am #

    every time i try and sketch i get loads of problems with
    LCDKeypad lcd ;

    i have a long list if any one can help that was

  80. Kim August 4, 2012 at 2:16 am #

    Thanks for the reply Micheal,I will do that I did read somewhere that the Sony & Nikon connections are similar ,But I am taking a cautious approach as it’s my first attempt at something like this.Have been in the garage today starting to get it together and so far it’s looking good ,,Cheers Kim

  81. Kim August 3, 2012 at 7:05 pm #

    Hi Micheal, Thanks for a great project,I am keen to have a go at making one ,I was just wondering if you would be able to tell me if it will work with a Sony a65 and if so what output for the remote cable should I use ? The 2 wire or 3 wire option?. Thanks again Cheers Kim

    • Michael Ross
      Michael Ross August 4, 2012 at 12:41 am #

      Hi Kim, It looks like the Sony’s are similar to the Nikon. They have their own proprietary connection for the remote and they use a three wire connection (Ground, Focus, Shutter). It also appears that (like the Nikon) the Focus AND Shutter both need to be grounded to fire the shutter. I would recommend finding a cheap wired remote for your Sony and verifying all of this by opening up the remote. Then you can use the wire from that remote to make a cable to connect to your unit. :-)

  82. Alan Conolly July 20, 2012 at 1:36 pm #

    This is great, thanks Michael, just what I have been looking for.

    Any chance of adding a projectile sensor in the future? and possibly also some method of controlling a motor to power a slider for doing time lapse photography?

  83. Alan Conolly July 20, 2012 at 1:30 pm #

    Thank you Michael, this is great, just what I have been looking for.
    Would you be looking at adding a projectile type sensor in the future? and the possibility of adding some form of motor control for use on a slider to do timelapse photography?

  84. rez July 18, 2012 at 4:55 am #

    Kudos for the documentation!

  85. Paul July 14, 2012 at 10:45 am #

    This is fantastic, I’m looking to build something similar and you have given me some great pointers thanks for that!

    I’d like to have a look at the Arduino sketch but the link doesn’t seem to be working.

    • Michael Ross
      Michael Ross July 14, 2012 at 11:11 am #

      Hi Paul, Sorry about that! I fixed the link so you should be able to see the code now. I had updated it with some changes and forgot to change the version number in the link for the new code. :-)

    • Paul July 15, 2012 at 2:13 pm #

      That’s great, Thanks!!

  86. Simon July 13, 2012 at 9:50 am #

    Looks great and more importantly affordable, if I can source parts in the UK i may have a go.

    • Simon August 4, 2012 at 2:05 am #

      All parts ordered, some of which will take a while as they are coming from china. I will let you know how i get on as I will test your theory of somebody with little or no electronics knowledge being capable. For anybody in the uk i found a useful site called bitsbox to supply a lot of the electronics components in sensible quantities and prices.
      Thanks again for doing all the hard work.

      • Michael Ross
        Michael Ross August 4, 2012 at 12:22 pm #

        Great! Let me know if you have any questions at all. I will make some adjustments to the Tutorial document if needed. :-)

        • Simon August 13, 2012 at 1:48 pm #

          Hello again, all parts have arrived and the build has started. question 2:- my Canon 7d has 3 pins, do they all need to be connected, the tutorial suggests i only need 2? (It will be used in manual focus only)
          Found this site with pin/plug configurations for most cameras http://www.doc-diy.net/photo/remote_pinout/
          All going well but i need to order more wire, surprisingly i have used 11 metres already.


          • Mike Novack August 13, 2012 at 3:45 pm #

            I know it’s not a Canon comment…but it might help. I was fiddling with my Nikon D80 the other day and found that if you have auto-focus turned on (on the camera) you must first short the focus terminal to ground, then the shutter terminal. If autofocus is off, all that is needed is to short ground to shutter, but no harm comes in shorting all three. I had to buy an el-cheapo remote shutter release to get the right connector for the Nikon (they seem to use a different one on every new camera). For you lucky Canon guys it’s just a standard audio style 3-pin plug. For my purposes (mostly water drop photography) I will be in manual focus mode, but I plan to build the interface to the camera so I can control how the pin connections are made, and perhaps to even have multiple plugs (or cables) so that a wider variety of cameras can be used as time goes on. At this point I have cameras from 3 different sources (nikon, olympus, and panasonic) and of course all three use different cables. There otta’ be a law!

            • Michael Ross
              Michael Ross August 13, 2012 at 4:09 pm #

              Thanks Mike for posting that info. I totally agree! It would be nice if they all were consistent in the way this works. I haven’t tried the different modes of focus to see if that would make a difference on the D700 but I don’t think that it does. I also had to purchase a cheap wired remote to get the connector but studying the inside of the remote also helped guide me as to how to connect it. :-) Cheers! :-)

          • Michael Ross
            Michael Ross August 13, 2012 at 4:06 pm #

            Hi Simon,
            It seems that different cameras have different requirements on what is required for the shutter release. Most remotes will mimic the shutter button and basically allow for the “Half press” to perform focusing and exposure locks, and then the “Full press” to release the shutter. On some cameras the “Half press” has to happen before the “Full press” is allowed. Basically that equates to the focus circuit being shorted before the shutter release can be shorted. If you have three connections, which would basically be Ground, Focus, and Shutter, then grounding the focus and shutter at the same time will make it work. You can always try to ground just the shutter to see if it will work and it may also depend in the make and mode the camera is in.

    • Simon August 8, 2012 at 10:39 am #

      Hi Michael
      Still waiting for a couple of parts, but i have mounted the switches, board & lcd. 1st question (of many i suspect) where does the arduino get power from? do i need to feed it from a power jack connected to the 5v circuit? I have read through your instructions a couple of times but may have missed it.

  87. Michael Ross
    Michael Ross July 9, 2012 at 2:01 pm #

    I am looking into adding Bulb Ramping to the Intervalometer function as well for flicker free time lapse. Just waiting on parts to do some testing. :-)

  88. Vass July 9, 2012 at 12:48 pm #

    I fully intend to build one similar

    Many thanks for sharing!

    • Chris R August 15, 2012 at 2:06 pm #

      Hi Michael
      Thank you so much for all the work u have put into this. It looks like it is probably 1 of the best systems available. so many functions. This will be my first play with bits that Hopefully don’t go fizz. I now have all the bits and have read your instructions so many time i almost fell like i know what im doing.
      two tiny things
      1,like simon above i couldn’t find the power to the Arduino (guessing its the R+B wire on the top left of the little board that you were coming back too 😉 that goes to the empty 5v pins on the wiring diagram )
      2. A missing 100k resistor on the part list.
      I’m about half way through the build and cant wait to try it out.. do u have a vid of your whole rig in action ??
      once again thank’s for showing us with no clue at all how its made 😉

      • Simon August 19, 2012 at 7:28 am #

        Up and running. Arduino, light sensor & switches working but no sound detection or solenoids & still more to check. And i did manage to blow a capacitor after your warnings.

        Things I have found so far.
        1. when i pushed the headers into the small breadboard most of the pins pushed back through their holder and didnt make, took a while to find.
        2. had to install an older version of arduino software or i had problems with the exrom not being recognised.
        3. Had to add power to the 5v & ground pins or the screen would not light up although there was power to the arduino from somewhere.
        4. A decent soldering station is worth having over an ordinary iron.
        5. Not sure about the large breadboard, i think the power lines only go half way. Had to put some jumpers in.

        • Michael Ross
          Michael Ross August 19, 2012 at 9:29 am #

          Thanks for the update Simon! :-) I hope you didn’t allow any more of the precious magic blue smoke to escape after the one cap bit the dust. 😉

          That is good to note on the headers going into the breadboards. I am sure there must be a better way to do this. I had the same issue and had to force the pins into the board. I will also have a look at the diagram on the power for the screen to make sure I have all the wiring drawn correctly. That is also a good thing to note on the large breadboards. I do remember having an older one that didn’t connect all of the power strips. Some may have a break in them inside and will require a jumper to connect them. Just depends on the manufacturer I guess. it is good to test the strips with a meter to make sure the connection goes all the way through.

          And I will make some notes above and in the documentation about using the older version of the Arduino Software. I never upgraded because they made so many changes with the newer version that I just knew it would be a while before they ironed out the wrinkles so to speak. 😉

          Thanks again for sharing your experiences so far! :-)

      • Michael Ross
        Michael Ross August 19, 2012 at 9:41 am #

        Thanks Chris! I will dig into the wiring diagrams for the Arduino Power. Basically the Arduino just needs a ground wire (-) run to one of the GND pins on the board and also +5 volts run to the 5V pin. (The Arduino can be powered by 7-12v going into the power jack on the Arduino but it has a built in Voltage Regulator similar to what is used to drop the 24 volts to 5 and 12 volts on the breadboards and it is converted to 5 volts on the Arduino. So you can just run 5volts (regulated) directly to the 5 volt pin and it will work also and just bypasses the regulator circuit on the board.) Hope that makes sense. :-)

        • Simon August 22, 2012 at 12:20 pm #

          I am in a muddle, spent 3 days trying to make it work. All switches and the lights work but i can get no reliable inputs or outputs, lightning detector is maxed out at 1023 and will go down to the high 900’s if i cover it completely, sound detector no response and without these i can not test flash, shutter & solenoids.
          I have discovered (i think) my optocouplers cant handle 200ma on the out side by pressing the drain button and everything dims but no click from the solenoid, it will click direct from 12v circuit.
          Changes i have made from the original are 5mm led’s & resistors for the lights and omitted the remote launch and 1 of the lamp control sockets. Reinstalled the program, should i reinstall the initialisation code?
          Any ideas?


          • Simon August 25, 2012 at 4:20 am #


            Sorted the light detector (my mistake), sound detector not working properly, i dismantled the piezo and found that tapping or slightly bending the disc gave an output but sound had no effect – amplify it? I have snapped the wires off now so waiting for a new one!

            Can get no trigger signal for the flash/shutter, board is working as i set the flash trigger to HIGH in the program to test it & got 3 volts on the pin.

            Noticed in the program that exrom was not highlighted orange like the other 2 libraries used – problem?


            • Chris R August 26, 2012 at 3:33 pm #

              Hi all .. well my build going ok i think .. all together now ! but nothing on the lcd display only the backlight working ( so have ordered a new 1) .. started making all the cables now and was just wondering, do i need another power supply for the 12v solenoid valves? .. im just a lil confused as there seem to be so many ways to wire them online .
              thanks for any advice.

            • Simon September 1, 2012 at 10:17 am #

              Solved my problem with the optocoupler not being able to handle 200ma for the solenoid, used a transistor to switch the 12v supply. Fried my Arduino while setting this up – connected 12v+ & 5v+ rails somehow so now waiting for a new one. I have ordered a sound sensor module as well to overcome my piezo problem.


One Trackback

  1. […] [High Speed Trigger Blog] […]

Post a Comment

Your email is never published nor shared. Required fields are marked *


Protected by WP Anti Spam