Edit (3/29/2014): When I first posted this instructible earlier this month I didn't describe what I was going to be using this rig for or where my requirements were derived from, but now that I have gotten some film back I thought I would share.

I needed a way to take low volume high resolution photos of liquid rocket launches and static fire (hold down) tests in the Mojave desert. Last weekend was my first opportunity to photograph such tests with this wireless shutter release on my Pentax film camera and I was very pleased with the results. I have added a results section at the end of this instructable that reflects some of my lessons learned from that weekend.


I needed to take high resolution photos remotely with my Pentax 645 medium format film camera. I could not find any off the shelf solution, let alone one that meet my requirements, so I decided to build my own.


  1. Triggered by a remote TTL level signal or a remote break-wire
  2. Wireless trigger range >100 ft. (expandable to 1000ft.)
  3. Robust method of serial communication to avoid inadvertent shutter actuations.
  4. Mount to camera in less than 30 seconds


  1. A 2.4GHz xBee modem DIO pin changes state based on a user defined input
  2. The xBee modems are configured for DIO line passing, which sets up virtual wires between matching DIO pins on two paired modems, so when the DIO line on the remote node changes so does the matching DIO line on the camera node
  3. The output of the Camera node DIO line pulls a pin high on a simple microcontroller
  4. The microcontroller issues a command to a servo
  5. The servo depresses a shutter release cable
  6. The shutter release cable trips the shutter of the attached camera.


Step 1: List of required materials and rational for selection



Any small enclosure will work. I selected the small plastic model from Adafruit because I was already ordering parts from there and I liked the captive screws. I always recommend plastic enclosures for electronics projects because they are easier to machine, and there is less risk of shorting out components due to conductive FOD; the modem will also have trouble transmitting out of a completely metal enclosure.

Series 1 xBee Modem with Wire Antenna
Are xBee units overkill for this simple 1 channel DIO line passing project? Yes, they absolutely are, but the environment it needs to operate in will have many other RF sources on bands that I can not always know ahead of time. The xBee modems use packetized transmissions that are unicasted to specific modem, this makes it nearly impossible for to recieve a false positive signal and actuate the shutter. This also provided me my first opportunity to learn how to do DIO line passing with an xBee modem, a very handy feature which I explain in great detail in a few steps. If you are looking for a less robust and much cheaper RF transmitter option sparkfun has a few options here, here and here; I can't vouch for them, but if you use them successfully post a comment and let us know how they work.

If you want more range and power consumption is not a constraint to your design you could also get the Series 1 xBee Pro which has a Line Of Site (LOS) range of 1 Mile, compared the regular xBee (which I used) with a LOS range of 300ft. If I ever need more range I can easily swap out my current xBees for xBee Pro's because the adafruit adapter can accept both.

Wire (whip) antenna vs. Chip Antenna - Wire (also know as whip) antennas will get you better range, reference here figure 1 on page 3.

Unless you have a special application only get "Series 1" xBee modems, not Series 2 or ZB or any other types.

xBee Adapter
Any xBee adapter will work, I just prefer the one that Adafruit makes. Sparkfun also sells one here.

FTDI Interface to configure xBee
You need some way to connect the xBee unit to a USB port so you can configure it. There are many different flavors of these, but I prefer the one that Adafruit makes because it simply plugs into their xBee adapter. Sparkfun also makes one here.

The shutter release cable does not require a great deal of throw or force to actuate the shutter, so nearly any servo should do the job, I selected this primarily due to its small size.

The microcontroller doesn't need to do much, it only needs two DIO pins and a servo library. The Adafruit Trinket fit the bill perfectly and only cost $8.

7.4V Li-Polymer Battery
Any batteries will work as long as they fit your power budget and size constraints. I had one of these little Lithium batteries from Sparkfun lying around so I used it. I did buy a back-up AA holder just in case I ran into trouble here. I also used a 8.4V Ni-Mh battery for my remote (sensor) node. 

Shutter Release Cable
No special requirements here, unless you want it to look extra cool, then get it in red.

I got one free with may Adafruit order. Now I see why she gives these way, they are pretty nice will need to order more. You will need two, one for the sensor (remote) node and one for the base (camera) node.

Wire to board connectors
Use whatever flavor you prefer, I had these big screw terminals lying around so I used them. If I was to do this again I would have used these.

Wire to wire connector 
Once again whatever flavor you prefer, I had 0.062" Molex connectors on hand, so I used them. 

Whenever I do board level work I try to use the nice stuff: Mil-Spec M22759/16.

Hot Shoe to 1/4-20 adapter
This is how we will mount the box to the top of nearly any film camera.

5V Linear Regulator
To regulate the battery voltage down to 5 volts.

10k Resistor
You need one 10k resistor to pull up (or down) the DIO7 pin on the remote (sensor) node, because it does not have an internal pull-up. 


1. Soldering Iron
2. Drill
3. Assorted drill bits, up to 1/2"
4. Dremel with cut-off disks
5. Wire stripper
6. Diagonal Cutters
7. Multimeter
8. Breadboard
9. Windows Computer
10. Small piece of plastic, wood, or rigid foam
11. Epoxy / Hot glue
12. Super Glue

