PiPan Pan And Tilt Mechanism For Raspberry Pi Camera


PiPan #05The OpenElectrons “PiPan” is a pan and tilt mechanism for the Raspberry Pi Camera Module. I’ve used the Pi camera in a few projects but this is the first bit of commercial Pi camera hardware I’ve had the chance to play with.

The project was successfully funded on Kickstarter on 11th September 2013.

It consists of a kit which when assembled allows you to move your camera in both horizontal and vertical directions. To achieve this is uses two small servos and a control board which can be controlled using Python. It can pan 180 degrees (from left to right) and tilt 110 degrees (top to bottom) although I haven’t been able to test this yet.

PiPan #01I mounted my PiPan on a standard perspex Pi case with the screws supplied with the servos. The control board plugs directly on the Pi’s GPIO header and can be seen inside the case.

The biggest challenge is mounting the unit on a stable platform while ensuring the range of movement isn’t restricted by the camera’s ribbon cable.

The Python interface is fairly easy to get started with and it only takes a few lines to initialise the servos and send them to a specified position. Using a modified version of one of the supplied example Python scripts I ran the PiPan through a short sequence of moves which you can see in the following video :

The kit is a beta design and there are a few tweaks expected for the retail version. This will include improvements in both the supplied hardware and software.

Here are some additional photos of my PiPan :



  1. There must be a better way of rotating the Pi’s camera around a point much closer to it’s nodal point. Stitching the resulting pictures with the PiPan will be nearly impossible for shots with close elements. Are there any different servo configurations you support?

  2. Nice build. It might be a good idea to fix the cam and then tilt and pan the whole raspberry pi case and then the ribbon can stay still. I am trying to do the same thing with the piface card but still too new to motor control. Here is the command that I use for streaming video to VLC on a windows machine after opening port 5900 on the router… sudo raspivid -o – -t 0 -hf -w 800 -h 400 -fps 24 | cvlc -vvv stream:///dev/stdin –sout ‘#standard{access=http,mux=ts,dst=:5900}’ :demux=h264

    • The problem with moving the Pi is the power cable gets in the way and it’s much heavier than the camera module. You would need bigger servos to cope with the weight.

Leave A Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.