Control Camera flash using TTL signals

I wanted to control a camera flash by sending signals from micro controller. This was for a project that would trigger the flash when the motion sensor send an signal and also click a photograph. We used many flashes and one camera.

I searched a lot for the same, I found an instructable that uses an input jack in the flash to control it . So I went out in the market and found no such flash was available. Every camera flash I checked out had a base plate with some connectors that connects with the hot shoe(heard that word for first time) on the camera, there was Nikon flash that had some pins on it, I was really surprised I could not find any pin-out diagrams of the base plate of any flash. I did not want to spend on anything until I was sure it would work. After spending some more time on search, I landed on this wiki which says I need to short the center pin with the outer base plate and the flash would be triggered. So finally bought a new flash, and powered up using batteries, I used my car key to short the pin and base plate and IT WORKED! Next I measured the voltage between center pin and base pin, it was 5V. Things were simple from this point, pulled out and opto isolator, connected the LED side to micro controller and transistor side to the center pin and base plate. On your arduino you can wire pin 13 to the opto-isolator and upload the blink sketch to fire the flash instead of LED . I had to hot glue the wires on the base plate. With the TTL input you can pretty much do anything to control it, perhaps use a 555 for periodic flashes, may be use for your next water drop photography.

Here is a small video during testing.