In this step by step guide you will lean how to make your very own arduino controlled, motorized camera slider. Using both 3D printed parts and parts used in 3D printers, this slider costs a fraction of the price of commercially available sliders and can be modified to suit you.
The video below was shot at Dartmoor National Park using this slider. The last 2 clips were done by combining this project with my earlier D40 remote hack to create a moving time lapse.
The dual rail design was inspired by a cliff elevator. The beauty of this design is that the two slider heads move in different directions and allow a camera to move further for a given length slider. It later came to light that a start-up on kickstarter had already implemented this design and had started the patent process. It looks like a really nice piece of kit, however it is far beyond what I was willing to spend with my limited filming experience.
If you found this instructable useful, inspiring or interesting please consider voting for it in the 3D printer contest. I could really do with my own 3D printer! The vote button is just right of the title, at the top of the page. Thank You !!
Step 1: Parts Required
- 2x 1/4" BSW x 1/2" Long Whitworth Hex Bolt, Nut and Washer.
- 2x M3 14mm bolts
- 1x Nema 17 stepper motor
- 1x Pololu A4988 Step Stick
- 1x Arduino Nano, Uno or Leonardo.
- 1x Veroboard / Stripboard
- 1x DPDT Toggle Switch
- 1x 10K Potentiometer
- 1x Decorative Knob
- 1x Smooth Idler Pulley Kit
- 2x Sub-Minature Micro Switches
- 1x GT2 Timing Belt: 2mm Pitch, 6mm Wide, 700mm Long
- 4x Hardened Steel Smooth Rods: 8mm Outer Dia, 300mm Long
- 1x Aluminum Round Tube, 1/2" Outer Dia, 16swg Wall Thickness, 300mm Long
- 12x LM8UU linear bearings, (8 are used but get 12 as they are damaged easily)
- Camera Remote
- DC Boost Regulator
- USB Power Bank
- USB Cable
- 1/4" Ball Head Tripod Camera Mount
Step 2: Tools and Equipment
- Hot Air Gun
- Soldering Iron (15-30W)
- Alan Keys
- Side Cutters
- Wire strippers
- Multi Flux Core Solder
- Hot Melt Glue Gun Sticks
- Heat-shrink Tubing
Step 3: Get Printing !
You will need to print each of the 4 STL files below out of ABS, in order to make this project. ABS is more durable than however yo may have success with PLA. The 5th file is optional as you might be able to make your own control panel out of a failed print like I did.
The blue parts used in this project were printed on my friends 3D printer. As we ran out of ABS filament I decided to try out a 3D printing service that I found on ebay. The black print was of far better quality than any of mine and can be seen in the image above.
Once printed you may need to clean up your prints using a file, sand paper or even a knife.
Step 4: Assembly: Slider Head
The first step in the creation of this project is inserting the linear bearings into the bottom slider.
As 3D printed parts often warp during the printing process you may need to correct this using a heat gun in a well ventilated room.
Once the plastic around the bearing holder is soft enough to reshape, insert the bearing and smooth rod to see if it or the opposite holder need to be corrected.
Image 6 shows that the bearing is angled well but the opposite bearing holder is warped and will need fixing.
It is paramount that the smooth rods are kept parallel in order to have a smooth sliding motion.
Repeat this step with the top slider.
Step 5: Assembly: Dry Run
Once your bearings have been fitted and the slider move freely with minimum friction it is time to test fit the smooth rods and aluminum conduit into the motor housing and electronics enclosure.
My printed parts required excessive heating and correction for the rods to fit. Melting the plastic and pushing the rods in made a really tight fit and did not require any glue. Be sure to put the sliders on first as it might be really hard to take it appart once the plastic hardens. If you need to glue the rods to keep them in place make sure the sliders run freely at both ends of the slider. Use araldite or any other epoxy resin and keep checking that the slider
It was at this point I noticed that all my blue parts were mirrored and the black part that I had made by a 3d printing service was correct. This mean I had to melt a hole into the black enclosure to hold the conduit. Everything else worked fine. Looks a bit messy though.
Step 6: Assembly: Idler
Take the smooth idler and insert the bearings.
You may have to sand down the slot in the 3D printed part as the idler must be able to spin freely. If you don't the belt will wear and eventually snap.
Insert the bolt and secure the idler in place using the locking nut. You may need to use the heat gun to get the bolt in.
Step 7: Assembly: Stepper Motor
It is now time to prep the stepper motor. This first thing you will need to do it attach the 20 tooth pulley using the 2 grub screws. I had to purchase an hex key specifically for this job.
Next, remove the 4 pin connector from the wires and take note of the order of the wires. Don't use the image above, record it yourself as these cheap motors are rarely the same. You can remove each of the wires by pressing down on them with a small flat head screwdriver.
Feed the wires through the conduit and out through the other printed part.
Finally, secure the motor in place using the M3 hex bolts.
Step 8: Assembly: Slider Mounts
Take the 1/4" hex bolt and insert it into the top slider platform. You may need to melt the plastic to get it in.
Either melt the the plastic and encapsulate the bolt or use epoxy resin to glue it in place.
Do the same for the bottom slider platform and use a hex nut instead.
Step 9: Electronics: End Stop Switches
The end stop switches allow the arduino to know when the slider should stop moving and change direction. Without them you would have to start the slider at a known location and reset manually or risk breaking the belt.
First, take the switches and dip the pins in flux.
Cut 6 wires about 4 inches long.
Strip a small amount of insulation from each end of the wires.
Dip one end of each wire in flux as well.
Solder a wire on to all 3 pins on both switches.
Feed the wires into the holes and then glue the switches in place using a glue gun.
Step 10: Assembly: Fitting the Belt
Both the top and bottom sliders were supposed to have a plastic clip that would hold the belt in place however they both snapped off. If you have some 3D modeling skills I would recommend fixing this.
I decided to fit a spring to keep the belt under tension. After some testing, it became apparent that the spring would make the camera judder so I ended up cinching the belt down using stainless steel locking wire.
If you are building this and cannot update the file, you could always secure the ends of the belt in place like I did using locking wire. I melted some tiny washers into the plastic to prevent the wire from cracking the plastic. The last 3 images in this section will show you what I did.
Step 11: Electronics:
There is very little to say in this section. Follow the visual circuit diagram / pin map that I created and you should be fine.
Things to remember:
- Be sure to split the copper tracks on the veroboard between the row of pins on the left / right hand side of the arduino and the step stick motor driver. See the left most diagram on the 3rd image.
- Check that all solder joint are well formed and that no excess solder is shorting any of the pins. This can be done visually for now but if problems occur you may have to resort to probing with a multi meter.
- The stepper motor can draw a substantial amount of current, so make sure you connect all GND connections to the exact same pin so large currents are not passed through the small copper tracks on the arduino.
There are some fantastic soldering tutorials online, so it is highly recommended that you check them out if you have not done soldering for a long time. I found this one by Dave Jones from the EEVBlog youtube channel, to be quite useful.
Step 12: Programming: Uploading the Code
Right click 'Slider_code.ino' and hit save as to download it.
Once on your computer, open the file in the Arduino IDE and select the appropriate board type. This is shown in the image above.
Connect the arduino to your computer via a USB mini cable and select the correct COM port in the IDE. Make sure that the mode switch is centered to ensure the slider wont't take off once uploaded.
Upload the code and disconnect from the computer.
There are two modes that I incorporated into the code. One mode moves the slider head back and forth at a speed governed by the position of the potentiometer and the other steps the slider 0.5mm, 360 times with a delay governed by the potentiometer. This allows you to do time lapse photography and produce 15 seconds of footage if played back at 24 fps. Once in position Arduino analogue pin A4 drops to ground and can be used to trigger your camera.
Hook up the battery and get ready to turn off the slider very quickly. When first testing your slider, the motor may be hooked up the wrong way and the end stop switches may not do anything as the code is waiting for the wrong switch to be triggered. Simply reverse the connector and the motor will change direction.
Step 13: Final Notes
At this point you should have a working slider. You can now start thinking about you will use it.
You will need a sturdy tripod to make use of the dual slider mechanism, as the center of balance changes with the movement of the slider. Make sure the tripod is stable at all position before leaving your camera to do a time-lapse as it could topple over later on.
A ball head is the best method of attaching your camera to the slider as it allows greater flexibility when setting up your shots.
I added a boost regulator to step the 5V 2.0A output of a USB power bank to 12V for better torque. The higher voltage allows the motor to draw more power and handle larger cameras. I use the same battery pack to power my camera which makes it a very small package.
Once again I would like to thank you for reading this instructable and if you found it useful, inspiring or interesting please consider voting for it in the 3D printer contest. I could really do with my own 3D printer :)
The vote button is just right of the title, at the top of the page. Thank You !!