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

Buy on Amazon
PCA9685 16 Channel PWM Servo Driver Module I2C Interface for Arduino ESP32 ESP8266 Raspberry Pi Click to zoom
PCA9685 16 Channel PWM Servo Driver Module I2C Interface for Arduino ESP32 ESP8266 Raspberry PiPCA9685 servo driver with 16 channels and 12-bit resolution PWM control16 channel servo driver module showing PCA9685 chip and connector groupsPCA9685 PWM driver with I2C interface and cascade support for roboticsPCA9685 servo driver module wiring diagram with Arduino UNO boardPCA9685 16 channel PWM controller connected to ESP32 development board

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