The idea behind my camera slider project was to create a fun and versatile device that could enable me to capture smooth and dynamic camera movements for creative video and photography projects. As a hobbyist filmmaker and photographer, I have often found that professional camera sliders can be prohibitively expensive and limited in their capabilities, and I wanted to create a device that would allow me to experiment with different camera movements and angles without breaking the bank.
I was inspired by the DIY and maker communities, who have a passion for creating their own solutions to technical challenges and pushing the boundaries of what is possible. I also drew inspiration from the potential of automated camera movements to add a dynamic and cinematic quality to my creative projects.
Through the development of my camera slider, I was able to learn more about electronics, programming, and mechanical design, and gain a deeper appreciation for the technical aspects of camera movements and cinematography. I also enjoyed the creative process of designing and building a custom device that met my specific needs and allowed me to experiment with different camera movements and angles.
Fusion 360 (to design & export DXF & STL files).
Rhino (to arrange drawings on sheets).
Designing Steps:
I-Conceptual Sketching.
II-Exact measurements for components.
III-Design 2.5D parts on Fusion 360.
IV-Import components to Fusion 360.
V-Create assemble by joints for all parts.
VI-Design 3D Printed parts on Fusion 360.
VII-Export DXF & STL files.
Sketch-I
Sketch-II
Some of component needs to be measure accurately using vernier, and that's what I did while being at lab that I got exact dimensions for needed component as idler pulley.
Step (1): I started by designing the gear & both rails which are the straight top rail that provide smooth motion & the geared one that works as a guide for the gear.
Step (2): Then I extruded them by 6mm which is used plywood thickness that I would use.
Step (3): Then I designed rails' supports that would connect both rails together to avoid deflection of rail.
Step (4): I extruded it also by 6 mm thickness as well.
Step (3): Then I designed the carriage that would carry the motor & mobile holder & added slots instead of holes to be able to control the distance of pulley manually.
Step (4): Then, I extruded it with 3mm thickness which is plywood thickness that I would use for these parts.
Step (5): Then, I moved to design control boxes that would carry all the components & support the rails & I increased its height to provide higher view for shooting.
Step (5): Then, I moved to design control boxes that would carry all the components & support the rails & I increased its height to provide higher view for shooting.
Step (7): Then, I designed the other side control box that support the rails & I increased its height too to provide higher view for shooting.
Step (6): Also, I extruded these parts to 3mm thick as there is no need to use the thicker wood for these parts.
Step (1): I downloaded some components from grabcad.com, as Arduino Uno model, Nema 17 stepper motor, a4988 stepper motor driver, a large breadboard & idler pulley, I used the STEP file format, which is the most suitable for me, so I downloaded models in it.
Step (2): I uploaded components to Fusion 360, then I imported them to my design file.
Step (3): Then, I check that components fit in the created enclosure's dimensions & created joints between them & the base of control box.
Step (4): After that, I got the exact screw holes that needed to be added to the base to fix the components later.
Step (1): I copied parts that would be duplicated in the design to complete the enclosure & added some adjustments for them just to suits its functional place.
Step (2): Then, I created joints between its parts together form T-slots to ensure that it fits perfectly.
Step (3): I check that all part fits each other perfectly after assembly for both of those enclosures.
Step (4): So, after doing the same process over and over, I got a fully enclosure boxes.
Step (5): After that I did jointing for both rails, spacers & gear to get fully assembly & also to get accurate position for the motor on the carriage & the gear.
Step (6): Then, I added T shape wooden parts to create a lock for rails into the control box to avoid it from getting off.
Step (7): And that's the fully assembled that I got for all the wooden parts.
Step (1): I had to create a printed part to transfer motor motion to the gear so, I sketched it on the top face of the gear & projected the motor shaft to create a hole for it.
Step (2): After that I created a hole on the print upper part for a nut to fix the shaft position in the print by screws.
Step (3): And that's the motor supporter shaft that I got :"D
Step (3): another thing was creating adjustable mobile holder that would accept any phone size I had to create it by 2 parts that fits in each other's, so I started by lower part.
Step (4): I added a hook to hold a rubber band so the stand can grip the phone & holds it tightly.
Step (5): Then, I did the same steps for the upper part just changed its dimensions to create it fits on the lower part.
Step (6): Also, I had filleted all parts to provide smooth edges only for more friendly user experience.
Step (1): I exported all parts to DXF files to prepare it for laser cutting machine, I used DXF for laser cutting plugin.
Step (2): Then, I used Rhino to arrange all drawings together to provide the minimum the waste for wooden sheet.
Step (3): I had to separate the drawings into a couple of groups to be 3mm files & 6 mm files to cut each of them on its required wood thickness sheet.
Step (4): I exported STL files for each of the motor shaft control & mobile holder by saving the body as mesh.
Laserworks (to send design to machine).
Ultimate Cura (to create gcode file for the machine).
Laser cutter (to cut wooden sheets).
Prusia MK3 printer (to print 3D parts).
Plywood sheet with thickness 3mm & 6mm.
PLA filament with white color.
Idler Pulley GT2 Aluminum bearing 6mm.
Rubber bands with white color.
M3 & M5 bolts with different length & nuts.
Software, machines & materials used
Fabricating Steps:
I-Laser cutting for 2.5D parts.
II-Printing 3D parts with PLA filament.
III-Assembly parts together.
Step (1): I started by importing all of the DXF files to Laserworks to create gcode for the machine.
Step (2): Then, I had to choose which lines are to be cut & which ones are to be scanned, in my case all of my lines were to be cut, so I picked cutting mode.
Step (3): After selected the cutting mode, I determinate the speed to be 20m/s & 50% for the power for and that was according to the fab lab specialist.
Step (4): After that, I sent the file with its unique name to the laser cutter, tracked a frame to ensure the laser will stay within the boundary of the wooden board & started to cut.
Step (5): After that, I had to change boards to get one with 6mm thick & change parameters of cutting to be 15m/s for the speed & 55% for the power to fits thickness of wood.
Step (6): Vola, here is all parts that had been cut & now it's almost ready for assembly process.
Step (1): I started by uploading the STL file of the motor supporter to Ultimate cura to slice & create a gcode.
Step (2): Then, I sat the layer height to be 0.3 mm, with 3 permitter walls & 40% infill density just to provide high support for the motor motion without break the print.
Step (3): Also, I sat the temperature to 215°C & 60°C to the bed which suits the PLA filmant that I would use.
Step (3): After that, I sliced the model & previewed it before exporting the gcode file.
Step (4): After that, I sat a unique name for the gcode that contains grams, time, color of the filament before transferring it to the printer using SD card reader as the printer only accept SD cards, then I start printing.
Step (5): The print is done & it took about 3 grams of filament & 15 mins only to be printed.
Step (6): I repeated the previous steps for the holder & sliced it & previewed it before exporting gcode file.
Step (7): The print is done & it took about 15 grams of filament & 70 mins to be printed.
Step (1): I joined motor supporter to the gear using 3m bolt.
Step (2): I joined holder parts together using rubber band.
Arduino UNO.
Large breadboard.
Nema 17 stepper motor.
a4988 stepper motor driver.
Voltage regulator.
Potentiometer.
IR proximity sensor.
LCD 16*2 with I2C interface.
On/Off switch.
Push button.
Jumper & crocodile wires.
Rosetta.
9V power adaptor.
Potentiometer.
Push button.
IR proximity sensor.
Numa 17 stepper motor.
LCD 16*2 with I2C interface.
The only source of current in the circuit is the 9V power supply.
Then the 9V connected to a voltage regulator, regulate 9V to 5V, then 5V will power most of electronics components, while the 9V will only power the stepper motor.
The a4988 stepper motor driver takes both volts 9V &5V as 9v will power the motor & driver in itself uses 5V to create its role perfectly.
Then, the driver was connected to pins 3, 4 & 5 in the Arduino, they would control the steps & direction & the motor mode whether is enabled or not.
Controlling of the circuit, I have a potentiometer, a push button & on/off switch, in addition to a sensing device which is the IR proximity sensor.
The potentiometer acts as a voltage divider that send an analog signal to the Arduino, it is connected to the positive 5V, the ground & its middle branch connected to pin A0 in the Arduino.
The push button is connected to pin 12 in the Arduino & its end is connected to the ground to utilize the input-pullup state in the Arduino by having common ground.
The IR proximity sensor is connected to pin A1 in the Arduino & its power ends connected to the 5v & the ground, also it has been calibrated using the potentiometer on its board to get the needed range.
The LCD with the I2C module, it has 4 pins, 2 power pins which are connected to 5v & the ground then the serial data pin which is connected to A4 pin on the Arduino board & the serial clock pin which is connected to pin A5 on the Arduino board.
The on/off switch is just added to provide the ability to cut the power flow in the whole circuit by cutting off the power coming from the source.
I built a circuit diagram using illustrator.
I used the 9V power adaptor plugged onto the wall socket which is the main & only power supply for the device, and that due to many reasons which are:
Stepper motor required volt from 8 to 35 volts.
Also, stepper motor driver recommended to use 9V to drive the motor.
All electronic components in the circuit uses 5V to work optimally, beside that the voltage regulator can easily regulate 9V of the power supply to 5V that would drive the components safely.
Step (1): I started by including the LiquidCrystal_I2C library to control the LCD using the I2C connection protocol.
Step (2): Then, I sat names for pins to be easier to be called through the coding process.
Step (3): the next step was to define pins depends on their role in the circuit whether they are an output pin, an input pin or an input pullup pins.
Step (4): I had to initiate the serial monitor to troubleshoot anything that would happen unexpectedly, then I started the LCD then its backlighting.
Step (5): the next step was to control the speed of slider & that's by creating mapping for the potentiometer to change its range from 0 to 1023 to be from 100 to 2000 to control the carriage speed.
Step (6): Then, to change the motion direction mode, it would be by pressing the button the carriage would change its direction from right to left & vice versa.
Step (7): I sat the lcd to print a sign that shows the direction of the motion of the carriage so, this sign >>> refers to moving towards the big box & that one <<< refers to moving towards the small box.
Step (8): Then, I moved to a next line & let the lcd print the value of the potentiometer that shows the delay value which refers to the carriage's speed to be more useful for the user & I sat a delay of 10 milliseconds so that the LCD doesn't refresh so quickly to appears number clearly.
Step (9): Then, to control the stepper motor I created if condition that flipping motor direction depends on condition & stop it from moving if the IR sensor reads a true value that means that the carriage is close to the box.
Step (10): That's the function which is called move I customized it to controls the stepper motor with its two directions by taking integer value stored at t which is taken from Potentiometer & moves the motor depends on that.
Step (1): I started by connecting both rails together with spacers, I used rubber mallet hammer to do so.
Step (2): Then, I supported the rails on a higher level by fixing them into the boxes.
Step (3): I added the stepper motor & gear to the carriage & supported them to the rails to check the mechanism.
Step (4): Then I supported the carriage to the rails by fixing the idler pully to proving the perfect motion of the gear.
Step (5): After that, I mount all the different components on the control box namely, the Arduino, the breadboard & the stepper motor a4988 driver.
Step (6): Then, I placed the IR sensor on its place to work as sensing limit switch & added a wooden part to ensure that senor would be able to see it.
Then, I placed the IR sensor on its place to work as sensor limit switch & calibrate its range to be able to stop the motor motion on a perfect moment.
Step (7): After that, I calibrated the range of the IR sensor through its potentiometer to be able to stop the motor motion on a perfect moment before carriage hits the box.
Step (8): After checking the mechanism, I complete the assemble of the controllers & components onto the control box.
Step (9): Then I completed all the enclosure & check the mechanism before close the cover.
Step (10): Once the assembly is complete, the mobile holder is supported & now ready to shoot.
Demo-I-Showing project in action
Demo-II-Shooting one of the wooden designs that I have created using my slider :"D
Demo-III-Shooting one of the wooden designs that I have created using my slider :"D
Demo-IV-Footage by the slider :"D
Demo-V-Footage by the slider :"D
I received a lot of help from the instructors in the wiring, getting the stepper motor to work & to create the gear mechanism work perfectly although how tough thing it's to be done.
I also received a lot of help from the lab team, in finding the perfect tool for my needs, as in one of my trails to create gear mechanism work, they gave me a Idler pulley to use it instead of wheels & that's actually changed all the plan to an easier & more effective way as I had been looking for bearing that could fits in wood with its 6mm but I couldn't found one, all I found was just V Shape which doesn't suit the wood but hopefully they found me an alternative thing.
Also, I received some help to work my motor as I had a technical problem at the wire that connect motor with driver which was actually a problem that I didn't know what I'm doing wrong :"D
I got stuck many many times during the project to be honest, starting by having no idea about the stepper motor or how even it works, so I started by searching for it to know how it work & how to operate it & it became much more easier using motor driver.
After that I had a problem with my motor driver, I spent a week trying to work it that I realized that it wasn't a problem of wiring or coding it's just that the driver needs to be replaced.
Also, the wire that connect the stepper motor with the driver had a problem in it which solved by flipping 2 wires of it to work perfectly, which I understanded that the motor got 2 mixed signals that's why it was vibrating in its place as it gets 2 opposite signals at the same time :")
All that made me start the project in a very late stage hoping that it would work after all that, but unfortunately, I knew that I'll face a bigger problem in creating the gear mechanism.
Although knowing that gears isn't an easy mechanism to create I didn't know that it would create too many problems which started by that gears doesn't fits its other perfectly although using plugin at Fusion to create gears, it just kept on stuck & didn't provide a smooth motion, till I reached a point that I designed a gear by my own using half circle to ensure that everything would work perfectly this time.
Another problem I had was that I couldn't accurately define the place of the Idler pully on the carriage to made gear move smoothly on the geared rail & the solution was to use slots instead of holes to be able to accurately place the carriage manually & provide smooth motion to gears.
Creating Module for the rail to be able to create longer & parts that could be connected & disconnected to build adjustable length of the rail.
Creating the curved rail using the same mechanism of using gears which was my first idea & had to simplify it just out of the time limitation.
Translating it to be from a simple camera/Mobile slider to be a Photogrammetry.