Camera Axe

I made a new version of Camera Axe.  Here is my store where I sell them.

Camera Axe is open hardware and open software project that helps you get some of those difficult to capture photographs. It can use various sensors like light triggers and sound triggers to activate a camera or a flash. Here are a few sample images of the things this hardware has captured.

Here is a gallery with more pretty pictures. I apologize that some of them are a little blurry. I dropped and damaged my flash about a week ago and don’t have the funds to buy a new one right now. The flash now does a few micro pre-flash outputs before the full flash is triggered. This is is why some of the images have a weaker ghost images in them causing a blurry appearance. (UPDATE: Here is are some new photos I shot once I got my flash repaired. And here are some more.)

These are just a few images I’ve used to test this software/hardware. The possible uses range from taking pictures of wildlife while you’re not there to photographing a bullet piercing an apple. The fact that everything is open source offers advantages over solutions that are being sold today (beyond the cheaper price). As an example lets say you want to take pictures of wildlife at sunrise/sunset. You could modify the software so the light sensor only actives the camera at light levels that represent sunrise/sunset and then you could use the microphone to actually detect animal movement. Since the hardware is easily understood you can add new sensors as needed, one sensor I’ve thought about making is piezo pressure sensor.

Camera Axe Component List

Here is a list of the components you need to make Camera Axe.

Break Away Headers $2.50
Mini Push Button Switch $0.35
Serial Enabled 16×2 LCD $24.95
16 MHZ Crystal $1.50
ATmega328 with Arduino Bootloader $5.50
DIP Sockets Solder Tail – 28-Pin 0.3″ $1.50
5V Voltage Regulator $1.25
Optoisolator with Darlington Driver – 1 Channel $1.25
0.1 uF Capacitor (4) $1.00
22 pF Capacitor (2) $0.50
10 uF Capacitor (3) $1.35
RF Link 2400bps Receiver – 315MHz $4.95
3-Pin Screw Terminals 3.5mm Pitch (2) $3.00
Super Bright LED – Green (4) $3.80
DIP Sockets Solder Tail – 8-Pin $1.50
Diode Rectifier – 1A 50V (2) $0.30
Custom Circuit Board PCB $21.43
NPN Transistor (2) $0.54
Plastic Enclosure $7.62
3.5 mm Audio Jack (4) $1.40
Push Button Switch (6) $7.80
1M Ohm Potentiometer $0.90
Op Amp $0.33
9V Battery Holder $1.05
1/4 Watt Resistors * 47 (1) * 220 (4) * 1K (1) * 10K (14) * 100K (1) $2.52
McMasters Carr
#2 Spacer – 3/16″ OD, 3/16″ LENGTH (4) $1.04
#4 Spacer – 3/16″ OD, 5/16″ Length (4) $1.16
Undersized 4-40 Nut (4) $3.28
Undersized 2/56 Nut (4) $5.23
2-56 Bolt – 5/8″ Length (4) $4.64
4-40 Bolt – 3/4″ Length (4) $5.09
Total Cost $119.23

Getting the bill of material cost significantly under $70 should be pretty easy if anyone want to make 10’s of these. Many of the parts above start significant volume discounts at pretty low quantities. Also some of the hardware from McMasters I only needed 4 of something but I had to buy a pack of 100 so building multiple (or finding a supplier where you could buy 4) would decrease the price by about $15. You could reduce the cost the the PCB from $21.43 to about $6.50 if you ordered them in quantities of 17 from BatchPCB’s supplier Gold PhoenixPCB (I’d really suggest using BatchPCB until you know what you’re doing). Lastly, redesigning the board to use surface mounted parts would lead to large cost savings.

Camera Axe Hardware

I designed this circuit and PCB board in Eagle. Eagle is a powerful circuit and PCB design tool. You can get a free version for non-commercial use. This is the first PCB I ever designed and must say that Eagle combined with these four great Sparkfun tutorials (1, 2, 3, 4) really got me up to speed. I then sent my design to BatchPCB. It took a little over a month to get my test board back, but it worked great. Here are my eagle files for this project and the Girber files I sent to BatchPCB. If you install the free version of Eagle you can look at and modify my schematic and board layout. Below is a picture of this boards schematic for those who don’t want to install Eagle to look at it.

