The Servo Six board simplifies the process of connecting up to six servo motors to a Raspberry Pi or Arduino.

servo_six

The Servo Six has the following features:

  • Screw terminals for servo power supply
  • Reverse-polarity protection for the servo power supply
  • 470µF 16V capacitor for servo supply
  • 470Ω current limiting resistors for servo control lines (to protect GPIO pins)
  • Power indicator LED


Connecting a Servo Six board to a Raspberry Pi

To connect a ServoSix board to a Raspberry Pi you need a female to female jumper wire to connect ground (GND) on the Raspberry Pi to GND on the ServoSix board. For each servo (up to six) that you want to control, you also need a female to female jumper wire connecting the control pin for that servo on the ServoSix board to one of the GPIO pins on the Raspberry Pi.

As a hint, the ServoSix board has the GPIO pin to be used with a particular control pin written next to it.

servo_six_pi web

So, looking at the picture above, the left most pin is GND and should be connected to a GND pin on the Raspberry Pi. The next pin along (control pin 1) should be connected to GPIO17 on the Raspberry Pi, control pin 2 on the ServoSix to GPIO18 and so on.

Power for the motors must be supplied separately using the screw terminal on the right.

servo_six_pi web

Software

For use with Raspberry Pi, we have created a Python library based on Richard Hurst’s ServoBlaster code. You can download the Servo Six Python library from Gitub. This allows accurate servo positioning with a nice easy to use Python interface:

from servosix import ServoSix
ss = ServoSix()
try:
while True:
  servo = input("servo:")
  angle = input("angle:")
  ss.set_servo(servo, angle)
finally:
  ss.cleanup()

You will find full documentation for the library in the Github repository.

When using the Servo Six with an Arduino, you can just use the standard Arduino Servo library.

servo_six_ardu web