TimeLapse-6

If you dig around in your camera’s settings long enough, you’re almost assured to find that it has a mode to create time-lapse videos — those magical, time compressing movies that can turn any hillside or street corner into a lightning-paced dreamscape.

Time-lapse videos by themselves are easy enough to make, but if you do enough of them, you’re likely to get bored with the motionless camera framing. But what can you do here? Having a moving time lapse means moving a camera very predictably, and very, very slowly. You can build a simple panning rig out of a mechanical kitchen timer, but that’s only good if your time lapse is an hour or less, plus, the camera will rotate the full 360 degrees in that hour, further limiting your control.

In this project, we’ll be using an Arduino microcontroller and a stepper motor to precisely control the panning of a camera during a time lapse. Using this LCD keypad shield as an interface, we can precisely set our starting and stopping positions, as well as setting the duration of our time lapse — anywhere between five minutes and 12 hours. The device can be powered via any USB power source, and those portable USB bricks used to keep your smartphone alive during long days will work perfectly, and can power the device for up to 12 hours.

Steps

Advertisement

Step #1: Prepare the chassis plates

PrevNext
Build a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse Photography
  • We’ll begin by drilling holes into the top and bottom plates that make up the chassis. Start by cutting your aluminum bar stock into two 4”×4” squares and sand down any burrs or rough edges.
  • Precision drilling matters here, so print out the provided drilling template and apply it to the two squares using contact adhesive, and if you have access to a drill press, use that to drill the holes.
  • Countersink all of the ⅛” holes drilled, and tap the hole in the center of the bottom plate with ¼ - 20 threads. Remove the templates and any remaining glue residue.

Step #2: Build the drive sub assembly

PrevNext
Build a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse Photography

Next we’ll begin building the sub assembly that will hold the stepper motor and the driven shaft. Use the two connection blocks and four 6-32 flathead screws to find the best holes to assemble the block, and then countersink those holes so the screws are flush with the surface.

Step #3: Mount the stepper motor

PrevNext
Build a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse Photography
  • Attach the pinion gear to the drive shaft of the motor and secure it with the set screw. Mount the stepper motor into the channel assembly and to the top plate using three flathead 6-32 screws and nuts.
  • Make sure the shaft of the stepper motor is centered in the ½” hole on the right side of the channel. Place bearings into the bottom of the channel and into the top plate of the assembly. It’s not necessary, but you can use threadlocker to help secure the bearings in place.

Step #4: Complete the chassis

PrevNext
Build a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse Photography

It’s a good time to complete the rest of the chassis. Attach the four threaded rods to the top plate using flathead screws, and then attach the bottom plate to the same rods with another four screws.

Step #5: Build the driven shaft

PrevNext
Build a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse Photography
  • Prepare the driven gear and the servo mount by countersinking a pair of holes into each of them.
  • Use flathead screws to mount them to opposite sides of the clamping collar, ensuring the screw heads are flush with the surfaces, and then secure the collar to the shaft.
  • Insert the shaft into the bearings, making sure gears are meshing well. Once a good fit is achieved, prepare some JB weld. Fit the cap screw into the hole in the servo mount with the threads pointing up, and then secure the screw into place with JB Weld. Once cured, check the mounting clearance with your camera. If the screw is too long, trim off the excess.

Step #6: Wiring the keypad shield

PrevNext
Build a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse Photography
  • We’re nearly ready to wire up the Arduino, but first we need to prepare the keypad shield to get access to some of the additional pins to drive the stepper.
  • Cut and strip 5 equal lengths of jumper wire, using colors that most closely match the ribbon cable of the stepper motor. Solder the jumpers to the underside of the keypad shield using this placement.
  • Fit the stripped ends of the wire into their corresponding colors of the motor’s wiring harness. Fit the keypad shield onto the Arduino.

Step #7: Programming the Arduino

PrevNext
Build a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse Photography
  • Download the sketch.
  • Connect the Arduino to your computer via a USB Cable, and upload the sketch. Once loaded, use the left and right buttons on the keypad to change the rotation of the camera.
  • Check to make sure the camera platform is able to complete a full rotation. Once everything looks great, use zip ties to attach the keypad shield to the rods using the mounting holes.

Step #8: Capturing a time lapse

PrevNext
Build a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse PhotographyBuild a Motion Control Rig for Time-Lapse Photography
  • You can attach just about any camera to the top plate using the 1/4 - 20 stud, and the motor should be strong enough to carry a lightweight dSLR.
  • Once you have your time lapse set up on the camera, set up the panning on the Arduino. Set your start angle, and then your finishing angle, and then decide how long you want the program to run.
  • After you confirm the time, the program will run. You can power the device from any USB power source, or a portable USB battery.
