Introduction: Rotating GoPro Panorama Mount

This instructable was created in fulfillment of the project requirement of the Makecourse at the University of South Florida (

This is a Rotating GoPro Panorama Mount used to capture a wider range of GoPro videos, pictures, and time-lapse's. The GoPro sits on a rotating stand that is completely adjustable. This device is controlled by an arduino code attached below. The code can be completely manipulated to the user's needs.

Step 1: 3D Print the Parts and Piece Them Together

First, download these files and attach them accordingly with E-poxy or with little nails. The parts will be a tight fit so a dremel tool or sander will be needed.

Step 2: The Control System

Use the arduino parts above. Attach them as the picture shows. I used the steeper motor, wires, the breadboard, jumpers, and the arduino board showed in the fritzing diagram. Additionally, I added a 9V battery attachment. The control system is shown in the block diagram. The "button" is the user plugging-in the power source or unplugging to turn off. The stepper motor is going to be attached to the roof of the black box lid. The box and lid are attached to the previous step. I attached them using E-poxy and small screws. The stepper attaches to the platform through the black lid with an extension piece. I made this piece out of a plastic nails and E-poxy. Not the best long-term solution but it works.

Step 3: The Code

Attached is the Arduino code to control the device. You can manipulate the bolded parts below.

stepsPerRevolution = 200; change the 200 to a different number to change the number of steps per revolution.

delay(50); change the 50 to a higher number to decrease the revolution speed and decrease the number to increase the revolution speed.

Keep in mind this is a standard stepper motor. Torque can be an issue with increasing speed.

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 int RECV_PIN = 3;

// 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: Serial.begin(9600); }

void loop() { // step one step: for(int i=1;i<360;i++){ myStepper.step(1); Serial.print("steps:" ); Serial.println(stepCount); stepCount++; delay(50); } }

Step 4: Putting It All Together

This is what the end product should look like.

To attach a GoPro mount just find the basic stick on clip pictured here. The camera is now able to attach and detach conveniently.

The stepper moves according to the code. Look up other stepper codes on the Arduino website to find an array of options.

The wire sticking out on the side is a 9V power adapter hooked to the Arduino power port. The user can plug in to start or unplug to power down.

I also carved a hole in the side of my box to release the power cord and to have an Arduino cord port. This eases my access to the Arduino for coding changes.