Time Lapse Camera Panner
Like Thomas Elemy
Expert Pick

Time Lapse Camera Panner

Time Lapse Camera Panner

  • Internals of the time lapse panner, showing gears, stepper motor, battery, and Arduino


Published: June 20, 2016 1 0 2.5K
By: Thomas Elemy, Cal Poly Pomona
Category: Engineering
Hashtags: #Design #Electrical #Engineering #include #Project

The reason I decided to build this was the cheapest option to add motion to a timelapse video cost about one hunderd dollars and I built this for about $25.
- Arduino Nano
- 28BYJ-48 + ULN2003 Driver
-Li-on Battery
-Tp4056 charger cuircit
-3.7v to 5v Dc-Dc converter
-radioshack project box
This project an Arduino nano is controlling a stepper motor that is geared down to 6:1 gear ratio. Power comes from a 5000mah lithium ion battery that can be charged through USB and also charges the camera. I run the all the electronics at 3.7v as the stepper motor would heat up at the recomended 5v, no issus running the Arduino at and stepper motor at 3.7v, I only suspect the slightly less holding torque which is not an issue in this application. The camera panner is made for GoPro sized cameras but can handle Bridge sized cameras and can rotate 360 degrees. To change the speed of rotation you must change the value in the delay on the code. Code is basic stepper library on Arduino's website which follows as
Stepper Motor Control - one step at a time

This program drives a unipolar or bipolar stepper motor.
The motor is attached to digital pins 8 - 11 of the Arduino.

The motor will step one step at a time, very slowly. You can use this to
test that you've got the four wires of your stepper wired to the correct
pins. If wired correctly, all steps should be in the same direction.

Use this also to count the number of steps per revolution of your motor,
if you don't know it. Then plug that number into the oneRevolution
example to see if you got it right.

Created 30 Nov. 2009
by Tom Igoe



const int stepsPerRevolution = 200; // change this to fit the number of steps per revolution
// for your motor

// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

int stepCount = 0; // number of steps the motor has taken

void setup() {
// initialize the serial port:

void loop() {
// step one step:


Adam Markowitz