Introduction: Automatic Arduino Powered Camera Slider With Pan and Tilt

About: We are two young inventors, Kousheek Chakraborty and Satya Schiavina. We like using digital fabrication, electronics and various other fields of knowledge to create projects that focus on simplicity, efficienc…

Are you fed up of shaky footage that ruins your video? In this Instructable I attempt to address this issue by building my own automated camera slider. I used the power of CAD and digital fabrication to create a robust gantry system that rolls along a length of square tubing. The gantry holds a pan and tilt mechanism that gives the user the ability to shoot from any angle.

The entire system is made using off the shelf parts such as stepper motors and Arduinos and it is designed to be easily transportable while being sturdy.

Follow on to create your own Automatic Arduino Powered Camera Slider and do drop a vote for this project in the "Automation Contest" if you enjoyed the project and decide to build your own version. I would love to see your own versions so do post your creations using the "I made it" section.

Step 1: Overview and Design Process

The automatic camera slider was designed in Autodesk's free-to-use Fusion 360 3d modeling software. I began by importing the stepper motors into the design and built the pan and tilt mechanism around them. Next, I modeled the rail and made the two pieces that held the stepper motor and idle pulley on the ends of the rail. The design was made with structural stability and ease of assembly in mind. The gantry or the slider used regular bearings as wheels that kept contact with three faces of the square tubing. This allowed the gantry to roll smoothly without skewing.

Another goal while designing the automated slider mechanisms and parts was to keep the models as compact as possible and implement a modular design. This would allow the user to easily assemble and disassemble the slider and carry it around with them. This is one major point that traditional sliders tend to lack.

Finally, I designed an enclosure that would hold all the electronic components and a display that will display useful information.

Note:The parts are included in one of the following steps.

Step 2: Materials Needed

Here is the list of all the components and parts required to make your very own Automatic Arduino Powered Camera Slider. All parts should be commonly available and easy to find.

ELECTRONICS:

  • Arduino Uno x 1
  • NEMA17 Stepper Motor x 3
  • CNC Shield x 1
  • I2C LCD Screen x 1
  • Jumper Wires (10 pieces)
  • DC Connector x 1