Being my first board I made a few mistakes with the PCB that I’ll correct if I ever print more boards. Luckily all my mistakes were minor and the board I printed works fine.

  • Rename “Light” to “Sensor” on the silkscreen since that is a better description.
  • One of the bolt holes is one grid point off center so I should make sure all the bolt holds are centered.
  • I should label the value of the Potentiometer on the silkscreen (1M ohm).
  • The silkscreen for the RF receiver is missing +5 for one of it’s pins.
  • The LEDs are too bright and the 220 ohm resistors should be replaced with something larger.
  • The schematic is correct, but the parts I used for the focus and shutter are ECB transistors.  These have an odd pin layout for transistors (1=emitter, 2=collector, 3=base).  Switch these to a normal transistor (1=collector, 2=base, 3=emitter).

After I got the PCB back, it was just a matter of soldering all the components in place. If others want to build this and want more detailed directions on soldering the circuit board components into place, I may be willing to write an instruction guide to assist in this.


To make the enclosure I designed the holds I needed to drill and the few places I needed to cut with my Dremel in Inkscape. Then I just printed that out onto some sticky paper and had the pattern I needed to cut out on the box. This worked out pretty slick. Here is the cutout pattern I designed (drill/cut template, final sticker template).


I used an ATMega328 with the Arduino bootloader for my microcontroller. This means I could use the very popular and easy to use open source Arduino development environment. I used version 0014, but newer versions are usually backwards compatible with older ones. You can download the Arduino development software here.

In order to download software to this board you will need this programming dongle.

Here is the software I wrote for this project. I’ve created this video that demonstrates some of the features of this software.

Flash Trigger

Female Hotshoe (Cheaper ones available, but this one has is good quality) $16.50
3.5 mm Extension Cord $5.24
External Flash (I assume you already have one)
Total Cost $21.74

This allows you to plug the flash into Camera Axe. While Camera Axe can trigger your camera directly, if you need an instantaneous capture you should use the flash. This page gives the expected shutter lag for many cameras. The flash reacts to it’s triggering in well under a millisecond.

Notice: Camera Axe assumes you have an EOS compatible flash. Some older flashes use high voltages to trigger them. If you use one of these high voltage flash units you will likely blow Camera Axe’s optoisolater and need to replace it. I use a Canon 580EX flash, but there are many other options. Here is a list of flashes that should be safe.

Camera Trigger

