This project shows you how to convert any ordinary slider to an Arduino controlled motorized slider. The slider can move very fast at 6m/min, but also incredibly slow.

I reccomend you watch the video to get a good introduction.

Things you need:

Step 1: Drill the Mounting Holes for the Stepper Motor.

The stepper motor needs to be mounted underneath the track. The closer to the end, the longer your length of travel. The easiest way to transfer the hole pattern from the motor to the track is by tracing it with painters paint. This is a very useful tip for all kinds of applications.

The pulleys were quite high, so I had to drill large holes to accomondate for some of their height inside the track. That can be easily done with a drillpress and a stepped drill bit.

Make sure you use a center punch to mark the locations of the holes. This makes drilling them easier and more precise.

A 90° chamfer bit cleans up the edges nicely.

Step 2: Mount the Motor on the Track.

Nema 17 motors useually have 3mm threaded holes at the top. I used some washers to reach the perfect hight for the belt. The belt needs to ride quite low in the track to clear the carriage.

The pulleys are fixed to the shaft with a set screw.

On my slider the holes collided a little bit with the round surfaces of the track. I had to do some filing to get the screws in propperly. If you plan ahead and twist the motor a few degrees it should be alright. Two screws are enough anyway though.

Step 3: Making a Little Mount for the Idler Pulley.

The idler pulley, just like the stepper pulley, needs to be mounted slightly below the surface of the track. I used a little piece of metal that I had left from a previous project. You will find something similar in any hardware store.

I used countersunk screws. They look awesome, but only when they are propperly seated inside their holes. To achieve that, I started with one hole, inserted the screw and then drilled the second one. That ensures a perfect fit. A chamfering bit is used to create the counter sink.

For an extra nice look you should paint the metal. Using primer is always a good idea. Mine did not work very well at -10C°.

Step 4: Assembly the Idler Pulley!

The idler pulley needs to be at the same height as the motor pulley. I used washers for that. I strongly reccomend using nylock nuts! They have a little plastic insert that bind with the thread and stop it from becoming loose by the vibrations.

Step 5: Modify the Carriage to Hold the Ends of the Timing Belt.

Your belts will likeley come as a 5m length which you can be cut to size. That means that both ends need to be fixed to the carriage.

I tried a few methods of attaching them to the carriage before I found a very simple solution. I just wedged the belt against a parallel surface using a countersunk M3 screw. I drilled a number of holes to make sure that one would have the right distance to hold the belt tight.

Step 6: Admire Your Hardware!

By now you should have a belt that is connected to the carriage and that loops around the motor and the idler pulley. Next come the electronics!

Step 7: Electronics Overview

I am using an Arduino Micro. This is a great little device with a small form factor and a lot of support material online. The arduino is powered by a 12V battery pack consisting of 8 AA batteries. I find this more convenient than using a LiPo. The battery pack is also directly wired to the Stepper driver since it needs a higher motor controll voltage and current than the Arduino can deliver. The stepper driver gets signals from the Arduino over 2 cables and it controlls the motor. The Arduino starts giving directions to the driver as soon as it gets power. 4 switches are used as some kind of combination lock to set the speed of the motion.

Here is the entire Code and Circuit

Step 8: Wiring the Arduino Micro

Wiring Shematic
Its best to use a proto board to create a working circuit. You just need to copy the circuit from the link above. Once this circuit works, you can transfer it over to a breadboard and solder it on.

The Arduino is usind the 12V battery pack as a voltage source. It produces a 5V voltage itself that can be used to check the state of the 4 switches. They are used to change the speed of the slider. So you kinda have 2 voltages on the board. 12V to power stuff and 5V for the controll circuit.

Wire some thin cables to the 4 switches. I used the cables I found inside an old ethernet cable. I am sure you have plenty of those lying around. Protect the bare terminals with shrink tubing.

Step 9: Wiring the A4988 Stepper Driver

The stepper driver is an A4988. It receives signals from the Arduino and relays them to the Stepper. You need this part.

Instead of explaining the circuit to you, you can rather watch this tutorial as it explains it very well. This is my go to reference whenever I use an A4988. My code uses exactly the same pins.

Step 10: Add the Code!

Here is the entire code and the circuit for the slider. You can test it online, but only without the stepper driver. The code checks for the state of the 4 switches in the loop. After that it goes through some if statements and selects the desired delay between the steps to move through the entire length of the slider in the entered value. All the calculations are included in the code as notes.

You need to enter the length of your slider and the diamter of the pulley to ensure that the motor stops when it reaches the end of travel. Just measure those values yourself. The formulas are included in the code.

The table shows you what switches to press for a desired time period. For instance if you want the slider to move the entire length in 2min you need to activate switch 1 and 2. You can of course change these values to your preferences.

Step 11: Print the Enclosure.

I designed the enclosure using Fusion 360. You can download the files here and print them on a 3D printer. No support is required. I filled the details of the letters with pink nail polish to make it easier to read. You can fill the entire letter and then wipe away the access. This trick can be used for all kinds of indents.

If you want an easier option, you could just make one by hand using a small lunch box.

Step 12: Final Assembly

Its time to put everything together. Place all the components inside the enclosure and mount it to the slider using double sided foam tape. This stuff is pretty strong and nicely adheres to uneven surfaces.

