Camera Axe 3.0

Purchase the Camera Axe at this store.

I’ve done a lot of refinement since releasing the original version of the Camera Axe.

The Camera Axe is a tool for photographers to trigger cameras or flashes based on signals from various sensors. In this version there are two ports for sensors such as a microphone, a motion detector, or light sensor; and there are two ports for camera/flash devices. The Camera Axe is useful for stop motion photography where an action happens too quickly for human reflexes (photographing a popping balloon, lightning, or a milk droplet splash). Other uses can be to catch things photographers don’t want to wait around for such as birds flying to a bird feeder or surveillance of people walking down a hallway. The possibilities are endless. The hardware and firmware for this device are all open source under Creative Commons Attribution 3.0 License meaning that it’s possible to adapt this platform for specialized uses.

Below are a few links important links for this project:

  • Build Guild – Detailed step by step information on how to build your own Camera Axe (includes full BOM and suggested part suppliers).
  • User Manual – Describes how the software menu works, lists sensor/accessors, and gives some example use cases.
  • Image Gallery – Pretty pictures taken with Camera Axe Hardware.
  • Dreaming Robots Store – My online store where I sell Camera Axe kits, sensors, and other accessories.
  • Firmware Source – Source code that controls the Camera Axe (designed to be loaded via Arduino bootloader).
  • Camera Axe PCB Eagle Files – Circuit board source files.

List of improvements for this version:

  • Decided to use smart sensors. This means instead of having a special port on the Camera Axe for a Microphone that has the amplifier built into the Camera Axe, I’ve decided to put the amplifier on the sensor. This gives maximum flexibility in sensor combination, reduces the number of ports, and makes it simpler to use the Camera Axe.
  • Flash and Cameras use the share 2 ports. This means you could use 2 flashes, 2 cameras, or one of each. In the original version you only had the option to use one of each.
  • Removed the active port LEDs. These didn’t seem too useful and I was running out of pins.
  • Added power transistors to control whether the sensor ports are receiving power. This is useful to turn off things like a laser beam sensor just before taking a photo. A way of controlling this was also added to the software.
  • A reset to factory default and a way to control LCD back light brightness were added to software.
  • Large clean up of software source to make using it and modifying it easier.
  • Left out the remote control option since it was expensive and had little demand.
  • Lots changes to the electrical components used to reduce cost and make assembly easier.
  • Much better documentation (Builders Guide and User Guide).
  • Added a store to sell it because of a demand for this from the original version.

Feel free to discuss this or other topics at my forum.