HARDWARE:

  • 20mm x 20mm square tubing (60 cm)
  • GT2 Belt (2 m)
  • Skateboard Bearings x 7(8x19x7 mm)
  • M4 nuts and bolts
  • 3D printer filament (in case you don't own a 3D printer, there should be a 3D printer in a local workspace or the prints can be done online for quite cheap)

The approximate cost of all the parts is roughly 60 USD.

Step 3: Digitally Fabricated Parts

The parts required for this project had to be custom designed therefore a 3D printer was used to print them out. The prints were made at 60% infill, 4 perimeters, 0.4mm nozzle, and a layer height of 0.1mm with PLA. The color is of your choice. You can find the complete list of parts below along with the STLs to print your own version.

Note: From here on the parts will be referred to using the names in the following list.

  • Slider Stepper Holder
  • Idle Pulley Holder
  • Gantry
  • Stepper Pulley
  • Idle Pulley
  • Belt Holder x 2
  • Tilt Bracket
  • Pan Bracket
  • Pan Stepper Holder
  • Electronic Module Base
  • Electronic Module Lid
  • Electronic Module Holder
  • Electronic Module Clamp
  • Tripod Mount
  • Floor Mount A
  • Floor Mount B

In total there are 17 parts. The total printing time is about 30 hours.

Attachments

Step 4: Building the Gantry and Preparing the Rail

Begin the assembly by cutting your square tubing to length. I used a 60 cm length of tubing, but this step depends on your needs. Once the tube is cut to length, drill two 4 mm holes on the rail. The holes should be made at the middle of the rail, 6 cm apart, and 0.5 cm from the bottom face of the square tubing. These holes will allow you to mount the slider onto a tripod.

Next, you can start assembling the gantry. The parts and pieces you will need are:

  • 6 x Bearings
  • 1 x Gantry
  • 2 x Belt Holders
  • 1 x Pan Stepper Holder

The gantry uses 2 bearings that roll along the top surface of the rail and 4 bearings (2 on each side surface of the rail) that prevent skewing. The 2 bearings for the top surface are connected along with the belt holders to the gantry piece using a single 4 mm nut and bolt for each side.

The other 4 bearings are mounted using the slots on the gantry piece so that you can adjust the position of the bearings such that the gantry rolls smoothly along the rail. Use 4 nuts and bolts to attach the four bearings along with the pan stepper holder.

Test the fit of the gantry on the rail and make sure it rolls smoothly.

Step 5: Slider Stepper Holder and Idle Pulley Holder

Once the gantry and rail are built, start assembling the stepper motor assemblies that move the gantry along the rail. The two assemblies consist of the drive assembly that holds the stepper motor and the idle assembly that holds the idle pulley. The parts and pieces required for this step are:

  • 1 x Stepper motor
  • 1 x Stepper Pulley
  • 1 x Idle Pulley
  • 1 x Slider Stepper Holder
  • 1 x Idle Pulley Holder
  • 2 x Bearings

To build the drive assembly, begin by mounting the stepper motor to the slider stepper holder using the provided bolts. Next, mount the stepper pulley onto the shaft of the stepper motor.

To build the idle assembly, embed 2 bearings on each side of the idle pulley. Pass a 4 mm bolt through the idle pulley holder and pulley such that the pulley is sandwiched between the two arms of the idle pulley holder.

Finally slide the two assemblies on each end of the rail. The fit is snug and might require a bit of sanding.

Step 6: Pan and Tilt Mechanism

Once the slider mechanism is built, you can begin to assemble the pan and tilt mechanism. The parts and pieces required for this are:

  • 2 x Stepper Motors
  • 1 x Bearings
  • 1 x Pan Bracket
  • 1 x Tilt Bracket

Begin by embedding a bearing into the hole on the pan bracket and attach the tilt bracket piece to the pan bracket using a nut and bolt passing through the hole on the tilt bracket and the bearing on the pan bracket. Use an additional nut or washer between the two brackets to create a slight gap between the two.

Mount the tilt stepper motor to the pan bracket using the given mounting bolt and slide the shaft into the hole on the tilt bracket. The fit is snug and does not require any extra reinforcement.

Finally, mount the pan motor to the gantry by sliding it in from one side and secure it using the bolts that were provided. Finish the assembly of the pan and tilt mechanism by pushing the pan bracket onto the pan stepper motor that is attached to the gantry. Once again the fit is snug and will not require any additional reinforcements.

Lastly, pass the belt around the two pulleys and push the ends through the belt holder pieces on each side of the gantry. You can use an additional clip or clamp to prevent the belt from loosening over time.

Step 7: Mounting the Action Camera

The mounting point for the camera is a universal connector. This will allow you to mount various types of action cameras such as GoPros and Dji's Osmo Action. If your camera is slightly different, there are adapters that are easily available at electronics shops or online. To mount your camera or an adapter to the tilt bracket, pass a 4 mm nut and bolt through the connector and sandwich the camera's connector in between and tighten it together with a bolt.

Step 8: Electronics Module

Next we build the heart of the system, the electronics module. The electronics module consists of three primary parts: the lcd display, the Arduino + CNC Shield, and the power port. Begin by mounting the arduino along with the CNC shield onto the base of the electronics module. Make sure to align the Arduino such that the programming port protrudes slightly from the slot in the box.

Attach the LCD display to the top panel of the electronics compartment. The fit should be snug so addtional adhesives or screws will not be needed.

Finally, push the female DC connector into the gap on the wall of the electronics module. Use some hot glue to make the joint more secure. Once all the components are in place, it's time to wire them together.

Use the following table to wire the components together:

Power:

  • DC connector +ve to CNC Shield Vin
  • DC connector -ve to CNC Shield GND

LCD Display:

  • LCD VCC to CNC Shield +5V
  • LCD GND to CNC Shield GND
  • LCD SDA to CNC Shield SDA
  • LCD SCL to CNC Shield SCL

Motors:

  • Slider Stepper to CNC Shield x-axis port
  • Pan Stepper to CNC Sheild y-axis port
  • Tilt Stepper to CNC Shield z-axis port

Once all the connections are made you can use 4 screws to attach the lid to the base and complete the electronics module. Make sure to pass the stepper wires through the slot at the bottom of the electronics compartment.

Step 9: Various Set Up Options

The slider I designed to be set up in two ways, either mounted to a tripod or simply placed on the ground.

Tripod mount

To mount the slider onto a tripod you will need the tripod mount piece. Use 2 x 4mm nuts and bolts to fasten the tripod mount to the rail using the two holes that were drilled at the middle of the rail. The bottom of the tripod mount has a hole for the standard tripod bolt to fit in.

Placed on the ground

To place the slider on a level surface, use the floor mount A and floor mount B pieces. Floor mount A supports the rail on the stepper end while floor mount B supports the rail on the idle pulley end. Unscrew the stepper motor, line up the floor mount A with the holes on the slider pulley holder and fasten the stepper back. Unscrew the idle pulley and line up the hole on the floor mount B with the idle pulley holer and fasten the pulley back.

Step 10: Modular Design

The design of this slider is modular, it consists of several sub-assemblies that fit together to build the slider quickly. This allows you to easily transport the slider without having to fully assemble and disassemble the slider each time. Here is the list of sub-assemblies that can be considered as modules and need not be fully disassembled while transporting:

  • Rail
  • Gantry
  • Drive Module
  • Idle Pulley Module
  • Electronics Module
  • Pan and Tilt Module

The assembly process consists of placing the gantry on the rail. Pushing the drive module and idle pully module on each side of the rail. Mounting the pan and tilt module onto the gantry and attaching the belt.

Step 11: Programming the Electronics Module

To control the slider, begin by uploading the program attached below to the electronics module using the programming port. The default parameters on the program make the slider track an object that is placed perpendicularly in front of the middle of the slider at a distance of 50 cms. The program features two modes: a tracking mode and a velocity control mode.

Tracking mode

The tracking mode allows you to track a subject that is placed at a fixed point from the slider. The gantry moves along the rail and the pan axis moves such that the camera always points in the direction of the subject. The parameters that are required to define are:

  • Speed - units: m/s, variable name: speedTrack
  • The perpendicular distance from the rail - units: m, variable name: d1
  • The perpendicular distance of the subject to the perpendicular of the rail lined up with the stepper shaft- units: m, variable name: d2

Velocity control mode

The velocity control mode allows you to control the individual speeds of the various axes. The parameters that are required to define are:

  • Slider stepper speed - units: m/s, variable name: sliderSpeed
  • Pan stepper speed - units: degrees/s, variable name: panSpeed
  • Tilt stepper speed - units: degrees/s, variable name: tiltSpeed

These variables can be found on lines 12-20 in the program.

To select between the two modes, at the beginning of the code make sure the value corresponding to the mode is set to 1 while the other is 0. e.g. if you would like to use the tracking mode the lines at the beginning of the program should read:

#define trackingMode 1

#define velocityControlMode 0

Once the mode is set, go ahead and set up the parameters that correspond to the mode.

Step 12: Final Results

I have tested the automated slider for about 2 weeks now and the quality of my videos has improved significantly. The program allows you to control the speed of the various axes allowing you to also take time-lapses. If you are interested in photography or film making and have an appeal for making DIY equipment, I would strongly recommend this project. And even those who are not interested in film making or haven't tried it yet, this project is perfect to learn about various areas of STEM education.

Hope you enjoyed this Instructable and it has inspired you to build your own Automatic Arduino Powered Camera Slider. I would love to see your very own versions so do post them using the "I made it" section. Apart from that, feedback, questions, comment, concerns can be addressed in the comment section below.

If you liked the project do support it by dropping a vote in the "Automation Contest".

Happy Making!

Automation Contest

Runner Up in the
Automation Contest