PCA9685 16-Channel 12-Bit PWM Servo Driver – External Servo Power Supply
Product Description
The PCA9685 16-Channel 12-Bit PWM Servo Driver is a dedicated PWM controller designed to control multiple servos and PWM devices using an I2C interface. It provides 16 independent PWM channels, allowing a microcontroller such as Arduino, ESP32, or Raspberry Pi to control multiple servos while using only two I2C communication lines.
The board includes a separate power input for the servo supply, allowing the servos to receive power directly from an external power source instead of drawing their current from the microcontroller.
Key Features
- 16 independent PWM output channels.
- 12-bit PWM resolution.
- PCA9685 PWM controller.
- I2C communication interface.
- Uses only SDA and SCL for communication.
- External power input for connected servos.
- Suitable for controlling multiple servo motors.
- Adjustable PWM frequency.
- Can control standard hobby servos and other PWM-controlled devices.
- Multiple PCA9685 boards can be used on the same I2C bus with different addresses.
- Suitable for Arduino, ESP32, Raspberry Pi, and other microcontroller projects.
Technical Specifications
| Specification | Details |
|---|---|
| Controller | PCA9685 |
| PWM Channels | 16 |
| PWM Resolution | 12-bit |
| Communication | I2C |
| Interface Pins | SDA / SCL |
| PWM Frequency | Up to approximately 1.6kHz |
| Servo Power | External power input |
| Logic Supply | Typically 3.3V–5V compatible |
| I2C Address | Configurable |
| Output Type | PWM |
| Applications | Servos, LEDs & PWM Devices |
Applications
- Multi-servo robotic systems.
- Robotic arms.
- Humanoid robots.
- Pan-tilt mechanisms.
- RC and model projects.
- Arduino and ESP32 projects.
- Raspberry Pi robotics projects.
- LED PWM control.
- Automation systems.
- Projects requiring multiple independent PWM outputs.
How It Works
The PCA9685 communicates with the main controller through the I2C bus, using the SDA and SCL lines. The controller sends the desired PWM settings to the PCA9685, which then generates the PWM signals for its 16 independent output channels.
The servos can be powered through the board’s external servo power input, reducing the load on the Arduino, ESP32, or other microcontroller power supply.
Important Note
The external power supply is intended to provide the current required by the connected servos. Do not power multiple high-current servos directly from the microcontroller’s 5V pin.
The external servo supply voltage should match the voltage requirements of the connected servos. Also, the external power supply ground and the microcontroller ground must normally be connected together to provide a common reference for the PWM signals.
TT Motor with plastic gear and wheel 