Plug to trigger your camera (Price varies by plug (see below) under $5.00
Audio cord with 3.5 mm plug $3.15
Total Cost $8.15

The higher end Canon DSLR cameras (20D, 30D, 40D, 50D, 5D, 1D) have a a special Canon Plug called N3. I have not been able to find this plug for sale anywhere, but you can buy a cheap Chinese trigger for these cameras on Ebay for under $5 and use the N3 plug from it. I have a 30D so this is what I demonstrate here. Canon’s lower end cameras (300D, 500D, 1000D) use the much cheaper and easier to get 2.5 mm jack. I’m not sure what Nikon use, but I’m sure a little research will figure that out.

Sound Sensor

Electret Microphone $0.95
Audio cord with 3.5 mm plug $3.15
Total Cost $4.10

Electret microphones like this need some serious amplification. Luckily I put all that amplification on Camera Axe’s PCB. You can adjust the sensitivity of the microphone with the potentiometer on Camera Axe’s PCB. Just play with it until you find a sensitivity you like.

Light Sensor

Photo Transistor $0.42
Audio cord with 3.5 mm plug $3.15
Total Cost $3.57

Most photo transistors filter out visible light and only trigger on IR light. I did some searching and found this one that triggers on visible and IR light. This is nice because one of the uses I had for this was to use it in conjunction with a cheap $5 laser pointer (search Google or Amazon) to create a laser trigger. All you do is point the laser at this and when the beam is broken you trigger the camera or flash.

Another good use of the this sensor is taking pictures of lightning. It will make getting night time lightning less work and you can even get daytime lightning which is something human reflexes can’t manage.

Remote Control

RF Link Transmitter – 315MHz $3.95
Other parts ???
Total Cost ???

I put a receiver in Camera Axe so I could trigger it remotely. The transmitter I put in along with this receiver should have a range of about 200 ft, but I have not verified this distance yet. I did verify the remote works at closer ranges by putting together a breadboard circuit to verify it. The circuit is extremely simple since this device just needs power, ground, and a serial transmit wire to send the it the signal. Maybe I’ll make a nice remote someday, but until then you’ll need to design your own if you need this feature. Here is the Arduino software I used to test this feature.


  1. Joos said,

    November 13, 2009 @ 2:35 pm

    Hi Maurice

    I’m experimenting with something similar. I’m very interested in what photo transistor you used (make and model)?

    Excellent work!

  2. kyndal said,

    November 14, 2009 @ 6:10 pm

    I added that as a variable that can be changed. in the menu system.
    and is of course saved in memory too..

    except i couldn’t really find the “proper” name for this in english.
    its a bit like a hysteresis to avoid multible exposures??

    for water droplets i use a IR Slotted gate, (modified)
    and use a variable delay for the fall distance.

    works perfectly

    i have also measured the reaction time of the system to be around 200uS
    (not counting any external hardware like camera mirror delay (non lockup) etc.)


  3. Maurice Ribble said,

    November 14, 2009 @ 7:49 pm

    Joos, in the article I linked to the photo transistor I used. Here is the link again:

    Kyndal, that’s awesome. The 200uS information is quite informative. I need to get a scope so I can do easy measurements like that. I’m jealous 🙂 There are some things that could reduce that. For instance doing a analog reading takes Arduino about 100us. If your sensor design allowed you to do a digital read that would be much faster (I believe you could use a digital read with your photo gate sensor).

    If anyone ever takes some photos with a Camera Axe, I’d be really interested in seeing them. It would also be great if you could give me permission to post them on my site as examples of what can be done.

  4. kyndal said,

    November 15, 2009 @ 5:45 am


    yea. I dont have my scope anymore either. since i moved abroad.
    but im thinking about a new rigol ds1052 about 400$ ebay
    with out the Digital analyser

    But as you can see on the scope picture. it is a “soundcard scope”
    you get two channels (stereo) with 16 Bit resolution at your soundcards frequency range
    which is fast enough for this application, (20 – 20 or 44 khz) but not much more..
    (and the same in signal generator)

    MAKE SURE you scale down the input voltage to sound levels.

    i have made a simple circuit that does 2 channels with variable resistors (voltage devider)
    so i can do for instance 1/10 of the voltage and it includes some diodes for for
    protection (over voltage pos and neg around 1.2v with 2 diodes at 0.7ish each )
    not exactly but similar to this (i have added some DC coupling)
    and consider using Optocouplers and/or a dedicated cheap USB soundcard so you dont risk
    your laptop 😉

    the voltage reading on the oscilloscope will not be Finite and should not be used
    for precise readings as it depends depends on the “caliration” of the voltage devider…
    (use known source)
    i use a very good 5.1V source, and calibrate my voltage devider to 0.51v (1/10)
    on the scope before use.

    Simple and yes CHEAP scope that works for many applications
    cost me …. well i had it all lying in my scrap box 😉
    but very limited in speed

    in test i did, i used a good click (no bounce) swich for an instant 5v input. and measured that
    with the one channel. and the flash output signal with the other.
    pretty stable below 200us


  5. Wildside said,

    January 8, 2010 @ 10:15 pm

    Hi: Thinking of getting the kit, but first a few questions –

    1. Can both sensor inputs be used at the same time so that the camera or flash is only triggered by two simultaneous signals as used in cross-beam setups?

    2. Using a DLSR in bulb mode (i.e., shutter left open for long periods) before a signal fires a flash and closes the shutter causes digital noise to accumulate: usually this noise is excessive after about 30secs. Is (or can) the Camera Axe be programmed so that the shutter will automatically reset after a specified time even if it doesn’t receive a signal from the sensor? (My problem is photographing rare, unpredictable events that may only occur once an hour or even less frequently ….. but when they do occur require a camera lag time of less than 2msec – so must use bulb mode and trigger flash).



  6. Maurice Ribble said,

    January 9, 2010 @ 6:25 am

    Hi Wildside,

    The easiest way to handle a cross-beam setup is to use 2 lasers on the same port was a splitter cable and 2 light sensors on the other port with a splitter cable. Since the when the laser is broken the voltage will go low, it is required that both beams be broken before the port is low. So a picture will only be taken when something breaks both beams which is what you normally want with a cross beam setup. If you want something more complex, then modifications to the software would probably be required.

    Supporting this would require a change to the Camera Axe software. Since everything is open source it should be too difficult. If you are interested in making such a change yourself and have any questions about the code I can help out, but I don’t think something this specialized belongs in the standard camera axe software.

  7. wildside said,

    January 9, 2010 @ 5:20 pm


    Thanks for the comments. The answer for the x-beam setup seems simple enough but I’ll have to teach myself new arts (i.e., programming) for the second. So far I’m doing everything the old way using equipment based around 555 timer chips. You can see the nature of the problem and some of my results at pics.html


  8. Rune Kyndal said,

    January 14, 2010 @ 6:33 pm

    have you tried with Mirror lockup? instead of bulb exp?
    i have pretty decent response times with that

    i did some a tests with waterdrops + gravity + nikon D3
    No Flash, f/2.8 ISO 6400 Shutter 1/250 sec

    the drop from the (IR beam drop sensor)
    till it shows on the pic is about 26mm. (0.026m)
    and on earth that took t(sec)=sqrt {2dist/g} 0.0162 sec or 16ms

    includes all delays in the sensor, analog(read), timerbox software, and camera shutter, and exposure
    but not the mirror lag
    (and the drop already had some speed when it passed the sensor so its actually a bit less.

    id like to know what needs to be photographed within 2ms ?

    your idea could be added in sw, personally i would just combine it with the timelapse function..

    and for your cross-beam setup i would probably make that externally with hardware
    and use a schmitt trigger AND gate setup. (std or inverted depending on sensor setup)
    this would do a good job of “digitizing” the Beam signal so you could use
    Digital read function instead of analog. and cut a good deal of the lag away there too..

    you only get about # 10 analog readings per millisecond with analogRead
    but more than 200 with digitalRead()

    Rune Kyndal

  9. wildside said,

    January 15, 2010 @ 6:59 pm

    Rune – many thanks for the comments and suggestions. Tests with my Nikon D300 showed that in manual focus mode (i.e. no focus delay) shutter lag is approx 50ms in 12bit mode and 100ms in 14 bit mode and is not improved by locking the mirror up, i.e, the delay seems to be an interval that’s programmed into the camera. With falling drops you have some reliability as to where a drop will be after a given interval……but I am taking closeups of bats in flight moving at up to 5m/sec along very erratic flight paths. At f16 a typical depth of focus with my setup is between 10 and 15 cm…..the only way I can get them in focus and where I want them to be is if the pic is taken very quickly (<2ms) after they trip the sensor. After 16ms they could have moved 8cm in just about any direction and at least partly out of the frame, after 50ms they could be long gone! See:

  10. Maurice Ribble said,

    January 15, 2010 @ 8:38 pm

    Wildside, as far as I know that 50ms lag on the shutter can’t be avoided. The only option for a faster shutter I know of is an external shutter. I’ve done a little research on this and some people use harddrive motors to make a fast shutter. Another option is to use a special polymer plate that can be made transparent when a high voltage is passed through it (forget the name of this stuff). I haven’t ever seen anyone try the second approach so it is likely either very expensive or doesn’t work well for a different reason.

  11. Wildside said,

    January 15, 2010 @ 10:34 pm

    Maurice, I agree with you – with the D300 the 50ms shutter lag is unavoidable without using an external shutter. With an external Copal shutter activated by a solenoid I can cut the delay to about 10ms….but from a practical point of view, since I’m working at night anyway, it’s much easier to put the camera in bulb mode and use the sensor to fire the flash – giving a response in <1ms.

  12. Rune Kyndal said,

    January 16, 2010 @ 11:32 am

    sure… i totally neglected to think about any focus and depth of field needs..
    for moving targets 😉

    and thats ofcouse why you need the crossbeam in the first place..

    but i guess then you would just need to modify the program so it
    activate bulb exposure every say 15 + 30 secs for 15-30 secs
    depending on your personal noise “pain threshold”
    and only trigger the flashes when both beams are broken.

    as mentioned above. i would just call the sensors from the timelapse function.
    and for your application, doing it in software with digital read would probably be sufficient
    my laser gives me near TTL anyway.. (over a fairly short distances though)
    (crappy 1$ store laserpointer)

    as for the crossbeam. you might want to put some “but” in there
    as the box will see the diference between beam one and two.
    so maby it they are both broken withing some “short periode”
    it should trigger aswell. might be a good picture but lost otherwise??

    /Rune Kyndal

  13. jeroen said,

    January 20, 2010 @ 5:03 pm


    this is an awsome site you made.
    I have been strugling with electronics the whole damn day
    and my simple sound trigger still does not work..
    I will keep on strugling.. actualy I rather not.. cant I buy
    one from you (-: theyre the coolest photo equipment seen ever!


  14. Myles said,

    May 6, 2010 @ 5:23 pm

    Maurice I just came across this project and blog today, about a year since you started this. I am fascinated and blown away with this cool project… you have done some incredible work!! I think I will be getting the kit version soon with some accessories. Thanks and keep up the great work you are doing!


  15. Peter Freiman said,

    August 13, 2010 @ 8:15 pm


    I found this page a long time ago and bookmarked it. Think it´s a very usefull gadget you´ve made! :0)

    I´ve become member of a danish hackerspace, located in Copenhagen:
    I´m sure I can get help from others there to buld it, as we currently have a lot of projects around the use of Arduino-boards.

    Thx for showing this!


  16. Ryan Gardner said,

    October 21, 2010 @ 3:54 pm

    Cool looking device you have built. I wonder if using the sound trigger and then leaving a flash mounted on the camera and set to high-speed sync might help you freeze action a bit more on some of those images.

  17. Maurice Ribble said,

    October 21, 2010 @ 4:13 pm

    Hi Ryan,

    As I mentioned in the blog post the reason some of my pictures were blurry was because I was using a broken flash. The technique you described wouldn’t work for these sorts of pictures because the shutter lag on a camera is too high.

  18. Gizmoman said,

    November 22, 2010 @ 6:47 am

    Hi everyone, just noticed the comments about GizmoForYou and wanted to leave our own responce about this. All projects we do are Open Source. Open Source meaning that all files, designs and code is freely shared. Sure we do state that if you want to make money from our projects then ask us about it first but that would seem like someone would actually want to make money from something not his, so it sounds pretty fair, don’t you think? Once again… All products we do are Open to the community and are Open Source – All sources are open 🙂

  19. Robert said,

    December 4, 2010 @ 6:01 pm

    Is it compatible with Panasonic DMC-GH1?

  20. Maurice Ribble said,

    December 4, 2010 @ 8:03 pm

    I don’t sell a cable for this at my store, but if you took the remote from ebay ( and wired it to a 3.5mm stereo jack you could make it work.

  21. Anand said,

    February 18, 2011 @ 12:55 am

    Exactly what I was looking for…a bunch of us at my company were looking for a tutorial like this! I will definitely include pictures when we start breaking stuff around the office, along with some of fabrication processes of ours that are too quick for to grab a picture of.

    Seeing from the comments, we may have to select our camera carefully. Luckily majority of these parts we have laying around somewhere in the warehouse, so I should have it up and running soon!

    Also I work as a PCB fabrication plant, so I’ll be making these boards myself. If I end up making any extra, I’ll gladly send them to whoever (just pay for shipping).

  22. Ewart said,

    March 16, 2011 @ 9:19 am

    Followed this thread as was looking to do some more of this after the lone of similar equipment.

    Just a quick note to Anand, if you do make extra I would be interested. I am in the uk

  23. PCB Manufacture said,

    November 14, 2011 @ 9:49 am

    Amazing and thanks a lot for also share its layout design work. keep it up..

  24. Ravi Upadhyaya said,

    October 9, 2012 @ 10:36 am

    Great stuff here. I want to build this and sell this to amateur photographers. Tried to read through the CC license – but could not make out much. The question is can this be made in small quantities and sold to amateur photographers, under the CC license?

    Thanks for clarifying.

    Ravi Upadhyaya

  25. Maurice Ribble said,

    October 9, 2012 @ 10:50 am

    The current Camera Axe Projects as of today ( are released under Creative Commons Non-Commercial licence which means you can make it for yourself, but you can’t sell it to others. If you want to discuss options feel free to contact me via this page:

  26. Ravi Upadhyaya said,

    October 9, 2012 @ 12:44 pm

    Thanks for the prompt response.

    The options that I am contemplating are :

    1) The stated option – use your design and take it to market – what would be the modalities?
    2) Go scratch – build all the stuff myself ( all specs, board design, component sourcing, assembly, packaging, software, testing…)

    Ravi Upadhyaya

RSS feed for comments on this post