Timelapse rig

custom built timelapse rig , intervalometer, joystick controller

Similar projects worth following
made my own timelapse rig with two degrees of freedom. all electronics are encased in small metal box and everything is powered by 12 volt rechargeable battery. ongoing project.

1) Arduino micro for the brains

2) Two easy drivers to control the stepper motors

3) precision belt and gear system controlling each axis as well as gearing down the stepper motors for very small movements

4) joystick controlling both axis as well as the push button used to trigger the camera shutter. this is used for positioning the camera prior to starting timelapse or for filming with smooth movements

5) all parts excluding gears were fully machined by myself

6) sealed bearings for each axis

7)small compact size makes it very easy to transport

8) all control code writen by myself and is easily adjustable to different scenarios ie.. (# of shots, exposure time, wait time between shots, direction of both axis can all be chosen by the user)

9) code easily adjustable for different shooting scenarios, ie.. (tracking of the milky way for timelapse, precise movement during filming video, independent control of each axis and degrees moved in between shots, ect..)

10) shutter controlled through Arduino and an opto-isolator chip to protect camera health

11) timelapse modes allowing for exponential/linear growth/decay of exposure for sunsets/sunrises and changing weather conditions

12) custom enclosure for all electronics with fan for heat management

13) everything easily fits inside backpack with room to spare

future plans inlcude:

wifi connectivity for control

linear rail for 3rd degree of movement

(This is only mark1 prototype of this project, mark2 in design stage and will have more features)

  • 2 × easy driver
  • 2 × stepper motor
  • 1 × arduino micro
  • 1 × joystick
  • 1 × opto-isolator (4n35)

View all 6 components

  • improved camera mount head

    Swisswilson07/22/2014 at 03:24 0 comments

    My original mount for the camera connecting it to the vertical axis lacked adaptability to other cameras other than my own.  This caused problems when the weight of the camera was not perfectly centered along the axis of rotation  which causes skipped steps if doing very small movements or when the camera is completely vertical.  The new mount allows for centering the mass of the camera perfectly along the axis of rotation.  

    The new mount has four slots for mounting using the tripod mount on the bottom of the camera as well as the ability to move up and down on the aluminum shaft to find the center of mass. Again all this is hand machined by myself.

    on the left is the newly designed mount and the right is the old mount.

    As for the rest of the design it remains the same.  With the new camera mount steps as small as 1.8 degrees can be made by the stepper motors which translates to .45 degrees rotation per smallest allowed step at the camera itself.

    Everything needed for taking a timelapse excluding camera of course.  All easily fits inside a backpack!

  • Timelapse 2DoF

    Swisswilson07/21/2014 at 18:34 1 comment

    This all started from wanting to add motion to my timelapse's but didnt want to shell out half a grand for something i could build myself.  this also allows me to add features only seen in expensive timelapse controllers such as joystick control for the position as well as exposure control through the timelapse controller.  the hardware and software began around the same time.  

    heres the start of the controll box that houses all the electronics for operation.  inside i have fit an arduino micro, two easy drivers from spark fun, a joystick and 4n25 optocoupler chip to trigger the shutter on the dslr camera.  this all fit nicely inside a small metal box i found at work with the motors cables exiting the enclosure through a DB9 cable and the shutter control cables through a isolated bnc connector. the bnc connector is alittle overkill and in future versions ill have the shutter cables and motor drive cables all come out from one connector on the box.  

    heres the wiring almost done, most of its under the protoboard as well as all the power cables. only thing left is the 4n25 optocouple to wire up to a digital pin and ground on the arduino.  a 2.5mm headphone jack was found at a local electronics store that is used to connect the dslr remote trigger cable.  once all the  wiring was finished i began testing and writing the control code.  it was decided to add a small 12v fan to the outside of the controller box to manage heat coming off of the easy drivers during long timelapse recordings.  the finished control box minus connector cables for shutter and stepper motors: (sorry for crappy camera phone pics)

    alittle extra about the wiring:

    1) all heat shrunk soldering since i shorted an easydriver in the early stages

    2) everything powered by same 12 V source coming from a rechargeable motorcycle battery (highly recommend getting one of these for projects that need to last long hours)  joystick getting voltage from 5 V arduino out

    3) vent holes drilled on side of box to allow air flow

    The code:

    pretty simple really, i have no problem supplying the code to those who want it just comment below or shoot me an email. its still somewhat a work in progress since i want to add more features and options.    basic layout:  its using digital out pins 2-7 on the arduino, 2-5 are for the stepper motors, 6 is the camera shutter, and 7 is the joystick select.  reads in five serial commands that establish direction for each motor, how many shots to take,  the exposure time, and the wait time between shots.  steps taken per shot by the motors is defined in the code and not through serial so i can have each axis move a desired amount independently of eachother.  loop order is as follows:  read in serial, take first photo for desired exposure time, wait half a second, move steppers set amount and direction, wait time between shots, take second photo, repeat.  joystick select button when pressed will trigger the camera shutter as well which helps when setting up the start position of the timelapse and correct camera settings.  as of right now there are three different exposure settings that the user can choose from based on the serial data input:  normal constant exposure for entire shot, linear gain or decay exposure setting for changing light during the shoot, exponential gain or decay setting for changing lighting during the shot.  the joystick is read in through two analog input pins on the arduino and the values are mapped to allow varying movement speed of the timelapse head based on how much the joystick is moved. 

    All the codes very flexible and easy to manipulate for different settings.

    (future pans include a more powerful processor to allow for long exposure milky way tracking timelapses as well as object tracking using a embedded linux platform (RPI or BBB) with camera addon controlled with opencv, and touch screen interface)


    Read more »