<p>this excel sheet is badass. thank you so much.</p>
<p>man, that is it....simple...you are very smart.</p><p>thank you</p>
<p>Inspired by this, but wanting to save money and simplify, I came up with what you see below. I used a $3.50 radio remote and receiver from eBay instead of Xbees and a latching relay and 555 PWM circuit to drive the servo to the correct positions. The latching relay is driven by a H bridge and the servo will hold position without power so for a ultra-long exposure you can actually turn the power off and save battery life. The range is a little short (only 20 feet right now) so I'm going to experiment with a external wire antenna.</p>
<p>Hey, nice build. I like that you added the ability to cut power to the servo, that is a shortcoming in my design, because my servo is always drawing a small amount of current.</p><p>Can you post links to the of the hardware that you used, specifically the radios. </p>
Glad you liked it. I should say the servo power has to be cut manually, it's not a remote feature so it's less useful than you might be imagining. The <a href="http://www.ebay.ca/itm/261286602229?ssPageName=STRK:MEWNX:IT&_trksid=p3984.m1439.l2649" rel="nofollow">receiver/transmitter modules</a> are really cheap on eBay.&nbsp; The <a href="http://www.ebay.ca/itm/40cm-Mechanical-Camera-Cable-Shutter-Release-Shutter-Remote-cord-for-Camera-/251003519974?pt=Camera_Camcorder_Remotes&hash=item3a70f9c3e6" rel="nofollow">shutter release cable</a> is also really cheap and the spring can be removed to minimize the amount of force the servo has to exert. The <a href="http://www.digikey.ca/product-detail/en/TQ2-L-5V/255-1004-5-ND/251776" rel="nofollow">latching relay</a> could be any 5V single coil latching relay, driven by a H bridge.&nbsp; The <a href="http://www.ebay.ca/itm/Micro-Servo-Motor-RC-Robot-Helicopter-Airplane-Controls-TowerPro-SG90-9G-New-S-/361014562067?pt=Radio_Control_Parts_Accessories&hash=item540e250d13" rel="nofollow">servo</a> is just a regular junk one.<br> <br> I attached the schematic.
<p>I love this, is there any way to pay you to make this for me?!?!</p>
<p>I'm doing Digital Line Passing with Xbee. I followed your instructable and I cannot get output timeout to work correctly.</p><p>DO0 is connected in series to resistor-&gt;LED-&gt;GND. Setting DIO0 to 4 or 5 will not cause the LED to be HIGH in either setting until the monitor xbee line passes a HIGH. Is this right?</p><p>Also, the timeout feature does not work. Once the DO0 goes HIGH, it remains HIGH until the sensor xbee has LOW for DI0. Help?</p><p>Sensor: IR = 14, T0 = 15</p><p>Output Xbee: IR = 0, T0 = FF</p>
<p>For the timeout feature try decreasing the T0 value on your output xBee it is currently set to 0xFF = 0d255 = 25.5 seconds, so if might be working fine it is just set so long that you are not seeing it. </p><p>As for setting DIO to default high I will look into it this week and get back to you. You could get around this electrically though by going 3.3v-&gt; LED-&gt;Resistor-&gt;DIO0 and using the DIO pin as a sink instead of a source, that way when it is in its LOW state the LED will be on and when it is in its high state the LED will be off. I fairly certain you can use the DIO pins as a sink, but you should double check, and note the max sink current. </p>
<p>This is a reference on proper mounting on 1/4 wave monopole antennas, which is what the whip antenna on the xBee is. The reason I was not getting the maximum 300ft. range was because I was bending the antenna over, a practice that this reference warns against. </p><p>http://www.digi.com/support/kbase/kbaseresultdetl?id=2142</p>
<p>Was recently doing some Analog Line passing and this site was a useful reference for those who are interested:</p><p><a href="http://www.etotheipiplusone.net/?p=748" rel="nofollow">http://www.etotheipiplusone.net/?p=748</a></p><p>Favorite quote: &quot;Comparing 3.3v to #NaN always results in bullshit.&quot;</p>
<p>Check it out :)</p>
Also to drill a D shaped hole. Use the largest drill bit you feel comfortable with and place one hole in each rounded edge and get a 10 piece wood working set from a craft store. One is shaped like a pike it's great for shaping the edges and is sturdier than an exacto knife.
<p>Cool, I have heard of drilling the two holes and filing the remainder, but never using a wood working tool. I am curious, would it work on plastic, like I used for this enclosure? </p>
Holy cow! Amazing! Truly amazing!! I spilled my coffee all over the place... Anyway. What was the total cost of the device? And estimate of time spent?
<p>Thanks. This is on the order of a weekend project if you have all the parts. </p><p>6 hours programming and learning xBee line passing. My instructions should cut this down to 1 or 2 hours</p><p>8 hours of enclosure fabrication and soldering. </p><p>For cost breakdown:</p><p>$64 for the pair of xBee modems and adapters (look at step1 for much cheaper alternatives if this is out of your budget)</p><p>$10 Enclosure </p><p>$10 Servo</p><p>$20 cable release </p><p>$8 Trinket microcontroller</p><p>$5 Li-Ion Battery </p><p>$15 Ni-Mh battery </p><p>$0 Protoboard </p><p>$4 hot shoe to 1/4-20 adapter </p><p>$0 Misc. connectors and wire I had on hand </p><p>Total: $136 </p>
<p>Wow! Awesome. Thank you so much for such a thorough build!</p>
<p>Also, I shoot with a mamiya 6x6 - i never thought of doing a mechanical shutter hack like this. genius!</p>
<p>Thanks! A little jealous of the mamiya.</p>

About This Instructable


183 favorites


More by John Culbertson: Bed Liner Bike Frame Wireless Mechanical Shutter Release Successful Hard Drive Controller Replacement
Add instructable to: