PCA9685 16 Channel 12 Bit I2C PWM Servo Motor Driver Module For Arduino
This PCA9685 i2c-controlled 16-Channel 12-Bit PWM Servo Driver can help a lot when there are insufficient PWM output pins for the MCU in your project. Make a robot, hexapod walker, or drive multiple LEDs with precise PWM control.
Using only two pins, control 16 free-running independently-addressable PWM outputs! You can even chain up 62 breakouts to control up to 992 PWM outputs. Simply enable the I2C communication between the MCU and the PCA9685 16-channel 12-bit PWM driver, so as to control multiple servos simultaneously.
i2c-controlled PWM driver with a built-in clock. That means that you do not need to continuously send it a signal, tying up your microcontroller. It is completely free running!
5V compliant, you can control it from a 3.3V microcontroller and still safely drive up to 6V outputs (this is good for when you want to control white or blue LEDs with 3.4+ forward voltages)
6 address select pins so you can wire up to 62 of these on a single i2c bus, a total of 992 outputs
Adjustable frequency PWM up to about 1.6 KHz
12-bit resolution for each output. For servos, that means about 4us resolution at a 60Hz update rate
Configurable push-pull or an open-drain output
The output enable pin to quickly disable all the outputs
Terminal block for power input (or use the 0.1″ breakout pins on the side)
Reverse polarity protection on the terminal block input
Green power-on LED
3 pin connectors in groups of 4 so you can plug in 16 servos at once (Servo plugs are slightly wider than 0.1″ so you can only stack 4 next to each other on 0.1″ header)
220 Ohm series resistors on all the output lines to protect them, and to make driving LEDs trivial
Solder jumpers for the 6 address select pins
Fully assembled and tested
1 x PCA9685 16 Channel 12-bit PWM Servo Motor Driver I2C Module
Printed Operation and Programming Instruction