PCA9685 16-Channel Servo Controller Module


Servo controller for servo-based robots!

6 in stock

Add to Wishlist
Add to Wishlist
SKU: MDU-DVR-SRV-PCA9685 Categories: , Tags: , , , ,


This module is a breakout board for using the NXP PCA9685 16 channel PWM controller. It features 16 fully programmable PWM outputs with a 12-bit resolution giving a total of 4096 programmable steps with a duty cycle being adjustable from 0% to 100%. Additionally, the output frequency of all 16 channels can be programmed from 24Hz to 1526Hz. Intended for controlling the brightness of multiple LEDs, the programmability of its PWM outputs means that it can also be configured for producing PWM signals compatible with driving standard servos. In fact, this module has been designed with this purpose in mind with 16 sets of headers that allow for any servo with a standard header to be directly plugged into the module.

External 5V can be input into the module via the screw terminal for driving large number of servos and PWM devices.

The module only requires two data pins (SDA & SCL) to do the controlling. Open jumper pads on the module can be soldered to change the I2C address (by default 0x40) to one of 62 options, meaning more than one module can be connected to the same I2C bus.

This module can be used by various devices such as Arduino, ESP8266, ESP32 or the Raspberry Pi Pico.


  • Logic voltage : 2.3 – 5.5 V
  • External 5V power on screw terminal
  • Outputs are designed to fit with servo pins
  • Can accept PWM frequencies from 24Hz to 1526Hz
  • Configurable I2C address (0x40 by default)
  • 64 available I2C addresses for extending the module



Additional information

Weight 15 g
Dimensions 63 × 26 × 10 mm


There are no reviews yet.

Be the first to review “PCA9685 16-Channel Servo Controller Module”

Your email address will not be published. Required fields are marked *