Some of those following this project might be asking what happened to version 2.0. I got to the point of ordering a batch of PCBs and I even built one. I had gone with the mentality that more is better. This monster had 6 ports and each port had a different task. While I was writing the software for this version I decided that it was going to be too confusing to use so I stopped working on 2.0.  A simplified 3.0 version was born which tried to add new functionality while keeping it simple to use.


  1. Stigern said,

    November 19, 2009 @ 3:35 am

    Thats really cool!

  2. tytower said,

    November 20, 2009 @ 1:41 am

    Very professionally done and presented . You deserve to sell a million and may well do with some sensibly placed advertising. See an expert about this in your country.

    I noticed you threw in the old LM7805 and with such excellent other products available to reduce battery consumption I might suggest you look at other choices . They will fit right in and add to your advertiseable features.

    Well done .

  3. Maurice Ribble said,

    November 20, 2009 @ 8:12 am

    tytower, this is probably a good idea. I presume you are saying that I should go with a switching regulator instead of a linear regulator in order to improve efficiency. I did a quick search and the switching regulators and they all seemed to have 4 or more pins so the versions I found weren’t pin compatible. The closest I could find to working with this PCB was this: It defaults to 5 volts so I could just not use the Vadj pin.

    One thing I’d need to test is making sure the extra noise from a switching regulator doesn’t cause problems for this design. I don’t think it will and if it does another filtering capacitor should help.

    If nothing else I will keep this in mind for future projects (or version 4 of Camera Axe if that ever happens). Thanks!

  4. kyndal said,

    November 20, 2009 @ 9:57 am

    i have used TI.s pt78ht205 in designs before. they are pin compatible.
    very efficient.. but also a bit pricey 😉

    i like the changes you have made to v3.0
    especially the “smart” sensors..
    and that all the device ports are opto isolated now.


  5. P^2 said,

    November 20, 2009 @ 10:10 am

    Great work! I like the improvements over the previous rev, and it looks really well done.

    I can’t speak for what tytower had in mind, but for battery operation a 7805 really sucks. The quiescent drain eats batteries. Consider instead something like a LM2936, which eats only a few microamps. It’s a linear again, not switching, but still cheap, no extern components required (other than the usual filter caps), and no issues about switching noise (not that’s it’s a problem in this app). It’s a TO-92, not TO-220, but you probably aren’t going to be supplying heavy loads anyway.

  6. P^2 said,

    November 20, 2009 @ 11:28 am

    I just saw kyndal’s comment. Note that the 78HT205 is more efficient than a linear regulator only at relatively high currents: more than 100 mA or so, about where the TO-92 LM2936 overheats :-).

  7. A Photographer said,

    November 20, 2009 @ 3:39 pm

    Kudos! Open source hardware at its best …
    As another commenter said, you deserve to sell tons of these.

    I am buying an assembled one soon …
    (Even though I can’t wait to build one myself)

    – A Photographer

  8. kyndal said,

    November 20, 2009 @ 3:50 pm

    my vfd alone is rated at about 200mw (full intensity)
    add the arduino, my bluetooth module, laser and sensors to that
    and the LM2936 would have gone south in a hurry 😉
    the lm7805 would have been lukewarm by now too.

    so sure a 2Amp PT78HT205 may be have been overkill.
    but luckily i had a few around 😉
    and power to spare for “future applications”

    No.. i rarely use the battery option.
    usually usb powered from my tether computer anyway 😉


  9. Joe said,

    November 22, 2009 @ 2:43 am

    Wow, great job! I’ve been looking around for hints on creating my own project but you really nailed it. Thanks for your work and releasing it Open Source.

  10. Dean said,

    November 24, 2009 @ 7:28 pm

    Thanks for your very detailed directions and hard work developing this kit. I received all parts for the Camera Axe kit within three days of ordering. Assembly took about two hours and it worked when I turned it on. The sensors worked well, the menu/software is very straight forward to use once I got started. So far I have just been firing my flash. I am looking forward to using this to take pictures soon.

    Thanks again!

  11. kyndal said,

    November 27, 2009 @ 6:22 pm

    how did you get the picture above, with the white splash.
    I cant seem to get a drop to hit the splash from the previous one…(on “film” anyway)
    and yes i have tried “statistics” 😉

    im using a IR slotted gate drop-sensor, my box for timing, a nikon D3 (mirror lockup)
    a couple or three speed-lights. and the problem
    one unreliable nonadjustable random “humanoid drop dispenser”

    Controllable electro-mechanical drop dispenser ? luck?
    or just far waster statistics?


  12. Maurice Ribble said,

    November 28, 2009 @ 1:48 pm

    Dean, thanks for the feedback. I’m glad it is working for you!

    kyndal, the splash drop was pure luck for me. It was the only drop picture I took that did that. I suspect it is caused by a second drop hitting the first drop in mid splash. If this theory is correct your idea of an electro-mechanical drop dispenser would make these reproducible. You would need to modify the software a little so that one of the sensors was an output instead of an input.

  13. kyndal said,

    November 29, 2009 @ 2:42 am

    well.. its definitely caused by a second drop hitting the splash from the first.. 😉
    its just pretty hard to do… on purpose 😉 i guess..

    i need to come up with some kind of adjustable rate, drop dispenser 😉


  14. mr-hyde said,

    February 28, 2010 @ 3:38 pm

    First sorry about my terrible english- Im from Germany an have no practice in writing english.

    Many Thanks for sharing your Ideas under Open Source CC3
    I build the Camera Ax in the first Version with an original Ardurino Board and an extra board for the additionals.
    And im pretty happy with it.
    For shure I will update to the new Version. It looks simple for me, course I use the sensors simular as external sensors. And my RJ45/8P8C for the sensors have enough pins.

    Thanks a lot for your work

    PS: With an shutter-release-timer for HDR Pictures it would be perfekt.

  15. Strath said,

    April 6, 2010 @ 3:29 pm

    Porting this to Pyxis OS ( would be pretty awesome.

  16. apogee said,

    April 8, 2010 @ 9:16 am

    Thanks for sharing this! Very appreciated.

    I am currently gathering the parts for this and have a question:

    Will a atmega168 work, or has it to be a atmega328 ?

    Thanks in advance.


  17. Maurice Ribble said,

    April 8, 2010 @ 10:35 am

    Apogee, I’m a little confused by your question. In the Build Guide I suggest using Atmega168 so of course it works. If you were being dyslexic I will say the Atmega328 also works. You’d get twice as much program space with the 328 which would be nice if you’re trying to add functionality to the software. Remember both of these chips need to be loaded with the Arduino bootloader to work with the code I provided.

  18. Maurice Ribble said,

    April 8, 2010 @ 10:39 am

    Pyxis OS looks cool, but expensive. There is a lot of graphics LCD code out there that could be used and I see no reason Pyxis OS is better. I do think moving to a graphical LCD is a good idea even though it will add a little expense. There has been some people on the Camera Axe forums trying to prototype this (

    I’ve done a valve sensor that makes colliding drops easy.

  19. Strath said,

    April 14, 2010 @ 9:14 pm

    Got my kit in the post today, Maurice. Quality looks excellent. I’ll put it together at work tomorrow and start playing on the weekend.

    Quick question, what do you use for a stage to hold/align the sensors and the imaging targets?

  20. Maurice Ribble said,

    April 15, 2010 @ 5:27 am

    Hi Strath,

    Glad you got the kit. Can’t wait to see some photos!

    This is a good question. I’ve been meaning to do a blog about setup about this, but I’m not sure when I’ll have time to do this. I do have a little info on this.

    Here is a picture I did of my valve setup:

    Here is a picture I did of my photogate setup:

    In general I just use a bunch of clamps and some scraps of wood to do the setup. Using photo light stands would make holding everything in place much easier, but I haven’t bought those yet.

  21. Strath said,

    April 15, 2010 @ 11:43 am

    So far so good. It took about an hour and a bit so far to assemble, and seems to work. I just need to drill the sensor/flash/power holes in the case, which I can’t do here at work, but I can certainly power it up and step through the menus. A good sign …

  22. Strath said,

    April 16, 2010 @ 7:01 pm

    I think I need to enlarge the holes for the camera/flash/sensor jacks. The plugs aren’t seating fully. They line up perfectly with the board, but are recessed just a couple of mm or so.

  23. Jerry said,

    May 8, 2010 @ 8:10 am

    I would like to put together a photo-interrupter wide enough to pass a lemon, or an orange. I have the PG-1( ) kit from HiViz, but I don’t know if it would be connected the same with the Camera Axe. Could you tell me how to connect it?

    I am really enjoying the Camera Axe.


  24. Maurice Ribble said,

    May 8, 2010 @ 8:39 am

    Hi Jerry,

    I don’t know how much you know about electronics. I’ll give a brief description of how to do this and if you need more details let me know.

    I’ve already done a similar sensor and have schematics here:

    In the projectile sensor above I have two emitters and two detectors. You just need to reduce the system to a single emitter and detector. On the schematic JP1 is for an emitter and JP2 is for a detector. In addition to the kit you’d need a 3.5 mm plug, a 220 ohm resistor, and a 10K resistor. The 220 ohm resistor limits current to the emitter. The 10K resistor connects to the detector.

  25. TJ said,

    May 20, 2010 @ 9:39 pm

    First I just want to say that this is the perfect combo of simplicity and functionality.

    I was curious about your PCB supplier. Your current link at GoldPhoenix has them very expensive for just 1 board according to their website (~$100). For your version 1 you have a design on file with BatchPCB(~$21). Any thoughts or plans to sell just the PCB or have it on file (that way you get the kickback) at batchpcb like your earlier version?

  26. Strath said,

    June 12, 2010 @ 4:43 pm

    Got my valve and projectile sensors a couple of days ago, both work fine!

    I used some PVC and muffler clamps to make a sensor mount/stage.

    I used 2″ PVC for strength.

    4 * 1′ lengths
    3 * 1.5′ lengths
    2 * 2′ lengths

    2 * T-couplers
    6 * 90 degree couplers.

    Put the 2 two foot lengths into the middle socket of the T-joints and glue. These will be the uprights.

    Take the four 1′ lengths and glue them into the other sockets on the 2 T-joints. This will form part of the base.

    Take one of the 1.5′ lengths with two 90 degree couplers and put them together, then test fit this to the top of the 2′ tubes. Don’t glue these yet. This will form the top of the upright. Right now we’re just using this for alignment.

    Take two of the 1.5′ lengths, and glue a 90 degree coupler to each end. Before the glue sets, test fit them to the ends of the 1′ lengths, and put the entire thing on a flat surface to get the alignment right. This is the rest of the base.

    Once the glue has set, apply glue to the remaining 4 joints on the base, again ensuring it’s flat. The base is now done.

    Glue the remaining joints on the crossbar. I’m using muffler clamps (U-bolts) to hold sensors in place.

    The glue sets pretty quick, hence the sequence and constant test fitting and alignment tests.

    Clear as mud?

  27. Aaron said,

    August 8, 2010 @ 2:01 pm

    I have an idea for Camera Axe. What is the feasibility of converting the two focus pins to two additional flash triggers with delay control like the two shutter pins have? Looking at the schematic it would appear that all that is necessary for hardware would be the addition of two more jacks connected to the two optocouplers currently being used for the focus controls. This would allow the use of four flashes all timed in succession for photographing moving objects on the same frame. I have three working Camera Axes at present and would like to modify one of them for this purpose. My problem is the code. I haven’t a clue where to start with that. I have the Arduino software and am able to flash the ATMega chips by cutting and pasting. I got this idea from the ADDjustasec flash delay that Woods Electronics sells. Their unit controls just one flash for each box at $99 each. I think that this is would be much simpler (and cheaper) with Camera Axe.

  28. Maurice Ribble said,

    August 8, 2010 @ 2:31 pm

    Hi Aaron,

    If I understand you then hardware wise you are correct. All you need to is some extra plugs. The simplest modification would be to take a 3.5 mm jack splitter cable and rewire it so the base pin from the Axe goes to both flash base pins. The middle pin from the Axe should go to one flash tip. And the tip from the Axe should go to the other flash tip.

    Then changes would need to be made to the software so you could adjust the 4 flash delays.

    It should also be possible to use sensor2 to trigger a second Axe. All this would require would be putting a 10K resistor to limit current to the input of the slave Axe. Then there would need to be software changes.

    Right now I’m busy with making a new version of the Camera Axe so I probably won’t have time to write this software, but if you have questions about changes your trying to make I’d be glad to help where I can.

  29. Aaron said,

    August 8, 2010 @ 3:07 pm

    Thanks for the response. I’m looking forward to the new version of Camera Axe. I saw your youtube video with the new graphic display and it looks real promising. Keep up the great work.

  30. BS999 said,

    October 4, 2010 @ 11:17 pm


    I took the liberty to modify your code a bit. I wanted HDR functionality together with all of the features you have included in the Camera Axe. The Atmega328 will run it but the Atmega168 runs out of space so you have to choose what feature(s) you will give up in order to run HDR mode.

    The code is here:

    Also, my goal was to make the code as Arduino friendly as possible, since I have Arduino boards and don’t have the equipment to build a Camera Axe board. The Atmega168 and 328 both include internal pull up resistors, so it is possible to simply call the internal pull ups rather than using the 10k resistor array you have spec’d in the Camera Axe hardware. I added this to simplify things.

    Would it be possible to shrink down the Camera Axe code by 2k or so? I looked over it but didn’t see what could be trimmed. My programming experience is pretty limited.

    Thanks for sharing the firmware!

  31. Maurice Ribble said,

    October 5, 2010 @ 5:13 am

    BS999, thanks for sharing!

    This is a great addition. I don’t actually know of any easy way to free 2K of code so this will run on an Atmega168. I’m working on Camera Axe 4.0 and that will be using 368 so there is plenty of room for an HDR mode. I’m really close to releasing so HDR won’t be in the first version of the software, but I’ll probably add it to the second version of the software.

  32. Aaron said,

    October 15, 2010 @ 1:35 am

    Received the Camera Axe 4 kit today. It took me about 1.5 hours to assemble. I haven’t tested it fully, but a quick run through looks good. Very nice! I have a comment on your immaculate build guide. There is no step to install the ATMega or optoisolator. I set them aside when I started assembly and stupidly tried to test the Axe without them. The Camera Axe does not work without them, go figure.
    I am posting this here because I didn’t see a way to post on your new discussion page. I would like to say that I am very pleased with the service you provide. Shipping was so fast that you would need a Camera Axe to catch a picture of it on the way. Camera Axe 4 looks like a great improvement over previous versions which were great as well. I am looking forward to testing it fully. The six AA batteries do make it somewhat heavier, but longer battery life is a plus. I would suggest modifying the case with some sort of window to protect the LCD. I custom made cases for the other versions of Camera Axe with windows to protect the Serial LCDs. I am not talking watertight, but for fingerprints and scratches.
    Anyway, great job, and thanks!
    P.S. Your new Camera Axe Page is super!

  33. Maurice Ribble said,

    October 16, 2010 @ 2:10 pm


    Thanks for the info about the missing step in the build guide. I fixed it. I’ll think about the protective screen, but I’m not sure of a good way to do that without a significant increase in cost. The screen is recessed so hopefully it won’t be much of a problem. It wasn’t a problem for people with Camera Axe 3.

  34. Aaron said,

    October 17, 2010 @ 2:07 am

    Your right, the protective screen should not be a problem, I just have a habit of overbuilding things. A piece of screen protector like they use on the camera LCD screens should work. They are readily available and can be trimmed to fit the Camera Axe LCD. This could, and should, be an option for the end user to add. I’ll probably add it to mine. Again, this is not a big issue. From my point of view, and that of others, the current cost of the Camera Axe is extremely reasonable. I was simply expressing my thoughts.
    How difficult would it be to program Camera Axe to control a stepper motor to drive a focusing rail for stacked images to get nearly unlimited depth of field on macro images? (See Considering Arduino was created for robotics this should be doable right?

  35. Maurice Ribble said,

    October 17, 2010 @ 5:55 am

    Hi Aaron,

    It wouldn’t be hard at all to run a stepper motor with the camera axe. I already drive a motor with the valve trigger. A stepper motor is a little different, but not any more difficult. I’ve actually been planning on doing something like this for awhile, but just haven’t gotten to it yet. I think image stacking would be cool. I also think steppers driving a timelapse panoramic would be cool.

  36. Aaron said,

    October 17, 2010 @ 8:43 pm

    Have you looked at the Helicon Focus software for stacking images? It’s a bit pricey, but a bunch of reviews have been done on it by some big name photographers. I can’t recall any negative reviews. I used the trial version, and it does work. The stacked images must be precise though. This is where the macro rail driven by a stepper motor comes in. The one cognisys-inc sells is recommended by the Helicon Focus website. At $450 for the system, it is too expensive for my blood. Especially because that is all the system does. They sell the controller separate for $240, but not the rail. I am looking into designing a rail, but I don’t have the programming knowledge for Camera Axe or Arduino. Looking at the rail on cognisys-inc and the manual rails I have, it shouldn’t be too hard. Cost might be an issue. I was looking at a breakout board motor controller on Sparkfun that should work well, they carry a motor as well. I don’t know if that motor has the necessary torque. I’ll do some more research on this.

RSS feed for comments on this post