Was £9.99, now £8.99 (ex VAT)
The Servo Pi is a 16-channel, 12-bit PWM controller suitable for driving LEDs and radio control servos. The board is based around PCA9685 PWM I2C LED controller IC from NXT and can drive each of the 16 outputs with 12 bit (4096 steps) duty cycle from 0% to 100%.
The output frequency is programmable from a typical 40Hz to 1000Hz. Each output driver is programmed to be either open-drain with a 22 mA current sink capability at 5 V or totem pole with a 22 mA sink, 10 mA source capability at 5 V. 220R current limiting resistors are used on each channel allowing you to connect servos or LEDs directly to the outputs.
The Servo Pi is pin compatible with the the Raspberry Pi model B+.
The PCA9685 contains 5 I2C address selection pins which can be configured using solder bridges on the Servo Pi PCB. Using different I2C addresses on your Servo Pi allows you to stack several boards on a single Raspberry Pi, see the data-sheet for more details on I2C address selection. The active LOW Output Enable input pin (OE) on the PCA9685 allows asynchronous control of the LED outputs and can be used to set all the outputs to a defined I2C-bus programmable logic state. The OE can also be used to externally ‘pulse width modulate’ the outputs, which is useful when multiple devices need to be dimmed or blinked together using software control. The OE pin can be connected to pin 7 (GPIO 4) on the Raspberry Pi GPIO port by bridging the solder pads on the Servo Pi marked OE.
Connecting RC Servos
The Servo Pi is only compatible with analogue RC servos, digital servos will not work. While the Servo Pi uses a 12 bit (4096 step) controller due to the way RC servos are designed only approximately 200 steps will be available for controlling the servo. You can find an example python library for controlling an RC servo at https://github.com/abelectronicsuk/ABElectronics_Python_Libraries/tree/master/ServoPi
Powering the Servo Pi
For safety reasons the Servo Pi is not connected to the 5V power rail on the Raspberry Pi.
Due to the high currents used on radio control servos and other PWM devices it is recommended that you use an external 5V power supply to power the Servo Pi. External power can be provided through the 5V and GND pads on the Servo Pi. If you use two power supplies, one for the Raspberry Pi and one for the Servo Pi please ensure that the ground wires on the two supplies are joined and do not have any potential difference between them. Any potential difference between the grounds could damage the Raspberry Pi and yourself.
If you are using the Servo Pi for low current applications, below 300mA, you can power the Servo Pi through the 5V pins on the Raspberry Pi GPIO port by bridging the “PWR Link” pads with a blob of solder.
Bridging the “PWR Link” pads will also allow you to power your Raspberry Pi from the Servo Pi power pins using an external 5V power supply but please note this will bypass the internal fuse on the Raspberry Pi leaving it vulnerable to damage from short circuits on any of the GPIO pins.
Servo Pi Datasheet, Address Selection & Schematic