Tyler Winegarner

Tyler Winegarner

Video producer for Make:, also tinkerer, motorcyclist, gamer. Reads the comments. Uses tools, tells stories. Probably a human. Tweets @photoresistor


Chris Bordeleau

Chris Bordeleau

I am a photographer with 20 years experience. I predominately shoot nature, landscape and urban/cityscape photography. Outside of photography I raise my two daughters, Madeleine & Nicole with my wife of 15 years, Elizabeth in our adopted village of Kenmore, NY.


  • Jean Cullerai

    Hi, where can I find that drilling template? I can’t find it on the project page…

    • PassinThru

      The link to the drilling template is in the second paragraph of the “Prepare the Chassis Plates” section. Click the phrase “drilling template” to see the page.

  • rockandstyle

    3/5/3/9 > Go For Earning

  • Luke Bligh

    Where can I find the D Shaft. Its not listed on the project page

  • Greg

    It would be good if we actually had step by step instructions instead of just a quick walk through. Also, where could I get these parts in the UK?

    • sophiacamille

      there are step by step instructions listed under “Project Steps” which is below the main body of the post.

      • Greg

        I know, but step 4 for example has one paragraph, yet I don’t know apart from the rods what else I am meant to do. And on step 5, where did it mention jb weld? or the shaft? These are not in the parts list or very clear how its created.

        • Tyler Winegarner

          Hey there Greg. If you look at the first photo in section 5, there’s a hole in the center of the round servo mount. You’ll end up placing your 1/4-20 bold upside down in this hole after you have the rest of the assembly build, so that the bolt is resting directly on top of the D-Shaft and clamping hub. You’ll then use the JB weld to fill the rest of that space until it’s flush with the surface of the servo mount. The final picture in that section shows how it should look once the JB weld has cured.

          Hope that helps, and sorry for any confusion. The video might help illustrate things better, too.

          • Greg

            Thanks! The video does clear a lot up. What length screws are used? I have found 6-32 machine screws, but various lengths. Also, does it matter how many teeth the pinion gear has, it’s quite difficult finding a 12 tooth 32 pitch pinion gear.

            Thanks :)

          • Greg

            I have just done a dry run with the shield, Arduino and motor and no matter what angle I set it too, it always goes around quickly. Far quicker than what it looks like in the video.

  • Hi there. Is the stepper connected directly to the LCD? My 28BYJ-48 stepper motor usually is connected through a ULN2003-A driver.

    • Jim Barstow

      I have the same question. See my separate post. I connected via the ULN2003 driver and powered the motor off the 5V arduino pin. Other info I found said that event his wasn’t a good idea. (Powering off a digital pin seems like a good way to destroy your arduino.)

      In addition, the stepper library evidently uses way of controlling the motor that isn’t advised by the manufacturer. See this discussion on the Arduino site:

      http://forum.arduino.cc/index.php?topic=85335.0

      it has a huge amount of info about steppers and much better code for controlling this motor in particular. I’m going to rewrite the sketch to use control method in the post.

      • Hi Jim:
        Many thanks for your reply. I already solved the problem looking at the LCD shield spreadsheet where I found that the exposed pin where to solder the wires are precisely those in the sketch. I know that you can’t feed the stepper through the arduino 5v pin, that’s why I asked about it. I made my rig with MDF and now is working fine. Here is a short video with the first test. https://youtu.be/gfgPmSsc8M4

  • jackie

    how long are the small flathead screws?

  • Jim Barstow

    It would really be useful to get an answer to the question from Andres Gonzales. The specs for the stepper motor say to NOT power through the arduino 5V line let alone via a digital pin (or pwm pin). Digital pins are limited to 40 mA. This design seems like it might damage the Arduino.

    Also, the 28byj-48 stepper comes with a driver board. Why wasn’t this used?

  • Elie Skg

    Hi, do you know where can I find the sketch, because when I download the one which is on this web site and I open it there is nothing on it .

  • tumamatevapegar

    Hello,

    The Arduino code does not work for me, sometimes I have
    strange codes on the screen and other jumps all steps to show me
    constantly “Program Complete”

    I have an Arduino Uno and lcd shield “DF Robot”.

    Can someone help me?

    Thank you.

    I’m speak french and spanish, my English is very bad, thank you google translation.