Saturday, April 5, 2014

OpenPanTilt, a DIY 3D-printed Pan and Tilt head for DSLR timelapse photography

I hereby present OpenPanTilt, a 3D-printed Pan/Tilt head for timelapse photography with DSLR. This is a project I have been working on for some months. It is still not finished (i guess it will not ever be completely finished), but at least it is working. The above video shows a a video produced by OpenPanTilt. Scroll down to the end of this blog post to see a video demonstrating how the OpenPanTilt looks like. 


Timelapse videos gets alot more interesing once some camera movement is introduced. There are mainly two methods to perform movement. The first is by using a camera dolly, an the second is by using a Pan/tilt head. Each method have their advantages and disadvantages. A dolly can typically create more interesting shots if there is an object in the foreground, while a Pan/tilt head can be useful regardless of the scene and it can also be more portable. I have created my own Pan/tilt head for timelapse purpose: OpenPanTilt. The source code and the design files are all available for download, and can be freely modified and hacked, hence the "Open".
OpenPanTilt is inspired by the design of Steven Brace and consists of similar worm drives and stepper motors as his design. However, OpenPanTilt is also inspired by RepRap 3D-printers, meaning that most of the parts can be 3D-printed, whereas the rest of the parts (except the gears) can be easily sourced from a nearby hardware store.


The unit consists of nine 3D-printed parts (the part numbers in the list correspond to those in the above figure):
  1. Camera mount with mounting holes for quick-release plate
  2. Left part of the cradle
  3. Right part of the cradle. The left and right parts are identical.
  4. Tilt mount which holds the left part of the cradle and a NEMA17 stepper motor.
  5. Right tilt mount
  6. An upper pan mount which connects the two tilt mounts with M8 Rods and space for a lazy susan bearing.
  7. Top cover for the pan stepper motor box, which also has a space for the second half of the lazy susan bearing.
  8. The pan stepper motor box, containing the second NEMA17 motor.
  9. The bottom cover of the pan stepper motor box. A quick release mount can be printed as a part of the cover as an option. 

My 3D-printer (as seen above printing part 5) has a relatively small build volume (140x140x100mm), so the size of the parts are somewhat smaller than they should be. For example, by printing the tilt mounts (part 4 and 5 in the figure) a bit taller, it would be possible to tilt the camera some additional degrees before it crashes with the upper pan mount (part 6). However, the freedom of tilt movement depends heavily on the type of camera that is attached to OpenPanTilt. A small compact camera can be tilted 360 degrees with no problems at all whereas a DSLR with a huge lens will be more restricted in terms of movement. 


The hardware pieces are as follows:
  • 2x A-1Y-5MYK08RA Worm (from sdp-si)
  • 2x A-1P-6MYK08R030 Worm Gear (from sdp-si)
  • 2x NEMA17 stepper motor (The Pan engine should be max 40mm to fit inside part 8)
  • 1x 25x42x11mm Axial Ball Thrust Bearing (a.k.a Lazy Susan bearing) (between part 6 and 7)
  • 4x 8x16x5mm Axial Ball Thrust Bearing (on each side of part 4 and 5)
  • 6x 5x12x4mm Bearing (2 each inside parts 4, 5 and 8) 
  • 60cm 8mm threaded rod, to connect parts 4,5,6 (length depends on the size of the camera)
  • 60cm 6mm threaded rod, to connect parts 1,2,3 (length depends on the size of the camera)
  • 20cm 5mm threaded rod, to connects parts 4,2 and 3,5
  • 12 M8 nuts
  • 12 M6 nuts
  • 12 M8 locking washer
  • 12 M6 locking washer
  • 5 M5x75mm hex bolts, to assemble the parts 7,8 and 9, and one for connecting the pan motor to 6.
  • 4 M5 nuts
  • 4 M5 washers
  • 8 M3x15mm screws (for motor mounts)
  • 1 Camera Tripod Quick Release Plate 1.5x2 Inches, such as this one
  • Some M5 washers to align the worm gears
  • M2 bolt to secure the tilt axis to the M5 rod connected to the tilt stepper motor.


The assembly is straightforward. Just as when assembling a RepRap printer, the parts, and particularly the holes, might need some adjustments after printing. This video describes the process. When that is done, there are many ways to assemble the unit. Below I describe my method:

  1. Start with cutting the M6 rods into two pieces. These two pieces connects the pars 1, 2 and 3 Make sure that the rods has sufficient length to ensure that your camera fits between 2 and 3, even with cables (such as power and remote control) attached. Then, assemble the cradle with M6 nuts and washers.
  2. The second step is to cut the M8 rods in adequate lengths and assemble the parts 4,6 and 5 with M8 nuts and washers. 
  3. The third step is to mount the pan stepper motor and the gears into 8 and mount the lid (7) to the pan unit (6) with the axial thrust bearing in between. 
  4. The fourth, and final step, is to mount the tilt stepper motor with its gears into 4, and use two M5 rods and some bearings to connect the cradle (i.e., parts 1,2,3) to the left and right tilt unit (4 and 5). Part 2 must be fastened to the M5 rod connected to the tilt gearing by drilling a hole in the rod and fitting a M2 bolt through the hole in part 2.
  5. Voila, the OpenPanTilt is finished!

The verdict

The units works excellent. I have also created the electronics to control the unit, consisting of a Atmel ATMega328, a couple of stepper motor controllers, power supply, and some opto couplers. A future blog post will describe the electronics and provide some timelapse videos created with the unit.

OpenPanTilt is now available at thingiverse:


  1. hi,bro. is it u r using solidworks to draw the part? can i hv the file of ur drawing?

  2. I created the file with OpenSCAD. You can download the file at You can convert the 3D-model to STL in OpenSCAD.

  3. Please help!

    Can you tell the specs of your nema17 motors you use?
    I use 12v 0.33A Nema17 steppers and I think they are too weak..

    1. My Pan motor is a 40mm NEMA17 and is rated 1.7A. The tilt motor is a 34mm NEMA17 and is rated 0.4A. I have had no problems using them, but the result also depends on the stepper driver configuration and the quality on the gears and bearings.

  4. Was considering getting this printed via ShapeWays.Com but they need to know at upload time whether the STL file is in "MM", "Inches" or "Meters"? Can anyone tell me which units are proper for getting this printed at the right size?

    1. Both OpenScad and STL files are unitless. However, I created the device in metric, so you have to tell the printing service to use metric. If you print yourself, this is done in the slicer.

  5. Hi there! Nice post! Please tell us when I will see a follow up! Dslr camera price in pakistan

  6. Hola buenas noches he comenzado a realizar su proyecto pues me parece genial,le rogaría que por favor me facilite el esquema electrónico.A la espera de su respuesta reciba un cordial saludo.Josué