This manual explains the features, wiring, I2C setup and Python examples for controlling up to 16 servos with the Waveshare Servo Driver HAT on a Raspberry Pi.
The Servo Driver HAT is a Raspberry Pi‑compatible expansion board that uses a PCA9685 chip to provide 16‑channel 12‑bit PWM/servo control via the I2C bus. It includes an on‑board 5 V regulator, supports 6‑12 V input, and can supply up to 3 A to the servos.
The guide covers hardware connections, enabling I2C on the Pi, and provides Python 2/3 example programs for direct PWM control, Wi‑Fi remote control, and Bluetooth remote control. It also details the PCA9685 library functions and required parameters for proper servo operation. This manual is written in Chinese.
| Input Voltage (VIN) | 6 V~12 V |
|---|---|
| Servo Voltage | 5 V |
| Logic Voltage | 3.3 V |
| Driver Chip | PCA9685 |
| Control Interface | I2C |
| Board Size | 65 mm × 30 mm |
| Mounting Hole Diameter | 3.0 mm |
| Maximum Output Current | 3 A |
| Number of Channels | 16 |
| PWM Resolution | 12 bit |
Run sudo raspi-config, select Interfacing Options → I2C and choose Yes.
Set the PWM frequency to 50 Hz using the setPWMFreq(50) function.
The board provides 16 PWM channels, allowing up to 16 servos to be controlled at once.
The board accepts an input voltage between 6 V and 12 V.