Introduction: High Speed Photo Arduino : HighSpeeduino !

Picture of High Speed Photo Arduino : HighSpeeduino !

Today is High Speed Photography day !

The concept is to take a 'long' exposure photograph, 4 seconds say, in a (very) dark room (a bathroom in our case). You end up with a completely black picture, right ? If you burst a flash (about a millisecond for a standard flash) then you get a picture made of 4 seconds of 'dark' and one millisecond of 'light'. Are you still with me ?

The trick is to burst the flash at the right moment so that the millisecond of light you get illuminates an interesting scene. A popping balloon for example...

This project uses the sound an exploding balloon makes to trigger a flash.

I used:
- a DSLR camera (Canon 450D) + tripod.
- an arduino duelaminove + 9v battery.
- a sound sensor (from Or better yet (if you don't read japanese):
- a relay module (on ebay search for 'relay module arduino', sort by price, pay about 5$ for it).
- a cheap flash (paid 10$ for this one).

- a (convenient) sensor shield + cables.

Enjoy !

Step 1: Put It Together.

Picture of Put It Together.

It is a very simple setup, yet pretty effective...

The sound sensor returns a 0-1024 value, the relay can be controlled by a digital pin.

I cracked open the flash, removed the shoe and soldered a couple of wires instead.

Some will probably argue that a relay is too slow. Well it turns out it isn't...
To be fair I, too, thought it would be too slow so I have tried and used an opto- isolator. It burned (as well as my atmega328, :-( ) during my first try. The voltage in the shoe of this *very* cheap flash is probably too high for my opto-isolators.

As I have no idea what kind of voltage I am dealing with here (I just know it hurts if I put my fingers !), I took the easy route and used a relay. It works, so... problem solved !

Step 2: Arduino Code

Picture of Arduino Code

The code could not be any simpler.

When the sound sensor gets above a certain threshold, send a 'high' signal on the relay pin.

A small trick is to then ignore the sound sensor entirely so that the flash will not be triggered again.

Press the 'reset' button to re-enable the system.

Step 3: Set You Camera

Picture of Set You Camera

You need to install a tripod in a dark room. The point is to be able to take a 4 second picture that comes back completely black.

Set your camera to 'manual focus', 'stabilizer off', 'priority to Time'.

You are all set. Press reset on the arduino board, switch off the light, take a picture and pop a balloon within the next 4 seconds....

Step 4: Results !

Picture of Results !

Here are some examples of what we were able to do with this setup.

This was a project done with the kids so it had to be fast-paced. Hence the improvised background...


Step 5: Some More...

Picture of Some More...

...for your viewing pleasure.


sidharthk (author)2015-06-22


Skyfinder (author)sidharthk2016-03-05

The flash Is connected to the relay, not the camera... Arduino and camera are separated

alcaf (author)2012-06-17

Very nice!!!
Can it be used with infra-red sensor like Arduino Active Infrared sensor module V2, to make a barrier that triggers the camera instead of the flash?
Can you help me with the code?
Thank you.

nicoo (author)alcaf2012-06-18

Thanks !!

I have done a project with a laser and an infra-red module which I still use every now and again. I will try and make an instructable out of it if it helps...

In a nutshell though, a relay, which is handy to control high voltage devices like a low-tech flash, is too slow for your kind of application. For my project I used an infrared sensor connected to the arduino which in turn is connected to the camera through optocouplers.

I blind the sensor with a laser and when said laser is cut (sensor goes to 'LOW') I trigger the camera. The trick is to take the diffential of the sensor signal (through software) and simpy trigger when the differential is big (and negative).

As a bonus I used the very same project to take photographies of lightning bolts by simply pointing my sensor at the sky and triggering on a (big) positive differential.

Good luck with your project !


diy_bloke (author)2011-10-03

Nifty coloured flash by the way

nicoo (author)diy_bloke2011-10-03


FallenSub (author)2011-07-11

Really nice project! But could be made even cheaper!
$5 for a relay "module" is a bit too much. I made mine for $1 5v relay from eBay, a 10 cents diode (could be even cheaper if bought in bulk) and a cheap NPN transistor (100 pieces in a $2 bulk). You can also scrap these from some old PCB.
Here is the wiring diagram

Also, you can make your own sound sensor for a few bucks.
I made myself this one
If you know some basic electronics, you can play a bit with it, like making a time delay, or controlling the sound buffer, which might be useful with some other projects.
Also this way you don't need the sensor shield.

Hope this helps :)

nicoo (author)FallenSub2011-07-13

Yep, you could also argue that a micro-controller is way overkill for this project...

I tend to value having to solder as little a possible so the project can be put together / prototyped quickly.

You have a point though that a 'production' version could be produced for a handful of dollars...

diy_bloke (author)nicoo2011-10-03

You are right ofcourse, but the microcontroller makes things a lot easier.

With regard to rge relay, yeah I wld solder that up myself coz it is a lot easier than go to ebay, search, order and wait ;-)

I admire FallenSub's guts in considering the sound sensor himself ;-) One look at the schematics and I thought 'oops'

One look at however also made me think 'oops' as it is in Japanese ;-)

