Description
The PCA9685 is an I2C-controlled 16-channel PWM controller with a built-in clock, allowing it to generate PWM signals independently without continuously occupying the microcontroller. Each output provides 12-bit resolution with adjustable PWM frequency and duty cycle.
The module can control up to 16 servos using a single board and can be connected to multiple boards through the I2C bus. Up to 62 boards can be cascaded, providing up to 992 PWM outputs for larger robotics and automation projects.
Features
- I2C-controlled PWM driver with a built-in clock for free-running PWM outputs.
- 5V-compliant interface, allowing control from 3.3V microcontrollers.
- Uses only two microcontroller pins to control 16 independent PWM outputs.
- Supports cascading up to 62 driver boards on a single I2C bus.
- Provides 16 servo connections through four groups of 3-pin connectors.
- 12-bit resolution provides 4096 PWM steps, equivalent to approximately 4µs resolution for servos at a 60Hz update rate.
- Adjustable PWM frequency from approximately 24Hz to 1.6kHz.
- Configurable push-pull or open-drain outputs.
- Output Enable pin allows all outputs to be disabled quickly.
- Six address selection pins for configuring multiple boards on the same I2C bus.
- Module Size: 62 × 26 mm
Related Data
- PCA9685 Datasheet
- Adafruit PWM/Servo Driver Library
- PWM/Servo Driver with Arduino Tutorial
Specification
- Controller: PCA9685
- Number of PWM Channels: 16
- PWM Resolution: 12-bit (4096 steps)
- Interface: I2C
- PWM Frequency: Approximately 24Hz to 1.6kHz
- Typical Servo Update Rate: 60Hz
- Servo Resolution: Approximately 4µs at 60Hz
- Address Selection: 6 address select pins
- Maximum Boards on One I2C Bus: 62
- Maximum PWM Outputs with Cascaded Boards: 992
- Output Mode: Push-pull or open-drain
- Output Enable: Yes
- Module Size: 62 × 26 mm











Reviews
There are no reviews yet.