Motorized Camera Slider Controled by Android Phone




About: Teacher that enjoys working with students

This instructable shows how to make a motorized camera slider. Actually we attach some additional parts to a manual slider to make it motorized and controlable by an Android phone. The idea behind camera sliders is to give you the ability to video "tracking shots" and time lapse videos that you can set up and execute in seconds. Tracking shots create a sense of movement, as if the camera was a passerby briefly filming the subjects on screen. They add professionalism to your work, give three dimensional sense of the scene and also a cinematic feel to any kind of scene you're filming. There are many cheap manual camera sliders in the market but the problem is that if you move the camera by hand the motion is not uniform and smooth, so making it motorized gives much better feeling.

Bill of material

1000 mm Manual camera slider (varavon slidecam series are good choices)

one stepper motor

one arduino uno

hc05 bluetooth

DRV8825 stepper motor driver board

12v power supply

timing belt and pulley

ball bearing

1.5 mm steel sheet

Bluetooth Terminal Android App from NEXT PROTOTYPES

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Control Program

We used "Bluetooth Terminal" Android App from NEXT PROTOTYPES. Commands were sent to the Arduino using a Bluetooth connection. For making it easy to control the slider we defined four buttons "Forward", "Backward", "Speed" and "Distance". Functions of these buttons are as following:

1. "Forward" move slider forward

2. "Backward" move slider backward

3. "Speed" adjusting slider motion speed (between 0.3 mm/s up to 37 mm/s)

4. "Distance" adjusting slider motion distance (9 to 81 cm)

Buttons "Forward", "Backward", "Speed" and "Distance" are defined in 'Button Preferences' section in setting of the app, they will send 'F', 'B', 'S' and 'D' to the Arduino respectively. For adjusting speed and distance you should just send a number between 1 to 9 from app.

Step 2: Electronics

It is consists of these items:

one arduino uno
HC05 Serial Bluetooth board

DRV8825 stepper motor driver board

12v power supply

Connections between parts are shown in above picture. HC05 should be connected to pin number 10 and 11 that are configured as software serial. Also there is no connection to the reset and sleep , just jumper them and connect enable bar pin to ground of arduino. There should be a capacitor 100 uf on VMOT and GND of DRV8825. It is better to use a Arduino Uno ProtoShield and solder bluetooth and drv8825 on it. You can also plug the power directly to Arduino and from VIN connector to the DRV8825 board. Electronics can be more compact using smaller Arduino boards like mini or nano.

Step 3: Mechanical Drive System

Mechanical parts consist of the followings:

1. two plate for idler pulley bearing support

2. two plates for stepper motor support

3. saddle plate on top of slider block

4. timing belt with pulley

5. idler pulley bearing supported with 8mm bolt and nut

You can see parts drawing in SVG file that can be cut by a laser cutter. Instalation of idler pulley and stepper motor were shown in above pictures. We used two 1.5 mm steel plates that has hard paintings for both ends of slider, but you can use one piece of 4 or 5 mm steal plate as well.

It is also possible to use a handle to operate the slider manually. This handle can be attached to the bolt head on top of stepper motor pulley.

Step 4: Arduino Program

This program recieves and executes the commands from bluetooth terminal. Commands are for motion and also adjustment of speed and motion distance. There are comments on the Arduino program that explain everything.

1 Person Made This Project!


  • CNC Contest

    CNC Contest
  • Make it Move

    Make it Move
  • Teacher Contest

    Teacher Contest

11 Discussions


2 years ago

Hmmm...where is program for bluetooth terminal to get buttons in it?


2 years ago

Hello hesamh. Good job!

Can you advice what Stepper Motor is required? Any specifications?

3 replies

Reply 2 years ago

I used a Nema 17 stepper motor


Reply 2 years ago

Hi hesamh, thank you for your reply :)

I figured its a Nema 17 from the images. In fact, I found this instruct-able so promising that I purchased all the electronics required. However, I am facing problems making everything work.

I've the exact parts as you have described:

1. Nema 17 Stepper Motor 17HS30010-20B
Rated voltage/phase (2 V (It's not working voltage of this stepper. There is No problem to use 12V, 24V or even higher to 36V to drive this motor.)
Rated current/phase 1.2 A

2. DRV8825 StepStick (powered by 12 V 0.5 A Power Adapter)
3. Bluetooth Transceiver Module with TTL Outputs-HC05
4. Arduino Uno R3 (powered by PC through USB)
5. 100uF 25V Electrolytic capacitor
6. 12 V 0.5 Amps Power Supply

1. Capacitor pops after a few seconds of connecting the 12 V power source and white smoke comes out. I checked with a multi-meter and the capacitor still looks in working condition though. This happened twice. I've one more new capacitor left.

2. I am not able to set the Vref of DRV8825 to 0.6 V. It goes max to 0.3 and that too with lot of precision work. Is there a problem with the chip or the power source itself?

3. The Arduino lights up, the HC-05 blinks, but when I press buttons on the Emulator, nothing works. The stepper won't move.

Hesham, I would appreciate if you take some time and solve my problem because I really want to build this. Please help me. I can post images if you want. Just let me know.

Thanks in advance!


2 years ago

Can i have link of application, i tried to search on market but i couldn't got same link,

1 reply

Reply 2 years ago

Any bluetooth terminal emulator would work, you just should send the command by sending its ascii character


3 years ago

if I want to use EasyDriver(which is with a3967 on it) to replace DRV8825,

which part of the code should a change?

Also , do I need to change the code to adapt another Bluetooth module?

Thanks a lot!!

1 reply

Reply 3 years ago

For using Easydriver you dont need to change the Arduino code, but for using different Bluetooth you should follow the connection based on datasheet, bluetooth acts as a serial connection between mobile phone and arduino. In my code I used 10 and 11 pin for RX and TX, you should change the code if you want to use different pins

desposito adinolfi

3 years ago

Thanks for sharing but where are reset and sleep connections in the stepper dirver?


4 years ago

Really smart idea!!! Good job, thanks for shearing :)