DIY Timelapse Camera Slider

Where Cameron teaches about his DIY Timelapse slider

Intro

Landscape photography has been a hobby of mine for the last half decade+. It gives me motivation to go see places I might not otherwise, and forces me to stop and enjoy them from different angles I would have missed if I had only hiked. This is surely why I was drawn so quickly to timelapse photography. It is just incredibly interesting to me to watch things  move in fast-forward, putting motion into scenes that seem static.

I have taken hundreds of timelapse clips throughout the years (which you can check out on my Youtube Channel, search timelapse).  With each timelapse setup I’ve gotten better and better at framing the subject, perfecting the settings, or predicting where the cool clouds will go (mostly impossible, but sometimes I get lucky!). Throughout this learning process, there was one thing that I always wanted to try– a timelapse slider.

Timelapse sliders are long rails with motors which have a platform to mount your camera on that will move slowly and steadily across the length of the rail, giving a very cool motion effect. However, professional rigs cost hundreds (if not thousands) of dollars, so I figured I would have to wait. On the prompting of a friend, however, I figured I could put my Electrical Engineering Degree to use, and started looking to make my own.

I’m all about sharing ideas and helping others, so this post will be presented in the context of making your own slider–whether it’s using my plans and ideas, or your own. Enjoy, and I’m happy to discuss any ideas in the comments!

The Start –V1.0

I broke the process down into three major pieces.

  1. The Mechanical system – The rail, sliding mechanisms, mounting points, all physical things
  2. The Electrical system – What kind of motor to use, what electronics were needed to control it, batteries etc.
  3. Firmware – How would I control it? User experience is rolled into this.

So, here we go, starting with

MECHANICAL SYSTEMS

The Rail

The most important part of the rail system itself is smooth motion across the entire track. My first idea was to get a 1″ caster wheel from the hardware store and have it roll across a 1″ square tube, as seen in this super rough mock-up I made.

CameraSlider

This had many problems, but I was determined with this idea and I made my first version with it. The side rails were there for lateral stability, with most of the weight pushing down on the hefty caster wheel.

Rail

This was a bad system. The most obvious issue looking back is that the caster wheel wasn’t flat–it was rounded.

WheelDiagram

This meant that it wasn’t stable whatsoever. Even though I was careful to put the center of gravity over the top of the pivot point of the wheel, any motion meant that it would wobble, a terrible thing for timelapses. In the end, this whole idea was scrapped, and I moved on to:

V 2.0

Learning from the experience of my first run, I came back to the project after more than a year. I wanted to be a bit more professional with it, and had learned a bit more about designing 3D models with Blender (I know, still not professional…but it works!).

I started with a true rail system, designing around 1/2″  hollow aluminum tubes (still from the hardware store) placed about 3″ from each other. This gave the platform four stable corners, meaning I didn’t have to worry about it wobbling.

NewRails

The next problem to solve was making it slide smoothly. I found that the term I should look for was ‘Linear Bearings’, just meaning they’ll be sliding in a straight line. 3D printers use these, and therefore have made these very cheap. Unfortunately they use much smaller rods than my 1/2″ rails, so I couldn’t use those exact pieces.

After searching for a while, I found things called ‘Round Flange Linear Bearings‘.  These worked perfect for me, since I could embed them into the platform so I could keep the overall package fairly small. These are what I ended up using, but I would look at skateboard bearings if I were to do this again to clamp on either side of the rail, since they are probably lighter and cheaper.

SliderGIF

The tubes are attached on either side to the front and back blocks, which sandwich them between two 3D printed parts to tighten them in and keep them stable. These are the basics of the mechanical systems, so that will bring us to the next major piece.

ELECTRICAL SYSTEMS

Locomotion

This system is sort of halfway between mechanical and electrical, so I feel it’s fitting to transition with it. Looking at existing designs, there are a few different common options: a toothed belt looped with a gear on the motor, a static toothed belt with the motor crawling across it, spooling a string on the motor shaft, or rotating a threaded rod. I chose the first toothed belt option, since I already had a stepper motor, and it seemed to be the most straightforward and lightest option. This option worked well on V1, so I kept it in V2.

StepperMotor

The motor I chose is another 3D printing staple, a standard NEMA 17 stepper motor. They have enough torque to directly move the platform without a gearbox, and are pretty cheap online (~$20). At first I attempted to drive the motor directly, but after losing lots of torque due to incorrect timing I decided to simply buy an off-the-shelf stepper motor driver, I think it was the Easy Driver,  bought on SparkFun.

The Electronics

In my EE coursework, I used the Texas Instruments MSP430 microcontroller extensively. I had even already written a program to control my stepper motor, so it was an obvious choice to use this as the base of my control unit. I decided that I definitely wanted different traverse durations so that I had flexibility for different shooting conditions. Here is a hand-drawn block diagram for the electronics:

BlockDiagramClean

The MSP430 has 4 inputs: 3 buttons and one potentiometer (knob). Two of the three buttons are limit switches (front+back buttons), which tell the microcontroller when the platform had reached one end or the other. The third button (called the “Go” button) is simply that: when pressed, it starts!

The potentiometer is the adjustable control of the machine, dictating how quickly the platform will move across the rail. The microcontroller reads the analog voltage on the dial, then converts it to 5 discrete steps to determine the speed. We’ll get into this later in the firmware section.

