Active Camera Tripod




Introduction: Active Camera Tripod

About: I'm a french native speaker. I'll appreciate any help to make my things understandable ;-)

[   Category: 18+  ]

Digital cameras are wonderful devices making experiments with images very easy.

You might dream of features that are not available in your camera menu.

This project helps you realizing the following:
- cylindrical or hemispherical panoramas
- stop motion animations
- night photography

It can be used “headless ” (no computer attached).
Pictures will be available on camera memory card for computer processing.

This instructable provides drawings and arduino sketch.
The provided sketch (firmware) can easily be upgraded by anyone to provide more features.

You will need the following:

        - 3x small wheels
        - thin panel either wood or acrylic (e.g. plywood, MDF, Medium-density fibreboard)
        - 2x standard size servos (e.g. Futaba S3003)

        - more thin panels
        - 1x micro servo (e.g. Futaba S3107)
        - “L” brackets (e.g. ~2.5 inches or 6 centimeters)

        - Arduino 2009 (aka. Duemilanove) or latest model
        - Arduino Sensor Shield (i.a. grid pin header connections)
        - LCD (HD44780-based) + cable + connectors (prefer backlit LCD)
        - buttons + prototype PCB + resistors + cable + connector

        - laser cutter (for the luckiest)
        - drill,
        - saw,
        - sandpaper,
        - pen,
        - cutter (for the others)
        - soldering iron

        - bolts and nuts
        - threaded rot and wingnuts
        - wire
        - adhesive tape
        - bolt to attach the camera (0.25”)

        - buzzer + cable + connector (beep before a shot)
        - photoresistor + cable + connector (light -> exposure & lcd back-light)

Step 1: Build the Base

Print the drawing without scaling it.

    - insert the jpeg-drawings in your favorite editor
    - set or keep the image size at 100%
    - set your printer driver’s scaling option to “None”
    - check the printed scale with a ruler (inches or centimeters)
        (adjust and reprint if necessary)

Use a cutter to have adequate marks

Stick the paper on the wood panel with adhesive tape
see picture

Draw more marks
see picture

Saw and drill

Step 2: Cut the Sides

Same procedure...

Step 3: Build the Head

Same procedure...

Drill holes (1/4” or 6.5mm) on the lower panel to fit your cameras.

Attach the panel with threaded rot and nuts/wingnuts

Step 4: Assemble the Mechanical Parts

Step 5: Add the Electronics

the servos,
the Arduino 2009, 
the LCD, etc.

Add the "Sensor shield"

Step 6: The Keypad

We have a simple resistor network for keyboard.

- assemble resistors and buttons
     - solder buttons
     - put 4.7kΩ close to the VCC (+5V) wire
     - put 1kΩ next to the buttons
- put solder according to the drawing

Step 7: The Display

Power connector (2 connectors)
    - VCC (red) -> pin 2 (LCD)
    - GND (black) -> pin 1 (LCD)

control connector (9 or 4+2 connectors)
    - Data4 (1st) -> pin 14 (LCD)
    - Data5 (2nd) -> pin 13 (LCD)
    - Data6 (3rd) -> pin 12 (LCD)
    - Data7 (4th) -> pin 11 (LCD)
not used
    - Enable (6th) -> pin 6 (LCD)
    - RS (7th) -> pin 4 (LCD)

On the LCD
    - tie pin 1 and 5
    - place 4.7k potentiometer between VCC and GND, divider pin on pin 6 (LCD)

Step 8: Tilt Servo Calibration

Upload the firmware to the Arduino 2009

(power off)

    - titl servo to digital pin no.5
    - LCD as described
    - keypad to analog input no. 0

(power on)

Skip the shutter calibration (press the OK key)
and select the "Point to option" on the main menu

Use the up and down arrows until you reach the 90° angle
Adjust the "L" bracket at the horizontal position

Step 9: Finalize the Head

Assemble the part from step 3.

Attach the micro servo (the finger on the shutter).

Now, we have something like this...

Step 10: The Software (sketch)