View all 2 project logs

Enjoy this project?



Adam Fabio wrote 11/30/2015 at 05:33 point

Hey Swisswilson - which motors did you use on your project?  

  Are you sure? yes | no

Swisswilson wrote 11/30/2015 at 16:05 point

Nema 17 from sparkfun i believe, i forget what torque rating each had

  Are you sure? yes | no

steverut wrote 11/30/2015 at 05:25 point

Totally love your design... Realy like the beefyness of your build.. Have wanted to build something like this with Linear Bearings.. If i could i get a copy of your code, it would help me on.Thanks   steverut at icloud dotco

  Are you sure? yes | no

Swisswilson wrote 11/30/2015 at 16:07 point

Thanks! Im working on the second design for this and the controller, im thinking rasp pi zero with touch screen and custom GUI...  Linear bearing whould add an interesting feature to the shot.  Ill try and send it later tonight after work!

^Is that dotco or dotcom?

  Are you sure? yes | no

Gege wrote 08/05/2014 at 22:13 point
Swisswilson oh yeah it would be nice :)
ggb2 at free dot fr
thank a lot !

  Are you sure? yes | no

Gege wrote 08/05/2014 at 17:35 point
ahah ! I have almost exactly the same project (in my mind only.....)
the only big difference is that the DSLR would be covered by a transparent dome, for outdoor lightening photography. The entire stuff would be fixed on the roof of my car :)

I'm interested for your code, as this is the only part wich I think I would spend (waste?) a lot of time..

  Are you sure? yes | no

Swisswilson wrote 08/05/2014 at 18:59 point
that sounds like a very cool idea doing the fully enclosed dome for on top of the car! i can send you the entire arduino code for this if you want? not really used to this website is there a way to message it to you on here?

  Are you sure? yes | no

Mike Szczys wrote 07/17/2014 at 22:11 point
Yeah man, I saw you submitted it to the tips line. Put up some build logs that show how you built it along the way and then submit it again. Can't wait to see more!

  Are you sure? yes | no

Rishi Gaurav Bhatnagar wrote 07/14/2014 at 18:04 point
Waiting for more updates on the project ! How did you code it ? Is there a link to a more advanced description ?

  Are you sure? yes | no

Swisswilson wrote 07/22/2014 at 20:44 point
coded in arduino ide, takes serial inputs to set variables. uploaded more pictures and added more information on the project, let me know if you have any more questions or comments!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates