Assembly time: 40 minutes (printing time: 10-14 hours)

Tools needed: screwdriver+ Allen key (+glue -optional-)

Difficulty: low


Robot components:

Basically, this is a rail with a platform that will travel on it controlled by an Arduino + 2 NEMA17 stepper motors. The two motors will be in charge of: 1) move back and forward the camera platform 2) pan the camera as it moves on the rail. The GOPRO/Smartphone adapter is optional, so you do not have to 3D print it is you are planning to use a regular photo camera. The total length of the rail can be modifiable. Depending on the weight of the camera (SLRs) you will need to use steel bars for the rails or just aluminium tubes. The 3D parts have been designed for 8mm (or 5/16 inchs) diameter round tubes/ bars. To up to 1 meter, the robot behaves smoothly, over that length and for a camera of more than 500 grams (1.1 pounds) the metal bar might bend under the weight while the camera cross the middle of the rail.

Diagram of the robot with all the project´s elements indicated

Parts list:

  • 1.4 meters of GT2 6mm width timing belt.
  • 2x aluminium pipes or inox steel bars (5/16 inch or 8mm diameter) up to 700 mm long
  • 2x 623zz ball bearing
  • 1x 608 ball bearing
  • 3x LM8UU linear bushing 24x15x8
  • Set of M3 6mm bolts
  • Set of M3 15mm bolts
  • 1x M3 nut
  • 1x M3 self blocking nut
  • 1/4 “Screw For DSLR Camera / case / flashlight
  • 1x 20 teeth GT2 pulley (optional as you can print it by yourself. STL 3D models here)


You can get everything on your own (most of elements are the same used in the B-robot, iboardbot, sphere-o-bot, Scara Robotic arm, Air hockey Robot…) or save the hassle ordering the CUSTOMIZABLE KIT from our shop (and at the same time you will be supporting jjRobots):


STEP 1: 3D printing all the parts. Printing time: 10-14 hours depending on the 3Dprinter

PLA will do the job. When printing, set the wall thickness= 1.2 mm and infill to at least 25%. The 3D part “10 teeth gear” has to be printed with an infill of 100%. This is important. This element will have to transmit the power from the NEMA motor to the rotating platform. Place the elements on the printer´s heated bed with the orientation indicated below. Depending on your 3D printer (nozzle size, type of PLA, flow…) the ball bearings/ metal bars can be hard to insert into their holes/slots but do not hesitate to use a small hammer to push them in. But be gentle!. All the 3D parts models are available at Thingiverse

Print the 3D parts with the orientation indicated above.


STEP 2: Assembling

This is the robot scheme. Click on PLAY a take a 3D look at it. Get back to this model if you have doubts about where to place an element.

First, you will need to remove the support triangle/flap just under the shaft. It was needed to print it correctly but not needed anymore. Clean up the burrs. You can use pliers if you want. A knife will work too.

Below: the shaft already cleaned. On that shaft we will place later the 608 ball bearing. If any plastic residue has not been cleaned, we will struggle to insert it.

Now insert the 3 LM8UU linear bearings as shown below. You will hear a “click” once they are fully inserted.

This is the GOPRO/smartphone adapter: This element is optional. We have created it as the GOPRO´s has the time-lapse feature and it is quite straightforward to use. The slider will allow you to place any smartphone on top of the adapter no matter it thickness. There is a 6mm M3 bolt in charge of keeping the slider (under my thumb in the photo) in the channel. You have to insert it from below and through the hole. Then “capture” it with the nut that you have previously inserted into the “nut cap”. See the three photos below to get an idea of what we are talking about.

Above: A render always helps


Insert the M3 nut into the “blocking cap”

PLEASE NOTE: Overtightening bolts: The frame of this robot has been made of PLA plastic. Do not force the bolts too much into their places.


Camera screw: this screw (1/4 ” + ring) will fix the CAMERA (DSLR) to the rotating plate. It can be accessed from below using a screwdriver even when the 608 ball bearing is in place. To detach the camera from this plate you will have to lift it and unscrew it.

Below: the screw popping out of the hole (3-4mm)

The screw is accessible through the hole of the 608 ball bearing

You will need 2x M3 15mm bolts to fix the GOPRO/Smartphone camera adapter to the rotating plate.

The front panel has a hole to access to the GOPRO camera START/STOP button.

The same for a smartphone.Put it on top and adjust the slider until the device is hold in place

If you want to attach a camera with the screw, just remove the GOPRO/ Camera adapter and fix the camera using the screw. See below different configurations


Now it is time for the motors. Fix this one to the MOTOR Legs using 4x M3 6mm bolts. Let the cable connector pointing to the right (as below)

Insert two 623zz ball bearings into the pulley and use a 15mm M3 bolt + self blocking nut to fix it to the Pulley Legs part. Once placed you should not feel any friction on this part.

The self blocking nut already in place.


For now, all the robot´s big parts should look like this:

Insert the GT2 timing belt as indicated. Keep in mind that the total length of the timing belt will depend on the rails length you have chosen. With the KIT, we supply 700 mm long bars/ pipes. 

Now fix the motor to the carriage like this, use 4x M3 6mm bolts for this. The timing belt has to be under the motor.

Below: the timing belt coming out of the carriage

Now, insert the 10 tooth gear into the motor axis. You might need to use a small hammer to do this. Remember to be gentle. This part will have to move the rotating plate on top transmitting the power from the motor. Do not push it completely into the axis.

There must be a tiny gap between the gear and the carriage supporting ring to avoid friction.

Now insert the 20 tooth GT2 pulley into the motor axis and fix it using an Allen key. This element should as low as you can place it but always leaving a tiny gap between the pulley and the 3D part.

Insert the 2 metal bars/pipes through the carriage and into the lateral legs. Run the GT2 timing belt through the pulleys as shown below

Pass the GT2 timing belt

With the KIT we supply two meters of GT2 6mm timing belt for a maximum rail length of 700 mm. Remember that you can use any length for this robot: The control APP can handle it. We will show that later. To finish this part,  Insert the timing belt into the dented “catcher” as indicated below and cut the remaining but before, tighten it.


Now connect the 100 cm cable to the motor. There is only one way to do this due to the shape of the connector.

Try to insert the top plate into the carriage´s shaft. If the shaft is free of burrs, it should be easy (but tight). You can leave it on top if you are not planning to attach a camera which needs the camera screw to get fixed to the rotating plate.

STEP 3: Connecting everything

Time to connect the motors. Depending on the orientation of the cable´s plugs connected to the Brain shield, the motors will rotate in one direction or the other. That might be useful at some point, but by default, check how to connect them to the Brain shield. The stepper motor drivers (red modules) must be connected as indicated. This is important. The heatsinks (small aluminium pieces with a sticky pad on them) must be placed carefully on top of the black modules not touching any metal headers. Otherwise, you can create a short circuit and damage the electronics.

STEP 4: Programming the Arduino Leonardo

(skip this step if you got the CAMERA SLIDER kit version. The Arduino is already programmed)

a) Install the Arduino IDE on your PC from (skip this step if you have the Arduino IDE already installed)
This CAMERA SLIDER code has been tested and developed on IDE version 1.6.5 and later versions. If you have a problem compiling the code, let us know
b) Download all the arduino files from here
Extract the files inside a folder named “CameraSlider_v4 “ in your hard drive
c) Compile and send the code to the Arduino Leonardo
  1. Open your Arduino IDE
  2. Open the main code in /CameraSlider_v4/CameraSlider_v4.ino
  3. Connect your Leonardo board with the USB to the PC
  4. Note: If this is the first time you connect a Leonardo board to your PC maybe you might need to install the driver.
  5. Select the board Leonardo (tools->board)
  6. Select the serial port that appears on the tools->Serial port
Send the code to the board (UPLOAD button: Arrow pointing to the RIGHT)
d) Done!
STEP 5: Controlling the CAMERA SLIDER

Go to Google play and download the CONTROL APP. 

Then proceed to the CONTROL APP USER GUIDE to learn how to use it



 Above an example of a video filmed pointing the camera UP and panning the camera carriage at the same time it is traveling along the rail.

Useful LINKS:

Control APP link (Google Play). iOS version coming soon

Control APP guide
3D parts repository
Arduino CODE: info about how to upload to the Arduino board in the Assembly guide