DIYables PCA9685 16 Channel PWM Servo Driver Module, I2C Interface, 5V Compatible for Arduino, ESP32, Raspberry Pi, 12 Bit Resolution, 2 Pieces
Click to zoom





Quick Overview
The DIYables PCA9685 16 Channel PWM Servo Driver Module is a powerful controller that drives up to 16 servo motors simultaneously using only two I2C pins (SDA and SCL). Built around the PCA9685 chip with an internal clock, this module eliminates the need for continuous signal refresh from your microcontroller, freeing up processing power for other tasks. With 12-bit resolution per channel providing approximately 4 microsecond precision at 60Hz, it delivers smooth and accurate servo and LED control for Arduino, ESP32, ESP8266, and Raspberry Pi projects.
This 2-pack module supports cascading up to 62 driver boards on a single I2C bus for a total of 992 PWM outputs, making it ideal for large-scale robotics projects. The board features 5V compatibility with reverse polarity protection, a green power indicator light, and four groups of three-pin connectors for fast servo insertion. Each channel can be individually controlled with precise PWM signals, and the onboard voltage regulator ensures stable operation. The I2C interface allows address configuration for multi-board setups.
Perfect for robotics projects, multi-servo control systems, humanoid robots, robotic arms, hexapods, animatronics, LED dimming applications, and automation projects. The minimal two-pin I2C connection saves precious GPIO pins while providing professional-grade servo control. Ideal for makers and developers working with Arduino, ESP32, ESP8266, Raspberry Pi, and other microcontroller platforms requiring simultaneous multi-servo operation.
Key Features
- 16 Channel PWM Servo Control — Drives up to 16 servo motors at the same time using only two I2C pins, compatible with Arduino, ESP32 and Raspberry Pi
- Built-in Clock and I2C Communication — PCA9685 chip includes an internal clock so continuous signal refresh from the microcontroller is not required
- High Resolution Output — 12-bit resolution per channel provides smooth and accurate servo and LED control with about 4 microsecond precision at 60Hz
- Cascade and Multi-Board Support — Supports up to 62 driver boards on one I2C bus for a total of 992 PWM outputs for large robotics projects
- Safe and Easy Connection — 5V compliant with reverse polarity protection, green power indicator light, and four groups of three-pin connectors for fast servo insertion
- Minimal Pin Usage — Uses only 2 I2C pins (SDA, SCL) instead of 16 individual PWM pins, freeing up GPIO for other uses
- Individual Channel Control — Each of the 16 channels can be independently controlled with precise PWM duty cycle
- Adjustable PWM Frequency — Supports PWM frequency range from 24Hz to 1526Hz for various servo and LED applications
- Onboard Voltage Regulator — 5V regulator ensures stable operation with external servo power supply
- Address Configuration — I2C address can be configured via solder jumpers for multi-board cascade setups
- No Continuous Refresh Needed — Internal oscillator maintains PWM signals without microcontroller intervention
- Low Microcontroller Load — Offloads PWM generation from microcontroller, freeing CPU for other tasks
- LED Control Capable — Can control LED brightness and dimming in addition to servo positioning
- Wide Compatibility — Works with Arduino, ESP32, ESP8266, Raspberry Pi, and other microcontrollers with I2C support
- Tutorial Support — Comprehensive tutorials for Arduino, ESP32, ESP8266, and Raspberry Pi servo control
- Versatile Applications — Perfect for robotics, multi-servo systems, humanoid robots, robotic arms, hexapods, animatronics, LED arrays, and automation projects
- ...NOTE
- Important: Provide external power to the servo terminal if driving multiple servos or high-torque servos. The 5V regulator on the board powers the PCA9685 chip logic, but servos should be powered separately to avoid overloading the regulator. Connect servo power to V+ and GND terminals.
- ...NOTE
SPECIFICATION
| Specification | Value |
|---|---|
| Product Type | 16 Channel PWM Servo Driver Module |
| Model/Chip | PCA9685 (NXP Semiconductors) |
| Number of Channels | 16 (independent PWM outputs) |
| Resolution | 12-bit (4096 steps) |
| PWM Frequency Range | 24 Hz to 1526 Hz (adjustable) |
| Typical PWM Frequency | 50 Hz to 60 Hz (for servos) |
| Precision | Approximately 4 microseconds at 60 Hz |
| Operating Voltage | 2.3 V to 5.5 V DC (logic) |
| Servo Power Input | 5 V to 6 V DC (via V+ terminal) |
| Logic Level | 3.3V and 5V compatible |
| Interface | I2C (IIC) |
| I2C Pins Required | 2 (SDA, SCL) |
| Default I2C Address | 0x40 |
| Address Range | 0x40 to 0x7F (configurable) |
| Cascade Support | Up to 62 boards on one I2C bus |
| Total PWM Outputs | Up to 992 outputs (with 62 cascaded boards) |
| Internal Clock | Built-in 25 MHz oscillator |
| Continuous Refresh | Not required (internal clock maintains signals) |
| Reverse Polarity | Protected |
| Power Indicator | Green LED |
| Connector Type | Four groups of three-pin servo connectors |
| Dimensions | Approximately 62mm x 25mm |
| Package Quantity | 2 pieces |
| Compatibility | Arduino, ESP32, ESP8266, Raspberry Pi, Arduino Nano ESP32, Arduino Uno R4, and other microcontrollers with I2C support |
| Applications | Multi-servo robotics, humanoid robots, robotic arms, hexapods, animatronics, LED dimming, automation, servo control systems |
PACKAGE
A package includes:
| Qty | Items |
|---|---|
| 2 | PCA9685 16 Channel PWM Servo Driver Modules |
Library
- ...ARDUINO
https://github.com/adafruit/Adafruit-PWM-Servo-Driver-Library
...ARDUINO
COMPATIBLE HARDWARE
- Arduino boards (UNO, Mega, Nano, etc.) — I2C connection via SDA/SCL pins (A4/A5 on UNO), 5V compatible
- Arduino Uno R4 WiFi/Minima — Direct I2C connection with 5V or 3.3V logic
- ESP32 development boards — I2C on GPIO21 (SDA) and GPIO22 (SCL) typical, 3.3V logic compatible
- ESP8266 boards (NodeMCU, Wemos D1, etc.) — I2C on D1 (SCL) and D2 (SDA) typical, 3.3V logic compatible
- Raspberry Pi (all models) — I2C via GPIO2 (SDA) and GPIO3 (SCL), 3.3V logic compatible
- Raspberry Pi Pico — I2C on configurable GPIO pins with 3.3V logic
- Arduino Nano ESP32 — I2C connection with 3.3V logic compatibility
- Any microcontroller with I2C interface — 2.3V to 5.5V logic compatible with SDA/SCL pins
- Standard servo motors — 3-wire servos (signal, power, ground) operating at 5-6V
- Micro servos and mini servos — Compatible with all standard hobby servos
- High-torque servos — Supported with proper external power supply
- Continuous rotation servos — Full speed and direction control via PWM
- LED strips and modules — PWM-based LED brightness and dimming control
- Robotic arms and grippers — Multi-servo coordination for complex movements
- Hexapod and quadruped robots — Simultaneous control of multiple leg servos
- Humanoid robots — Coordinate many servos for articulated motion