nicoo (author)diy_bloke2011-10-03

I don't read Japanese ! I got the sensor from this shop on ebay:

I hope this helps,


diy_bloke (author)nicoo2011-10-03

Thanks. 8 dollars is a steal. For that I am nog going to buy parts, including perfboard. I doubt if i could do it cheaper with loose parts, let alone then still have to put it together with the chance of mistakes.

FallenSub (author)diy_bloke2011-10-03

Yeah you can! I bought all the parts in my local store for around $8, and that was for TWO sound sensors that I posted before :)
Just go ahead and try to breadboard one, its not that hard.

Anyways, if you do make one, C4 is for buffering. That means that if you get, say a value of 500 on analogRead from a sound, it will not perish immediately, but decrease at some rate with discharging of C4. For my app, buffering lasted for too long, so I made it equal to C2 to get an almost instant discharge.

And seriously, try to make it. It's easyer than it looks and a really good sound sensor.

ramses (author)2011-07-10

Try this:

Also, you could attempt break-beam laser triggers with a set-able delay.

nicoo (author)ramses2011-07-10

I think my optoisolators (4N35 in case anyone is curious) are not up to the game. They are fine to control the shutter though. Your link is about opto-triacs which are indeed probably able to switch higher voltages.

Laser beam + delay is on my list of to-dos. I hope to take picture of drops of liquid this way. I am at the 'collect parts' stage of the project...

TechPaul (author)nicoo2011-07-10

Use the opto- triac to trigger a big SCR or triac, the bigger triacs can handle quite a lot ove current and it gives you 1 more degree of seperation.

kgroce1 (author)2011-07-10

I am going to try this with my a610 and the CHDK firmware .

murrayatuptown (author)2011-07-10

I think your 'higher-tech' solution will allow additional changes like tweaking the timing, delayed flash, etc...but this concept predates microcontrollers...and can be simpler.

I used to, but am reluctant to ask nowadays, photo labs for torn-down disposable cameras awaiting recycling. I had an idea to sequence several to mimic a stroboscopic item falling off a table, for example...with a sequence of flashes between the item leaving the table and hitting the floor. example by Abelardo Morrell:

The sequence could be linear (equally spaced), or increase/decrease to correspond with or compensate for gravitational acceleration.

Someone here will probably figure that out long before I even start :O)

nicoo (author)murrayatuptown2011-07-10

I love this idea. I have been doing light painting with the kids but this is just taking it to the next level...

Strobe light, here I come !...

emagowan (author)2011-07-10

Most older flash units have full capacitor voltage across the contacts in the shoe (and hence, the wires nicoo installed). This is on the order of several hundred volts and can deliver a nasty shock. This high voltage can damage Digital SLRs, which is why modern flash units have a trigger voltage on the order of 6V. A Wein Safe-Sync Hot Shoe to Hot Shoe Regulator reduces the voltage sensed at the camera to permit safe use of older flash units on newer cameras. I tried something similar a few years ago using two pieces of aluminum foil. When they touched, they completed the circuit and fired the flash. My son got a kick out of smashing eggs with a hammer. The charged pieces of foil (one LARGE capacitor) delivered a whollop when I accidentally closed the circuit with my fingers. I'll have to revisit that method and write an Instructable. Some photos of egg and hammer are at

nicoo (author)emagowan2011-07-10

Come to think about it, the dealer, whom I got the flash from, insisted on knowing whether I was going to use the flash on my DSLR or not. I was focused on price and did not really pay attention to it back then but that's probably because he knew I would brick my DSLR if I used this cheapo flash with it.

I am glad you point this 'modern' voltage issue out so that I am careful with the next cheap flash I buy.

Nice pictures btw !

Silence (author)2011-07-10

you could do the same triggering both the flash and the photo via arduino in daylight though couldn't you ?

nicoo (author)Silence2011-07-10

I don't think so. At least when using sound. The problem is that triggering the shutter is too slow (the mirror of the DSLR has to be moved out of the way)... on 'affordable' DSLRs anyway.

If you use a laser beam, broken by a projectile for example, to trigger your camera then you can indeed precisely time when to trigger the shutter and therefore take a 'normal' picture during day time.

9ale7 (author)2011-07-05

like it, done really well

vishalapr (author)2011-07-05

This is really cool x D well done

About This Instructable




More by nicoo:Hacked roomba + arduino snowballs into a Eurobot 2013 entry...Flashing bootloader into Arduino UNO R3Arduino Sprinkler System + Web control
Add instructable to: