Desktop RoboTurret V3 Getting Started

The Desktop RoboTurret is a Arduino based physical computing platform. This 2-Servo Robotic kit is a great introduction into the world of Arduino and robotics. The standard kit comes with a pushbutton and joystick for control, as well as a laser that can be mounted on the turret. Add-on kits allow control via a Wii nunchuk and vision tracking using a PC.

This guide will help you setup the hardware and software for the RobotGeek Desktop RoboTurret.


  1. Setting up the Arduino Software
  2. Centering your Servos
  3. RoboTurret Assembly
  4. Testing the Turret
  5. Controlling the Turret
  6. Demos and Projects
  7. RobotGeek 101

1. Setting up the Arduino Software

Geekduino Getting Started Guide

If you have not already set up your Geekduino/ Arduino compatible board, please see the Geekduino Getting Started Guide. This guide will assist you in getting set up with the Arduino software as well as install libraries and test sketches for the RoboTurret. Even if you do not have a Geekduino, you should follow through this guide to grab the test sketches you will be using throughout the RoboTurret getting started guide.

2. Centering Your Servos


Servo motors act like robotic joints - you can set them to specific positions to move your robot to different positions. This means that the servo needs to be set to s specific position before assembling your robot, or it will not work correctly. We are going to 'center' the servos, setting them to halfway between their maximum and minimum position. To begin centering your servos, we're going to have to set up your test rig. This is incredibly easy to do with a RobotGeek Sensor Shield. Start by attaching your Sensor Shield to your Geekduino/Arduino Compatible board. Slot the bottom pins of the RobotGeek Sensor Shield into the terminals in the top of the Geekduino. Note how the boards seat evenly on top of each other, and the pins line up exactly. Be careful not to bend the pins.

Device Sensor Shield Port
Pan RobotGeek Servo Digital 10
Pan RobotGeek Servo Digital 11
Jumpers and Power

RobotGeek servos must be powered by an external power supply like the 7v5A power supply included with your kit. If you have servos plugged in to the shield and do not have the external power supply plugged into your Geekduino you will see erratic behavior.

You will also need to adjust your shield to make sure the power is getting to the servos correctly. Make sure that you have both of the jumpers on the Sensor Shield set to Voltage In (VIN) If you would like more information about this, check out the Jumpers/Power section of the RobotGeek 101 learning series.


The following code will set any servos on pins 10 or 11 to a centered position (90°).

This code will both test and center your servos. Each servo will move do 45 degrees, 125 degrees, then 90 degrees. If you want to restart the movement, just push the reset button on your Geekduino. Make sure to only run this code when nothing is attached to your servos. Running this code on an assembled robot could damage the robot or servos.

File > Sketchbook > RobotGeek sketches > Tools > centerServo

If you cannot find this sketch, make sure you have setup your Libraries in the Geekduino Getting Started Guide. You can load this code using the same method as you used to load your test code on the Geekduino Getting Started Guide.

Installing Servo Horns

Once the RobotGeek Servos have stopped moving, they are centered and you can install the servo horn. To line up the horn, place it with the notch facing up. If it does not slide on easily, or it clicks into place with the holes not facing cardinal directions, ignore the notch, remove the horn, rotate it about 45 degrees and try again. Repeat until the top and bottom holes are aligned as close to exactly North and South of the center, as shown.

Warning: Do not rotate the center shaft during this process. This was aligned when you ran the centerServo tool in the above step.

b_500_500_16777215_00__images_tutorials_rgServo_center3.jpg b_500_500_16777215_00__images_tutorials_rgServo_center4.jpg b_500_500_16777215_00__images_tutorials_rgServo_center5.jpg

Your servos don't need to be 'perfectly' aligned, but the closer you can get, the better the robot will operate. Once your horn is ready, use a black phillips bolt included with the horn to secure the horn to the servo.

One of your RobotGeek servos will also need an idler horn. Idler horns are passive horns on the opposite side of the main servo horn. The idler horn allows you to connect a hinge bracket to the servo. The remaining one servo will not need an idler horn.

Install the idler horn on the back of the servo and secure it with the silver screw. Orientation on the idler horn does not matter.

b_500_500_16777215_00__images_tutorials_rgServo_idle1.jpg b_500_500_16777215_00__images_tutorials_rgServo_idle2.jpg b_500_500_16777215_00__images_tutorials_rgServo_idle3.jpg

If you'd like more information on centering servos, see this page for more information and a video on centering servos.

3. RoboTurret Assembly

Assembly Guide.

This guide will show you how to build the basic Desktop RoboTurret. At the end of the assembly guide there are also several optional steps for the 3 available control options:

  • Joystick and Pushbutton Control (Parts for this comes with every kit)
  • Wii Nunchuk (Upgrade Kit)
  • Vision Tracking (Upgrade Kit)

Please keep in mind that the sample code is designed for one configuration at a time, and not for mixing control methods. However mixing control methods is possible if the user makes the proper code modifications.

4. RoboTurret Testing

Before you start using your RoboTurret, you should load the test sketch onto your RoboTurret. This sketch will run a few pre-programmed movements so that you can verify your turret has been assembled correctly. You can find the sketch here:

File -> Sketchbook -> RobotGeek sketches -> Tests -> libraryTest -> roboTurret3_test

Wiring for the Test is as follows:

Device Pin Type Pin #
Pan Servo Digital 10
Tilt Servo Digital 11
Laser Digital 2

Once loaded, the turret should begin to exhibit the following behavior:

  • Turn the laser on
  • Move both servos to the centered position
  • Move the Pan Servo from right to left, then left to right
  • Move the Tilt Servo Forward to back, then back to forward.
  • Turn the laser off/on two times.

5. Controlling the RoboTurret

Desktop RoboTurret Demo Code

Wiring for joystick control is as follows:

Device Pin Type Pin #
Pan Servo Digital 10
Tilt Servo Digital 11
Laser Digital 2
Pushbutton Digital 4
Joystick (Horizontal) Analog 0
Joystick (Vertical) Analog 1

All of the RoboTurret demo code can be downloaded here. Once you unzip the file, rename the desktopRoboTurretV3-master folder to desktopRoboTurretV3. Put the desktopRoboTurretV3 folder in your RobotGeek sketches folder.

Documents -> Arduino -> RobotGeek sketches	

Now start/restart your Arduino IDE. Once the IDE is open, you can open the Analog Joystick Control demo.

File -> Sketchbook -> RobotGeek Sketches -> desktopRoboTurretV3 -> roboTurret3_joystick  

The joystick will allow you to incrementally control the pan and tilt servo - left and right will move the pan servo while up and down will move the tilt servo.

Pressing the pushbutton will toggle the laser.

Do you want to learn more about Analog Inputs and Servo Control? Check out our RobotGeek 101 Lessons

6.Projects and Demos

RobotGeek 101

Are you ready to dive even deeper into the world of Arduino? Then take a look at Robotgeek 101! RobotGeek 101 is a step by step guide that will teach you how to build, wire, and program your Geekduino/Arduino. Through RobotGeek 101 you will learn the basics of Arduino like digital input and output, and move on to more advanced topics like PWM and servo control. By the end of RobotGeek 101 you'll be well equipped to start modifying our demo code and creating your own custom applications.

RobotGeek 101

Feedback Form