It has 7 outputs: 2 status LEDs, a signal for a transistor that would control the motor, and finally 4 stepper motor control wires.

I initially made this circuit on a breadboard and stuffed it into the end section of the old slider.

Electronics2

It was very messy, and I barely fit everything in! Not to mention that it was all held together by double stick tape…definitely learned a lot from that first one, but looking back at it makes me appreciate how much I’ve learned.  Here’s a schematic diagram of all the electronics. Really pretty messy, but simple.

ControlBoardSchematic

The 12V input from the battery is regulated down to 3.3V with a linear regulator for the digital logic. Three switches attach to GND for the MCU to know they’re pushed, then some headers (on the right side) to solder onto the Easy Driver board. Throw a couple current limiting resistors for the MCU and LEDs, and there you go!

Since I wanted V2 to be much better, I made a custom PCB for it. I hadn’t made one since my Junior year in college, so it was a really good way to get back into it (and sparked my interest in it, since now I make them full-time!). I used a trial version of Altium to make it with through-hole components on a two sided board.

 

 

SliderPCB

I got the PCB manufactured by PCBWay.com, which I highly recommend for bare boards. I think I got 12 for $20 (including shipping), which is a killer deal, though it did take a number of weeks to arrive from China (3-4 weeks).

The batteries I use are some drone batteries I had lying around, 3S lipo batteries that give 10.5-12.5V volts depending on how charged they are. Though these work fine and give more than enough current, they are incredibly bulky and annoying to charge, travel with, and protect–they will explode if handled improperly. That is why I’m working on another project–but that’s a post for another time. I will post the link here when I finish it!

I bought all the electronics from Digikey for probably around $10, since there aren’t many components. I’ll put a bill of materials together at the end of the post.

FIRMWARE

Because I was using the MSP430, this was programmed in C. I think I’ll just attach the code to this post and talk about the user experience, since there’s only so much explaining of code you can do before just showing it.

When designing the user interface, I wanted it to be simple and fast. The user basically only has two options after switching it on: change the knob, or pressing ‘Go’. The knob is split up into 5 discrete steps within the analog voltage range, currently set to 5min, 10min, 20min, 30 min, and 60min. This number is currently hardcoded into the program and needs to be manually calibrated by measuring how long it takes to traverse the rail, but eventually I want to do an automatic calibration when putting new rails on.

There are two status LEDs that allow the slider to communicate back to the user. One is blue and one is red, and down the road that will probably signify something, but I’m only using one at the moment. When the On switch is flipped, the status LED will flash a few times to signify it is on. The user will then turn the dial to the wanted speed, and press the ‘Go’ button. This will make the LED flash 1-5 times, depending on the speed  specified, at which point the user will press the ‘Go’ button again to confirm their decision.

You will be able to change the mode depending on if the ‘Go’ button is pressed when turned on, though I’ll have to revisit this, since I want to have several different modes.

I want to implement a ‘shoot move shoot’ long exposure mode, for longer exposures (>.5s). I feel like I may have to implement a display for this with more advanced options, or perhaps try to make a smart phone app that can talk via bluetooth.

The second mode I currently want to make is a ‘fast’ mode, that can be used real-time for smooth video b-roll. For this I might have it change the movement speed in real time with the dial, so it can be used for dynamic shots.

Bill of Materials

This is a pretty simple board. It doesn’t have many components and I think it needs more, now that I have a bit better knowledge of things like bypass caps and TVS diodes. But those will have to wait until Control board V2, so here’s a list of materials for this version:

Description:Chosen Part:Link:
MicrocontrollerTI MSP430G2553$2.69/each
MotorGeneric 40mm stepper$12.99/each
Motor DriverEasy Driver V4.5$14.95/each
3.3V RegulatorGeneric 3.3V regulator$1.54/each
1k ResistorStandard thru-hole$3.23/10
Limit switchSparkfun micro-switch$3.95/2
GO ButtonSparkfun red button$.95/each
LEDsWhatever color you want$2.62/10
PotentiometerLong post 10k Pot$.95/each
Linear bearingRound flange bearing$14.56/4
Rails3′ Aluminum 1/2″ tube$23.68/2

For this simple board, the cost of the electronics was about $44. The cost of the mechanical systems came to about $38, so maybe around $80 total. I didn’t factor in the use or filament of the 3D printers I used at my work, so this is assuming you don’t have to buy those pieces.

Conclusion

All in all, this project has been a back-burner project for me for years now. It’s functional, and I even took it to New Zealand with me and got some nice timelapses. However, it is a little finicky, and I plan to improve it to make it easier to use. The biggest problem is the batteries–right now I just use one of my old drone batteries, and they are bulky, hard to charge, and a little fragile. I’ve already developed a board that lets me use my Fuji camera batteries to power it, but I need to make a way to connect them. There should be another blog post on the way about it!

If you found this rambling article with hopes of making your own slider, please ask me anything! If you want to copy this design exactly, I would be flattered, and can help you however you need! I didn’t put the full firmware in this post, but I can provide it if needed. I can also post the 3D files on thingiverse if desired.

Thanks for reading this far, and have a happy 2020!