Camera Axe

I made a new version of Camera AxeHere 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. Maximillian said,

    June 14, 2009 @ 2:55 pm


    I’m looking forward to building my own Camera Axe. I was looking around the web for a way to do high-speed photography and this solves that problem perfectly!

    Keep up the great work.

  2. magicmike said,

    June 14, 2009 @ 7:53 pm

    This is awesome work – really good stuff.

    I’m particularly interested in your first PCB making experience – do you have any lessons to pass on? I’m looking to make my first one myself soon.

  3. Maurice Ribble said,

    June 14, 2009 @ 8:15 pm

    I went from having no idea how to make a PCB to making this one which I’ve very happy with. I learned everything from the sparkfun tutorials I linked to in this article. I took probably 8 hours to read and understand them before I started working on the Camera Axe’s PCB. I did a little experimenting during those 8 hours. Then I made this PCB. I knew my circuits were good because I bread boarded the different pieces before I made the PCB. The first thing I did was find all the parts I needed and created the ones I couldn’t find in the default Eagle libraries. Then I make the schematic in Eagle. Then I laid out the parts on the PCB. I actually did the PCB layout 3 times and found each time I did it I was better at positioning the parts. It was a lot of fun and probably my favorite part of this project. Just make sure you triple check everything. I did and still had a few minor bugs that I listed in the article.

  4. Tinkerbelt said,

    June 14, 2009 @ 8:16 pm

    I just wanted to say, Thank You.
    People come up with cool stuff like this all the time. Rarely will you find a person that actually details this out the way you did. Most people have good intentions and attempt to explain things so it can be passed on. Usually there are several steps missing making the write up useless for someone trying to duplicate it.
    Hats off to you for going the extra mile and making sure that it’s all here. A lot of work went into this write up. Again, Thank You.

  5. kyndal said,

    June 15, 2009 @ 6:24 am

    I just finished breadboarding one up. had to modify the code a bit
    to use a VFD display i had lying around. but it seems to works fine now..

    i think have found a Bug though. Can be due to my rewrites aswell :) .
    but if i set up a timelapse of more than one hour
    say “001:01:05″ and let it count down
    when the 1 minute has gone by, it should count down to 000:59:59
    but it reads “001:0-159″ and when another minute has gone by it then goes to 000:59:59
    so there is an ekstra minute here.
    i have only just skimmed through the code, cant seem to find anything out of place.

    think it gets a “0″ minutes -1 and instead of outputting 59minutes it goes -1

    im thinking about adding the Laser “on / off” function back under the sensor menu and use pin 13 for that! or posibly just use the sensor LED pin as it only needs to go off during exposures.

    Great looking work.


  6. Philip said,

    June 15, 2009 @ 10:04 pm

    Wow! Thank you. This is awesome!

  7. Maurice Ribble said,

    June 16, 2009 @ 4:41 am

    Kyndal, thanks so much for posting your findings. I’ve glanced at the code and I think you’ve found a bug. I never tested a timelapse photo with over an hour delay. I am traveling right now and don’t won’t be able to fix it until next weekend but I will fix this bug when I get a chance and post a comment here letting people know that it’s fixed. Thanks again!

  8. Louise said,

    June 20, 2009 @ 9:28 am


    Remarkably similar to my design idea, I guess it would have been wise to do more internet searching instead of diving head first into making my own LOL

    I did briefly consider a radio remote but it was pushed to the back of the queue :)

    One thing I was going to implement was dual sensor input for cross beam detection (object in a known position) or directional detection, fire camera on sensor 2 if within x ms of sensor 1 trigger.

    Another option in my software is triggering both camera and flash. I have a timer for each as well as exposure time, so in a water splash for example, when the sensor detects the drop passing the shutter opens after the camera delay. After the flash delay expires the flash output goes high for 20ms to freeze the motion, then when the exposure time is reached the shutter closes.

    Once the camera shutter lag is established I can then get the camera exposure down to a few ms and still use the flash to freeze motion allowing the whole process to take place in daylight – or that’s the theory at least :)

  9. Louise said,

    June 20, 2009 @ 11:20 am

    Actually now I come to think about that I don’t think it would be necessary to trigger camera and flash would it.

    When taking shots of water splash columns I was using a flash delay of about 240ms from the drop passing the sensor and an exposure time of 1 second in the dark, so if I use my D80 with a flash (rear curtain synch) connected to it and an exposure of 1/200 I should be able to just trigger the camera with a delay of 155ms (240 – 80:shutter lag – 5:1/200th) and let the camera take care of the flash.

    I don’t have a camera release cable set up yet as I am waiting on my cheapo Chinese remote release to arrive to cannibalise for the connector, but does this sound feasible to you?

  10. Louise said,

    June 20, 2009 @ 7:10 pm

    Yeah it does :P

    I ripped apart my infra red remote and used that to trigger the camera with flash attached and it works fine, adds a bit of shutter lag of course, but proves the separate camera/ flash trigger is not needed :)

    Sequence of water splashes here if you are interested

  11. Maurice Ribble said,

    June 21, 2009 @ 8:02 am

    Louise, thanks for posting your results of this new technique. Those were some great images! Your approach points out that if you can put your sensor in a position that lets you predict the event you want to record then trigger the camera followed by a flash. This is probably a new feature I should include in a future version of the Camera Axe software. I also really like the sensor you’re using. It could be useful for a lot of applications with the Camera Axe. Thanks!!!

  12. Maurice Ribble said,

    June 21, 2009 @ 8:48 am

    I’ve updated the software to fix the timelapse bug that Kyndal mentioned. I also fixed a minor bug with the remote menu where I was not debouncing the menu button press. The the software is now at version 0.2 (it was 0.1).

  13. Zak Ghent said,

    June 29, 2009 @ 12:31 pm

    First of all, Wow. Fantastic work. I have been looking for a device like this for a while and this does exactly what i wanted.

    Second, i am fairly new to electronics and am planning to build one myself. So, would it be possible for you to make the before mentioned guide for soldering the components on as i can’t see how a couple of the components fit in.

    Many Thanks and once again great work

  14. Maurice Ribble said,

    July 6, 2009 @ 8:43 am

    Thanks Zak. You’re the only one to ask for this guide and I am very busy with my next project. Because of this I don’t plan to make the assembly guide at this time. Maybe in the future I’ll try and put together a kit to make it easier for others to put together their own Camera Axe, but I have not budgeted time for this. If I do end up doing this or working with a company to make this happen I will update this article with that information.

  15. kyndal said,

    July 8, 2009 @ 2:28 pm

    which components do you have trouble with?

    its mostly straight forward..


  16. Joe Lovick said,

    July 8, 2009 @ 4:29 pm


    I wanted to say thank you for this! its fantastic. I took your project as an inspiration and passed it on to gizmo-for-you who are a company that makes open source electronics. the original forum post for this is here

    I needed a few extra things in the design for my purposes so it has been modified slightly; you can see the current status of the project here

    I am sponsoring this project, but when it is complete, the devices will be for sale in the gizmo-for-you shop, so other people can purchase them there. The final devices will be fully re-programmable and such as standard PIC chips are being used, and the schematics and code is off course also to be open source.

    anyway this may be of help to people who dont have the time to do the electronic assembly themselves; And i also thought you might like to know it.



  17. Len said,

    July 9, 2009 @ 3:57 am

    Like the idea a lot! Presumably it could have been built as a straight Arduino shield?

    For Joe,
    Gizmo appear to reserve their hardware design. See:-”By making a wish in our forum you acknowledge that the hardware design for the requested Gizmo is commercially owned by Gizmo For You and can only be sold through the Gizmo For You online shop. It can be distributed or resold only with our permission. In other words, if you want to make this Gizmo to use in your own private interests then you are free to do so but making money from our designs without our permission is forbidden.”

    Just a quibble but this is -not- open-source.

  18. Zak Ghent said,

    July 9, 2009 @ 8:15 am

    The 3.5mm Jack sockets. I have had a look at the board both on the photographs and with the Eagle files supplied, and just cant see how they fit on!! i know it probably sounds stupid but i dont want to go spending $120 only to sind out i cant build it!!

  19. Joe Lovick said,

    July 10, 2009 @ 8:10 pm

    For Len,
    Good point. It seems to be “towards the spirit of the GPL” but indeed its not really open source, i had not seen that! I will bring it up with them in a private channel and see what they say.


  20. Paul said,

    July 22, 2009 @ 6:31 pm

    Thanks for all the hard work and detail you put into this project. I am in process of my own camera axe build following your detailed instructions and files.

    Thanks Again!

  21. Bruce Varney said,

    July 24, 2009 @ 10:00 am

    Have you thought of making up a kit of parts to sell? i would be interested in purchasing such a kit as I live in the UK and may have a problem sourcing one or two items e.g. the PCB.



  22. Matthew said,

    August 3, 2009 @ 4:47 pm

    I’m working on a version of this with components sourced in the UK. Once i can confirm it working I’ll post a link with a shopping list.

    I have a question for anyone who may be able to help – instead of purchasing a dongle to upload the software, could I just buy the complete Arduiro unit and use that?

    Also i’m having trouble finding a substitute for the Op Amp in the UK, if anyone can see a sub at or that would suffice I would be grateful.

    And thanks to Maurice for this great setup, and the most interesting blog i’ve seen in a long time.



  23. Maurice Ribble said,

    August 3, 2009 @ 4:59 pm

    Hi Matthew.

    I’m not sure I know what you mean by buying the Arduino to upload the software. If you mean you want to build this PCB and then use the Arduino board to load this software on to an ATMega328 chip that should work. The biggest downside of that is you can use have the dongle plugged into the PCB I designed here and use the serial port to print debugging info to the PC. Debugging hardware and software issues without this dongle will be more difficult.

    I don’t want to lead you astray by suggesting a replacement opamp, but I will say I have used a few different opamps and it should be easy to replace this part. More likely than not you are overwhelmed by the different options. If you can’t find an exact match, just pick something close and it should work.

  24. Maurice Ribble said,

    August 3, 2009 @ 5:02 pm

    To answer Bruce’s kit question. I’m not interested in putting a kit together myself, but I’m talking to a company that might be building an assembled version of this device and selling it. If this happens the hardware and software would remain open source. It might be awhile before I have more information on this, but when I can say more I will.

  25. Matthew said,

    August 4, 2009 @ 6:15 pm

    Thanks Maurice that’s a great help, just after I wrote I found a UK source for the FTDI dongle and chip and it works out a lot cheaper anyway.

    I’m happy to try out a couple of similar spec Op Amps, so I will give that a go.

    Thanks again

  26. Sergio said,

    August 13, 2009 @ 7:25 am


    very interesting project!

    I started reading your former article on lightning trigger, and I found there a little issue with the triggering transistors (you directly put 5V to Vbe of the transistors to trigger the camera, wich of course is close to the breakdown). Then you solved the issue with this project putting a 10k resistor to limit base current.

    Anyway I was just checking around the schema, and I was wandering why you placed that diode rectifier in the part that controls the light sensor. Could you please tell us why?

    Another thing: I plan to set up a similar project (but just for lightning at the moment), and I plan to use a pair of optocoupler to electrically separate the circuit that triggers the camera from the camera itself. So I’m 100% sure that whatever happens to the board will not damage the camera.

    Tnx for your great ideas! ;)

  27. Maurice Ribble said,

    August 13, 2009 @ 9:27 pm

    Hi Sergio,

    I put the diode in the light trigger to protect the circuit. It wasn’t for the light sensor, but to protect against other sensors that might cause a negative voltage.

  28. J. Alexander said,

    August 24, 2009 @ 2:55 pm

    That is absolutely fantastic. Do you know anyone that builds the AXE? I do photography, optics, carpentry, precision mechanical stuff but no electronics . . drat!

    I do Infrared photography and would love to experiment a bit with this and high speed shooting. If you know of anyone who would build me one of these please let me know.

    Thanks much

  29. Maurice Ribble said,

    August 25, 2009 @ 9:05 pm

    I was hoping to get a deal where a company was going to manufacture these for me, but that isn’t going to happen anymore. So I plan to make a small batch of a new and improved version to sell (support multiple flashes and have a new sensor port). I have a few other projects lined up before I get to this so realistically it will be 3 months before I have this first batch to sell. I plan to offer a complete package (Camera Axe, sound sensor, light sensor, laser pointer, flash shoe, and a Canon xxD/5D/1D trigger (possibly also Nikon and Canon Rebel triggers if there is demand)). I still need to figure out exactly how much all the parts cost and how long it takes to put them all together, but I’m guessing the kit will cost something in the range of $350-$450. If your interested send me an email and I’ll put you on the notification list.

    No money will be collected until I’m sure that I have something to ship. If you would rather get a kit with the PCB and all the parts needed to make this (soldering, gluing, drilling, and cutting would be required) I could give you the kit at a much discounted price (probably around $200).

    What do people think about having a remote for this? I have verified it works, but adding the actual remote adds a significant cost. I’m thinking about dropping it. Maybe it will be an optional feature. What do you guys think about the remote?

  30. kyndal said,

    August 27, 2009 @ 1:53 am

    personally i didn’t include the RF remote in my design..

    instead im adding bluetooth serial port for tethering.
    based on a National Semiconductor LMX9838 chip i have lying around
    (all in one bluetooth chip but takes some small soldering!!)
    can now tether to just about anything with bluetooth.
    (except i haven’t done the software bit yet)

    i designed my hardware completely modular
    it uses USB connectors, as they are abundant in my box. so i have 4 pins for 5v, gnd ,I, O
    and each sensor / trigger cable contains the rest of the required discrete
    components on their adapters or cables. instead of on board.
    this way i can just make up new sensors without need for changing the box it self
    and i can have the amplifiers closer to the sensor. and run longer cable to the box.

    software wise i have added some neat stuff.

    adjustable “exposure” length (flash – Bulb shutter)
    exposure is flash / SLR (shutter only / focus first) (CHDK) to come
    adjustable Grace period (after exposure, before new shot can be taken)
    disable power to laser, while exposure
    change VFD brightness

    “on my list”
    CHDK support for point and shoot cameras (don’t know why ? ;) )
    multiple sensors use
    store different sensors and their parameters
    RF Remote (ebay one. that triggers the camera wireless over distance (not for tether) )
    IR remote support for Nikon ML-L1 and ML-L3 (only needs an ir led and some code)
    real time clock for time-lapse on specific times / way of setting these

    i have
    ir trigger cable for Nikon Flashes.
    trigger cable / Power cable for CHDK camera
    laser “gate” (works like a charm for a 1$ laser!) (want better laser…)
    microphone (performance not impressing needs new one made )
    Piezo sensor (can detect a drop of water on my shop table)

    i need
    trigger cable for canon cameras (need the plug!… ;( )
    motion sensor (garage light sensor style) for wildlife or… burglars? ;)
    ir gate with slotted wheel from mouse (for taking pictures of spinning stuff? i dont know ;) sounds cool)
    magnetic sensor (cheap window alarm)

    just some of the stuff i have been working on..

    Rune Kyndal

  31. Greg said,

    August 31, 2009 @ 3:10 pm

    This is interesting. Two questions; What did you use to make the circuit schematic? And where did you get that enclosure? Do you buy a plastic box that size and then cut it out?

  32. Maurice Ribble said,

    August 31, 2009 @ 4:12 pm

    Greg, every question you asked is answered in the post, but I will answer them again here since it doesn’t take much time.

    I made the circuit with Eagle.
    I got the enclosure from and I did have to drill some holes and cut a rectangle for the screen.

  33. Maurice Ribble said,

    August 31, 2009 @ 4:17 pm

    kyndal, thanks for sharing your ideas. Some of those are good, but didn’t adding all that software start to make the menus confusing?

    I think your idea of making smart sensors is valid, but I’m sticking with putting some logic on the board to handle common things like a microphone amp. I do plan to expose a single ananlog port in the next version for things like distance sensors.

  34. kyndal said,

    September 2, 2009 @ 2:26 am

    making it modular with “smart” sensors. is definitely a different approach

    Complicates things, and you end up with having to make many of the same
    circuits externally. for every sensor to have its own amp’s and such.
    i do like the fact that they can be individually optimized.
    and the ease of changing / Adding the sensors.
    (one “AUX” port would do this just fine too)

    i also combined the Flash and shutter pin. as they pretty much do the same thing.
    same thing. i just add different cable to that port, for SLR / Flash or CHDK
    with its own external components (opto-couplers and such)

    bottom line is. that this approach has freed up a good couple of I/O and Analog pins
    (not sure what i need those for. but they will come in handy im sure ;)

    menus complicated?
    Not really.. i changed it around a bit. and having a 2X20 VFD
    adds those extra 4 chars which really makes a difference to the understandability.
    a 4×20 would be sweet ;)

    i also made the menu “interactive” if you will.. the menu options available depends on options
    chosen.. if pick to trigger a flash. for instance. the extra “SLR” menus for picking “Shutter only” / “Focus first” and (exposure length / Bulb) wont show.. (only for SLR)

    but yea.. More menu options will make it more confusing..

    im looking for a good name for the “delay / pause” i add after a picture is taken.
    so it doesn’t trigger immediately again..
    works sorta like a Hysteresis.. but i dont like that word..


  35. sandra742 said,

    September 9, 2009 @ 9:45 am

    Hi! I was surfing and found your blog post… nice! I love your blog. :) Cheers! Sandra. R.

  36. Matthew said,

    September 24, 2009 @ 6:39 am

    Finally all my parts arrived and I have put it all together. I have run into a couple of glitches though,
    I can’t diagnose why but the camera output seems to be a constant trigger which just freezes up the camera.

    Also I am unable to capture a balloon as it immediately pops, even at zero ms with the mic 12″ away set as highly sensitive, the best I can achieve is the ‘ghost’ when filled with flour.
    Perhaps that is the best I can hope to achieve although I suspect something is amiss as others appear to have better results.

    Anyway once I iron out all the creases I will post my UK sourced supplies.

    I would suggest to Maurice that an LED indicator of when ‘live’ would be a great help, as I have noticed the lag between responsiveness, about 4.5s? And perhaps call the SET button ‘ready’ or ‘go live’ and menu to be ‘menu/select’.

    I hope you don’t mind the suggestions.


  37. Maurice Ribble said,

    September 24, 2009 @ 7:06 am

    Thanks for the feedback Matthew. It is helpful and will use some of those ideas in my next version.

    Did you notice the errata I mentioned about the transistor I used in my Eagle file having non-standard pin layout for collector/base/emitter? If you didn’t fix this you’ll need to wire the pins of the transistor to different pads on the pcb than you expect.

    I’m not sure why you are having problems capturing a popping balloon. You are using the flash a flash to capture it, right? Camera trigger won’t be fast enough. You have also set the flash to a low power in manual mode, right?

  38. Matthew said,

    September 24, 2009 @ 11:40 am

    Hi Maurice, sorry i didn’t mention my setup. I used a canon speedlite 550ex flash at 1/16 (which i believe is 1/15000 duration) and opened the camera for a 3s exposure in a blacked out room.

    I did note your errata when putting it together, and have now just flipped the transistor and tried to no avail. Looking at the schematic and board, am i right in thinking it’s the base coming off the 10k and therefore should go to the central pin in your ‘normal’ CBE/EBC transistor?

    My transistor is this one an EBC layout, perhaps this is why?

  39. Matthew said,

    September 25, 2009 @ 11:04 am

    OK i think I have solved it, seems it was the transistor pin layout, I should have paid closer attention to the schematic, thanks for suggesting that Maurice.

    Through trials I think the mic delay may come down to my op amp, its the only thing that differs from your original components.

    The light sensor seems to be bang on, I used a laser and ‘made’ the beam with a balloon burst and it captures the balloon sooner. Only I get a red laser line so it’s not practical.

    There are so many Op Amps available I don’t know the requirements I should be looking for, are there any parameters I should specifically try and match to your own choice? CMR/dB, slew rate?

    TIA Matthew

  40. Paul said,

    September 29, 2009 @ 8:28 am

    Hi Maurice!

    Your blog was a great starting point. Thank you! I loaded all the stuff on an arduino mini, and had to add a bit-register for the LEDs because of the limited number of ports on the arduino. But it works like a charm. Though I have not tested to trigger a SLR yet. When I read that 5V could damage the camera, I’m pretty happy not having connected the cam yet. I really should insert some of the resistors, eh? I will post some pictures on my blog later.

  41. Maurice Ribble said,

    September 29, 2009 @ 11:17 am

    If you look at the camera trigger schematic I only use 5V to activate the transistor that is connected to the camera. I don’t think this will damage your camera, but I’m also not willing to be responsible if it does :)

    In the next version I’m using a opto-isolator to trigger the camera (like I used for the flash on this version). This should be even safer. For instance if voltage spike came in a sensor and fried the CameraAxe, the camera might be damaged in this version, but will safer in the next version. Obviously there is always a limit on what can be protected against. For instance if one of your sensors is a lightning rod I don’t think your camera will survive :-)

  42. Christian said,

    October 2, 2009 @ 2:16 am

    I really like this project and also saw the stuff on Gizmo4You (but this is too expensive).
    I want to know if you are further developing this and are adding more functions? Since I am collecting information about camera triggers that are microcontroller based and already found: (Timer basically for Astrophotography – sorry but this site is in german only)
    and of course your CameraAxe and the Gizmo4You thing.

    I thought it would be great to combine all features into one single device but am not sure if it can be managed by software means only. Given the timer software (you may translate the page via online translators), I think it won’t be so hard implementing the functions as they are mostly software based. Also the HDR functions of HDR-Jack2 could surely be implemented.

    I’m looking forward to hearing from you,.


  43. Maurice Ribble said,

    October 2, 2009 @ 7:15 am

    Christian, thanks for the links. They were interesting. All of the extra functionality that I saw in those 3 triggers could be implemented in software. It all seemed to be related to extending the timing functions.

    I’m not sure I want to implement all that software in the next version of my Camera Axe because it would complicate the interface. The Astrophotography timer link requires knowledge about astronomy that I don’t have so I am probably not the best person to program that. It should be entirely possible for someone to take the Camera Axe hardware and modify the firmware software I provide as open source to add these function. This is the exact reason I open source so others who have a knowledge of a domain that I don’t can modify the project to fit their needs. It would be awesome if someone did this. If anyone does modificaitons like this I’d be happy to post additional software version on this site.

    I’m not convinced this is the best way to do the hdr stuff. It is an interesting idea, but seems limited and may be confusing since different cameras have much different limitations. I think hooking a tiny pc to the a Canon (this solution would only work with Canon since it requires using proprietary interface protocols) via the usb connection would give better results. I have thought about doing this sort of project in the past, and may do it in the future; but this requires completely different hardware. It would be pretty awesome though.

    I am still working on the new version. The hardware is done and seems to be working. I’m going to spend the next few weeks making new sensors, improving the software, and writing better documentation so using this device is more accessible to regular photographers. My current estimate is about a month until I should unwrap all the details on this new version. I plan to sell complete kits for around $100 and an assembled version for $200. Sensors will be sold separately for around $20 each. These prices complete ballpark at this time and are put here so people know about what to expect. I understand this will be more than some can afford and you might be able to save a little money if you build your own from the open source plans I will provide (especially if you are willing to make your own PCB and leave off some of the features).

  44. Steve B. said,

    October 3, 2009 @ 2:04 pm

    I’ve been following the thread here for a bit and your recent post about a kit becoming available is very exciting. I’d definitely be interested in getting a kit when they become available.

    One question – for unattended use, is there a feature in the software which will only allow a fixed number of trigger activations? For example, if I hooked up a shutter cable to my venerable old Canon T-70 or T-50, I might like to limit shutter activations to 36 to prevent the camera from trying to wind past the end of a roll (yes, I still use film occasionally). Can a limit like that be set in the Camera Axe?


  45. Christian said,

    October 13, 2009 @ 4:07 am

    I just wanted to ask if CameraAxe is also compatible with a 4×16 LCD display since I can buy one for nearly the same price as the 2×16. Please answer soon, I’m about to order my components ;)



  46. Maurice Ribble said,

    October 13, 2009 @ 6:40 am

    If you buy the one from Sparkfun that uses the same controller it should work, but it will obviously only use the top two lines unless you modify the code.

    If you buy one using a different controller you will need to modify the code a little. The modifications to the code should be pretty minor.

  47. kyndal said,

    October 14, 2009 @ 6:05 am

    just make sure its a serial display of course…

    its pretty easy to adapt the code to use different op-codes
    for other lcd controllers.
    im using some ancient 2×20 VFD for instance

  48. Mikko said,

    November 12, 2009 @ 5:56 pm


    I have been studying blog about this interesting device! One thing I was not able to find an answer to is whether there is a passive time after triggering, during which the device will not trigger. Here is an example situation:

    1) a water drop hits water, makes sound & device triggers flash
    2) splashing water makes sound very shortly after the initial sound but you would NOT want the device to trigger on these, instead would like it to remain passive for, let’s say 10 seconds after triggering

    Is this feature built in? How does the device react in this kind of situation?

    Thanks for documenting your work!

  49. Maurice Ribble said,

    November 12, 2009 @ 6:05 pm

    Hi Mikko, this is hard coded to 10 seconds in the current version. In a future version I’m planning to release in the next few weeks this will be an option in the menus that you can change. Here is the code from this version that does the 10 second delay:

    digitalWrite(pin, HIGH);
    digitalWrite(pin, LOW);

  50. Mikko said,

    November 13, 2009 @ 2:39 am

    Thanks a lot for the answer! :) I’ll get to work ordering the components!

  51. 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!

  52. 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.)


  53. 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.

  54. 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


  55. 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).



  56. 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.

  57. 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


  58. 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

  59. 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:

  60. 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.

  61. 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.

  62. 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

  63. 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!


  64. 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!


  65. 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!


  66. 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.

  67. 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.

  68. 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 :)

  69. Robert said,

    December 4, 2010 @ 6:01 pm

    Is it compatible with Panasonic DMC-GH1?

  70. 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.

  71. 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).

  72. 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

  73. PCB Manufacture said,

    November 14, 2011 @ 9:49 am

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

  74. 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

  75. 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:

  76. 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