The Gigabot Project
Building up an inexpensive high resolution panoramic robot from LEGO
Part 1: Building and assembly
- a camera with a tele lens, cable release (something
cabled where you can press a button) and a solid tripod
- LEGO NXT®
controller unit, 2 motors and some Lego technic®
- Panoramic head (can be self made), single-row or
- a large disk, wooden, metal or pastic, whatever you have
- nylon string
- 2 adapter screws from your local camera shop (see below)
- Some DIY-parts and tools
|The central part of the robot is a large disk where
the motor will travel around. This disk doesn't necessarily have
to be built with high precision. The diameter of the disk should
be chosen as large as possible but smaller than the "arm"
of your panorama head (watch the photos to see why).
|The important feature of the disk is a notch
that will act as a guide for the nylon string that will later
span around the disk. In my case, I have used 3 thin plywood
pieces left over from some broken photo frames.
The radius of the middle disk is a few millimeters smaller than
the outer ones. This notch is half-filled with some heat bonding
plastic, so our string can neither slip nor slump.
|To be able to firmly mount disk and head on the
tripod, I bought an adapter screw from a local camera
shop. This adapter screw sits in between tripod mount and
The thickness of the disk is chosen a few 1/10th millimeters
less than the "thickness" of the adapter screw. This will
squeeze the disk between tripod and panohead and therefore
provide a self-fastening mount for the disk.
|Now we can start building the actuator
responsible for rotating the panohead. On the right you can see
this motor with some sort of simple gear to reduce speed and
Wrap the nylon string around the axle several times and knot
both ends together to build a loop that you can later wrap
around our disk.
See detailed building instructions for
the "motor" part.
|To be able to fasten the motor on the arm of the
panohead, I bought a second adapter screw (with a little longer
thread than the first one). A small piece of plywood acts as a
mounting plate, holding the motor as well as the adapter screw.
As you can see, I used another simple screw to fasten the motor
on this plate.
Ensure that the axle with the nylon string will later align with
the notch of the disk, otherwise the string will tend to slip
|Now we can attach the mounting plate on the arm
of the panohead.
|Now we have to actuate the cable release. This
is the task of the second motor. Build a fixture for the cable
and use the motor with an attached LEGO brick to press the
See detailed building instructions for
the "shutter" part.
|The panohead I'm using is big enough to simply
pile the NXT controller on its arm. To prevent the controller
slipping off, I use some detachable DIY gum.
You are free to use adhesive tape or an even more professional
|You may now attach the shutter to the controller
See detailed instructions on assembling
the robot and the panohead.
|Seen from the bottom...
|That's all folks. We are finished. If you don't
have 2 left hands, you should end up with something like this:
Part 2: programming the robot
I assume you are familiar with the NXT-G programming environment
(that's the one delivered with the NXT®
Robot), so I'm including only basic instructions.
This is Version 2 beta:
You can either download the
Compiled Binary or
the Source Files.
Binary: Ver. 0.3c (older
Source: Ver. 0.2b
Open the readme in the zip
file. It contains the instructions how to install und use the software.
For your convenience, here's a copy of the included
The robot assumes you are working from left to right: Right
button should move the view to the right, left button vice
First step: Define the left and right border of your panorama
Second step: Define the FOV. This is done by learning the robot
the angle between 2 shots.
The angle can be defined at any position inside the panorama's
Third step: Shoot a single row.
If you experience any problems, you can press the "enter"
The robot will stop and ask you to either:
- continue shooting
- go back to repeat last shot (you can go back more than one
shot if you like)
Tilt the camera and repeat the row.
Please mail me at