I also added an anti vibration mount with a universal camera mount on top. The vibration mount is fairly cheap and stops vibrations to reach the camera. This is only needed for high speed motion. In my case high speed motion is anything between 10s and 30s for the length of the slider.

I added a table with all the switch combinations on the underside.

Step 13: Admire Your Work and Shoot Some Cool Footage!

Weather its video or timelapse, this slider can do it all! If you build one yourself I would love to find out about it!

<p>What is the name of that iron?</p>
<p>What iron?</p>
<p>Hi I love this idea, I somehow bought the wrong board, I end up buying this one, </p><p>UNO R3 PLUS, will this still work, or do I need to purchase the one you have listed?</p>
<p>It should work just as well. </p>
<p>I have a question regarding camera weight and it's effect on travel. It appears that a DSLR and lens with a combined weight of roughly 3 to 3.5 pounds should move smoothly along the slider when level. If the slider is aligned obliquely or vertically, is the stepper motor you use powerful enough to lift the camera and lens in these orientations?</p>
<p>For vertical movement of anything heavier than a phone or gopro, you should get a geared stepper motor. Look for &quot;Nema 17 Gearbox&quot;. There are motors with built in gear ratios from 1:5 up to 1:51. The top speed will be reduced though. </p>
<p>I think this one is VERY interesting. If you add a move-pause-shoot-move- function it could be one of my favourites timelapse gadgets ever ^_^</p><p> O:-) </p>
<p>That would be cool! Somebody on Youtube told me that he is going to pair the Arduino with an Infrared Transmitter which will trigger his DSLR. I belive you can trigger an iPhone over the headphone jack. The code woule be simple. Just tell the Arduino to trigger the camera after every step when its going slow, or every 200 steps if it&acute;s going fast. </p>
<p>How smooth is the move when , for instance, 8 hours is selected?</p><p>I use DC motors (with reduction, of course) when i want to make continuous movement, i think this reduces 'stepped-like' movement when shooting video... I just use stepper motor in move-shoot-move inventions, mmm..... </p><p>Is your slider capable to move a DSLR camera? Is it capable to use some inclination? :) </p><p>I think you can include an end switch to stop current when the dolly reaches the end, it's easier than programming lengths i.m.h.o. </p><p>Anyway, your idea is VERY clever and your instructable's gonna be open in my navigator for a while ^_^</p>
<p>Not smoot at all since it moves in step, but that does not matter for the time lapse. The slider is 100cm long, the pulley diameter is about 2.5cm. So We need 40 rotations. Each rotation consists of 400 steps with 1/2 microstepping activated. So we have 16000 Steps over 8 hours which means it will move every 0.5s and stay still in between. </p>
<p>Nice one Max. I've really enjoyed following your instructable. You have inspired me to have a go at this myself. Many thanks.</p>
<p>Thank you! I wish you the best of luck! Would be cool if you could upload some pictures of your build!</p>
I certainly will upload pictures when it's done....but I'm planning to make the slider first, before I motorise it. It's a pretty ambitious idea for me, and I've still not sourced any suitable extrusion to base it all on. But once it's made I'll be returning to your instructable for the tech input.<br>Thanks again Max.
<p>What extrusion do you plan on using?</p>
<p>Great one, nice job. Thanks for mentioning the 'challenges' with the build. Awesome video instruction. </p>
<p>I do what Larry Willmore told me: Keep it 100!</p>
<p>Hi very nice project, I guess the cheaper version of the arduino like https://goo.gl/q9xmxf will work just as well right?</p>
<p>Yes it will work. However I rather spend 20$ for an Arduino and can be sure that there will be nothing wrong with it. It is incredibly hard to troubleshoot if you cannot trust your micro controller.</p>
<p>Fair point. I asked as I have used a ton of clones and never had an issue. Nano is pretty much an AT-Mega 328P with a regulator on a breakout board. I get your point though. </p>
<p>Yes, that should work perfectly.</p>
<p>Is it possible to make this so that it will reverse directions, travel back and forth in other words?</p>
<p>Yes, but you will have to make some minor changes to the code. The change involves the variable 'dirPin' which is set to HIGH to set travel in one direction. If you put another switch on another digital input, and check whether the switch is open or closed, you could then write that value to dirPin. Or without code changes you could instead wire the direction pin of the 4988 to a switch with a pull-up resistor (say 200 Ohms) connected to the 5v rail, and the other side of the switch connected to ground.</p>
<p>You actually just need to switch out 2 of the 4 motor wires with themselves if that was your question. </p>
<p>Sure, you can program pretty much whatever you want. At the moment the codes checks if it has reached the end yet.If it has not, it goes another step. You could tell the code to go back to its origin when it reached the end.</p>
<p>Great instructional!</p>
<p>Thank you!</p>
<p>This is a great project and a very fine instructable! Thanks for sharing!</p>
<p>Thank you for your kind words!</p>
cool project brother.
<p>Thank you!</p>

About This Instructable




More by Max Maker:Make a Wall Mount for Your Bench Grinder! Make an Arduino controlled Motorized Camera Slider! Make a Giant Folding Christmas Tree! 
Add instructable to: