Introduction: Panoramic IPad Camera Spinner

About: From Arduino to Rube Goldberg follow along as we explore engineering together. With a focus on electronics come see projects based on 3d printing, physics, and fun. Mod your toys, upgrade your tools, and custo…

Using an old toy pottery wheel, an Arduino, and a couple of 3-D printed parts, I made a 360° iPad camera spinner. This project is cheaper than store-bought options and just as capable. There are two modes, one for continuous video and one for timed delay photos, all in one program. This project had it's big debut at Maker Faire Detroit and was taking panoramic videos. To see some of this footage please go to my website,

Step 1: Required Parts and Tools

I used the following items to build this project:



  • Precision screwdriver
  • Wire Cutters
  • Soldering Iron

Step 2: Take It Apart

Take the bottom off the pottery wheel by removing all the screws. Then, cut off the power cords that come from the battery compartment and power outlet. They're not needed, because we will use the Arduino for power. Keep the two wires that come off the motor.

Step 3: Breadboard the Circuit

First, solder two long jumper wires to the wires that come off the motor and cover your joints with heat shrink. Next attach the mini breadboard to the drawer with double sided tape. For the motor circuit we will use the circuit diagram shown above. It is a basic motor circuit for the Arduino, using a transistor, diode, and resistor. Then we will need to add two buttons, one to change programs and one to go back to the first program.

Step 4: Arduino Code

This code powers the motor and changes between the two modes. The first mode is for continuous rotation and the second is for timed delayed photos. The buttons are used to go back and forth between the modes.

int motorPin = 9;//the pin the motor is connected to<br>int buttonPin = 2;//the pin the button is connected to
int ledPin = 13;//the pin the LED is connected to
boolean currentState = LOW;//stroage for current button state
boolean lastState = LOW;//storage for last button state
boolean ledState = LOW;//storage for the current state of the LED (off/on)
void setup()
pinMode(motorPin, OUTPUT);
pinMode(ledPin, OUTPUT);
pinMode(buttonPin, INPUT);
void loop(){
  currentState = digitalRead(buttonPin);
  if (currentState == HIGH && lastState == LOW){//if button has just been pressed
    delay(1);//button debouncing
    //toggle the state of the LED
    if (ledState == HIGH){
      digitalWrite(ledPin, LOW);
      ledState = LOW;
      } else {
      digitalWrite(ledPin, HIGH);
      ledState = HIGH;
  lastState = currentState;
  //photo mode
  if (ledState == LOW){
      digitalWrite(motorPin, HIGH); // turns the motor On
      digitalWrite(motorPin, LOW);  // turns the motor Off
  //video mode
  if (ledState == HIGH){
      int onSpeed = 185;  // a number between 0 (stopped) and 255 (full speed)
      analogWrite(motorPin, onSpeed);   // turns the motor On

Step 5: Final Assembly

After you have built your circuit and tested the program it is time to put it all back together. Carefully place the drawer back on the slides. Then set the top back on the base with the screw holes aligned. Now flip over and reinsert the screws. Then add the 3d printed parts to the top. The hub will go over the center hexagon shaft. I have made the iPad grip so it is removable for convenience. Attach the grip to the iPad and then set into the hub. Add power and test that everything still works.

Step 6: How to Use

  • Find an interesting location you want to film.
  • Decide what app you want to use. (Hyperlapse or Stop Motion)
  • Set up the options in the app.
  • Attach the gripper to the iPad and insert it into the stand.
  • Connect the Arduino to power. (9V battery)
  • Chose what mode on the Arduino to match your app by pushing the button on the circuit.
  • Start your recording and enjoy.

Thanks for taking a look. I hope you enjoyed this project and are inspired to create one for yourself. Stop by my website for more projects at

Until next time, "Never Stop Improving!"


Formlabs Contest

Participated in the
Formlabs Contest

Tech Contest

Participated in the
Tech Contest

Microcontroller Contest

Participated in the
Microcontroller Contest