Motorized Panorama and Timelapse Pan Tilt Sytem




Introduction: Motorized Panorama and Timelapse Pan Tilt Sytem

This is my second motorized panorama and timelapse pan tilt system.
This one is more portable, power saving and effective.

Two 1:50 harmonic geared stepper motors are adopted as the key driving
mechanism. Owing to the low backlash of the harmonic gear drive, the wobble
caused by the wind has been reduced greatly. And it got significant effect
on the timelapse video.

An Arduino nano and three A4988 are being used as the controller.
Simple and small. Much better than the Mega 2560 and L298 ever used in my
last system.

Step 1: Pan Tilt Tripod Head

This pan tilt tripod head consists of two 1:50 harmonic geared stepper motors,

three camera quick release adapters and some aluminum bars.

No additional gear, bearing, timing belt or else are required.

It makes the fabrication works very simple.

Precise workmanship is not required basically.

A bench drill and some fitter's tools will be OK.

Of course, a bench milling machine will help a lot.

The dimension of the tripod head is counting on your camera and lens.

My tripod head is strong enough to handle a full frame camera and a 400mm F5.6 lens.

As an advice, before go into the detail of your own design,

make sure that you understand the concept of "nodal point" for panorama.

Step 2: Controller

The two steppers are controlled by an Arduino nano and two A4988.

An additional A4988 is spared for the slider.

And the camera shutter is controlled by a small reel relay.

Step 3: Functions

This system gets four major functions for the timelapse and panorama.

Step 4: Program

In order to control the steppers and camera shutter precisely, no stepper

library is used. And to minimize the wobbling, acceleration and

deceleration have also been included in the program.

The first program is to set up the default values in the eeprom.

And the second program is the main program.

Step 5: Results

Some timelapse clips and a 880 million pixels panorama photo have been taken.

And it is the time for further field testing.

Just put everything in a backpack, and ready to a day trip for photo taking.

2 People Made This Project!


  • Fix It! Contest

    Fix It! Contest
  • Tiny Home Contest

    Tiny Home Contest
  • Creative Misuse Contest

    Creative Misuse Contest

58 Discussions

Hello! really great project...could you please tell me details about the stepper motors you´re using? brand/model, etc..

Thanks in advance!

1 more answer

I used a NEMA 17 stepper. And a 1:50 harmonic gear drive for NEMA 17 stepper.

All second hand stuffs. No specific brand and model.

Hi uvvvvw,

very great

With your tips and software I was able to build my own panorama head.

It works very fine.

As I’m not the great programmer, so I can’t find where to adjust the code for
my gearing.

I use a stepper with a planetary and a bevel gearbox, the transmission in whole
is 38:1.

A further
question: is it possible to reduce the motor speed in the panorama mode?

I would be
glad if you would help me.

Thank you


2 more answers

Hi uvvvvw,

thank you for your quick response.
Now everything is working perfectly.

Thanks a lot


Hi acrobatix,

very nice looking gear. well done!

1. parameters that affect the stepper angle for each pulse

at the first few lines of the sketch, there are two lines.

float motor_Hcon = 360.0/160000.0; //deg per step

float motor_Vcon = 360.0/160000.0; //deg per step

they are used to change the angle of pan and tilt in degress for each micro step (or pulse).

the formula is 360/[(steps per turn for the stepper)(reduction ratio)(micro steps)]

my set up is 360/[200*50*16]

2. reduce the motor speed in the panorama mode

- go to "Menu of Auto mode".

- then go to the "5 Motor speed set up"

- increase the values will reduce the speed of

pan, tilt and slider for auto and manual mode.

If you get an error on "lcd.init" when compiling than try to change all instances to "lcd.begin". Worked for me.

Thanks a lot for this project! Very informative!


1 year ago

Very good work. You could pass the templates of the structure.
Thank you


1 year ago

Hi, how to wire power supply layout and how many volts and amperes are required for power supply?

3 replies

thick red line : 12V in

thick green line, thin green line and green earth symbol : common ground of 12V and 5V in

thin red line : 5V in

1A for 5V

3A for 12V, count on the current requirement of the steppers

Hi, Do I connect all the thin red wires to the 5 v rail? even the ones on the steppers drivers?

I used AWG30 wire to connect all the signal and 5V lines by soldering.

thank you verry much.

Thats it......... its so easy

Hello, I have exactly search for such a great software for the arduino to control my diy pan tilt head. I tried to load it on the nano and on the uno. I
do not know how I must proceed since there are two sketches, always when
I load both sketches in the arduino ide and compile them, there are error
messages. Only load one of them to the arduino is without mistakes. And witch arduino IDE version i must use? Can you please give me a tip how to do that?

best regards, Oliver

1 reply

the 1st program is to initialize the eeprom of the arduino.

load it to the arduino at first. and the eeprom will be initialized

then load the 2nd program. and that.'s it.

Hello, I have tried the software but I have problem with navigation
on the LCD. I can not get to all rows for setting up all parameters. Do
you please have any idea? Then I would like to know if D13 pin must be
connected, I have tried the program with 2 motors and it works except
for that navigation menu I mentioned ... Thank you!

3 replies

Not understand your case.

Just need to use the LEFT, RIGHT, UP & DOWN keys to change the parameters.

D13 is for the control of a LED. Not a must for the connection.

Thank you for your reply. Regarding the keys, if I try to change number of shots or vertical angle in horizontal and vertical panorama mode, UP and DOWN arrows change values of parameter, but how do I get to another row (parameter)? Because pressing UP or DOWN arrows still change the value of the first parameter and I can not move the cursor to any other row on the display?

I forgot to ask you, if it is OK, when my keys work like this:
LEFT ARROW - it works only long-pressing when stopping the program
RIGHT ARROW - show always the menu
UP and DOWN ARROWS - work fine, change values up and down
MANUAL key - when holding, shows manual mode
ZERO, CW, CCW keys work the same - after pressing, it starts the program immediatelly, so I can not use it for any other purposes - how should these jeys work?