Picture of Arduino Camera Flash Control
This is a simple method for controlling a camera flash using an Arduino. The nice thing about this method is that it uses an optoisolator to separate the Arduino from potentially high voltage spikes produced by the flash. I choose to use and optoisolator instead of a relay because the response time is much quicker, which is important when dealing with split second camera timing. Being able to control a camera flash in this manner is not only useful for Photography, but can come in handy for making a haunted house display (and miscellaneous hijinks).
Remove these adsRemove these ads by Signing Up

Step 1: Go get stuff

Picture of Go get stuff
You will need:

- Arduino
- Camera Flash (with input jack)
- Breadboard
- MOC3021 optocoupler (Triac)
- 220 ohm to 1K resistor
- 3/32" mono plug
- Solid core wire

Step 2: Wire the plug

Picture of Wire the plug
Open the casing for your plug and solder a red wire to the center terminal pin and a black wire to the outer terminal.

Reassemble the casing.

Step 3: Wire it up

Picture of Wire it up
Connect pin 13 from the Arduino to one leg of a 1K resistor.

Connect the other leg of the 1K resistor to pin 1 of the chip (this is the pin next to the dot).

Connect ground from the Arduino to pin 2 on the chip.

Connect the red wire from the 3/32" plug to pin 6 and the black wire to pin 4.

Step 4: Plug it in

Picture of Plug it in
Insert your plug into the trigger port on the electronic flash.

Step 5: Program and go

Picture of Program and go
Program the Arduino with the following code:

Assuming that your flash is turned on, it should now be triggered every 7 seconds.
malixlizard2 years ago
I am trying to build this but would like to order the parts through a particular website, will any optocoupler work? or can i use a transistor maybe? THANKS!!
randofo (author)  malixlizard2 years ago
I know this one works. It may not work with other types. You can perhaps test and see. Not all optocouplers have the same switching mechanism inside.
Ok i am reading everything i can find on optocouplers and continue to be baffled, the ratings on the couplers seems to be about 1.25v yet the arduino will output a HIGH of 5v, so how is your system not failing? Not criticizing your design just trying to understand and obviously something is not clicking for me, thank you!
randofo (author)  malixlizard2 years ago
You are basically powering an LED. You will need to add a resistor in series with the photodiode in the optocoupler.
dannye903 years ago
Maybe this is a stupid question.. but what does the 'to 1K' part of the resistor measurement mean?
randofo (author)  dannye903 years ago
1,000 ohms
oh. So it can be any value between these?
randofo (author)  dannye903 years ago
You are basically just adding a safe level of resistance before an LED
randofo (author)  dannye903 years ago
dasigi3 years ago
The trigger port baffles me, I have not seen one on any flash! Would it be possible to create an alternative, for example, with an off-camera shoe mount or some such?
randofo (author)  dasigi3 years ago
You can buy hot shoe to PC flash sync cable adapter mounts.
ynze3 years ago
Pretty neat! The search for unintended use for a flashlight starts here...