Find info on
Use the  to compile the attached code.
Plug USB cable and upload.


    - Display welcome message
    - Attach the servos one at a time
    - Assist user to adjust shutter servo (up and down keys)

Main menu
    - "Point to" option will move the camera with the up, down, left, right keys until "OK" is pressed
    - "Shoot one" option takes  one picture 8-)
    - "Cylindrical panorama" option takes a panorama at the defined altitude
    - "Hemispherical panorama" option takes pictures on every altitude/azimuth
    - "Stop motion" option takes pictures a defined interval

Pressing any key (left/right is better) will send you back to main menu.

Step 11: The Software (computer)

Stitch with or one of these
Animate with with GAP (The GIMP Animation Package) or your favorite picture editor.

You will find several instructables for this.


              Have fun!


National Robotics Week Robot Contest

Finalist in the
National Robotics Week Robot Contest

3rd Epilog Challenge

Participated in the
3rd Epilog Challenge

Be the First to Share


    • Make It Modular: Student Design Challenge

      Make It Modular: Student Design Challenge
    • Tinkercad to Fusion 360 Challenge

      Tinkercad to Fusion 360 Challenge
    • Colors of the Rainbow Contest

      Colors of the Rainbow Contest



    11 years ago on Step 5

    How did you attach the servos to the camera-holding structure??


    Reply 11 years ago on Step 5


    I attach the structure servo with small wire thru the servo arm and the L bracket.
    I attach the base servo with small screws.
    The servo on the shutter is held by "colson" (plastic clips).

    Thx for your interest and sorry for the delay.


    11 years ago on Step 8

    I found the maker: Shenzhen, China. Everyone selling this item does so through a generic website with no US address and wants either Paypal or a bank transfer to China. Not something I'd be willing to do. On top of that, the design is not open. Never mind an eagle cad file, they don't even have a schematic available.

    I think this would be an excellent opportunity to make an open shield similar to what the Chinese are selling. But with a schematic and eagle cad file included for download. Especially since all the shield seems to do is bring Vcc and GND out to all the Arduino data lines with either headers or some other type secure locking connectors.

    I'll post a link here if I get around to designing something similar. In the mean time, think I'll just use a proto shield or bread board.


    Reply 11 years ago on Step 8

    Yes, the "servo shield" I bought was "made in asia". I don't have the precise location... I sometimes pay with Paypal which allows refund (no problem so far).

    Yes, it would be nice to have the same shield "open source" if it isn't yet. I really don't know about the licence or available files.
    My purpose wih this project was to have fun (and to workaround the soldering as much as possible).

    Sure, breadboard or anything similar would be ok.
    You might have to patch the sketch (using 3 servos, 1 analog keypad, 1 LCD). Simply locate/update the lines starting with "#define PIN_" to match your choices.


    11 years ago on Step 8

    Where did you get the "servo shield"? There are at least a half dozen shields that fit the servo shield description. But non I could find in a google search turned up the one pictured. Who sells the above pictured shield and is it open source hardware?


    Reply 11 years ago on Step 8

    Thanks for comment!

    I didn't noticed there were so much shields

    I used the "Sensor Shield V4" search for this *wonderful* shield; I mean we don't need soldering skills ;-) This is a plug'n'*have*fun* !

    I don't find it directly from
    If you can wait, I suggest e*Bay (search "arduino sensor shield").


    Reply 11 years ago on Step 8

    Oups! (some details are only available in the "sketch" source file)

    Check for "#define PIN_SERVO_"... in for details.

    Digital pin 4 --> base servo
    Digital pin 5 --> head servo
    Digital pin 6 --> servo on the shutter


    11 years ago on Introduction

    wow super interesting camera tripod. could this be used similar to a gigapan?


    Reply 11 years ago on Introduction

    Thanks for your comment !

    I haven’t tried a gigapan so far.

    As a *quick* patch, I suggest to add an “zoomed panorama” option to the main menu (see function loop()).
    Copy the optionMenuPanorama() function, rename it and update the increments in the “for” loops.
    Set these increments to smaller values matching your focal length.
    The whole process (shooting and stiching) would be slower… But it should work.