Are you dreaming of building a super cool robot, like a hexapod walker, or a piece of art full of moving parts? Maybe you want to drive numerous LEDs with precise PWM output. But then you find out that your microcontroller has limited PWM outputs. Don't worry! You don't have to give up. Just grab this awesome PWM and Servo driver breakout.
When we first saw this chip, we knew right away it was a great addition. With just two pins, you can control 16 free - running PWM outputs! You can even connect up to 62 breakouts to manage as many as 992 PWM outputs. Imagine how amazing that would be!
Here are its great features:
- It's an I2C - controlled PWM driver with a built - in clock. Unlike the TLC5940 family, it runs freely without constantly tying up your microcontroller.
- It's 5V compliant. You can control it from a 3.3V microcontroller and safely drive up to 6V outputs, perfect for white or blue LEDs.
- There are 6 address select pins, allowing you to wire up to 62 of these on a single I2C bus, giving you a total of 992 outputs for servos or LEDs.
- The adjustable frequency PWM goes up to about 1.6 KHz.
- Each output has 12 - bit resolution. For servos, that means about 4us resolution at 60Hz update rate.
- You can configure the output as push - pull or open - drain.
- There's an output enable pin to quickly turn off all outputs.
The chip comes on a breakout board with some nice extras:
- A terminal block for power input (or use the 0.1' breakouts on the side).
- Reverse polarity protection on the terminal block input. The terminal block might be blue or black.
- A green power - good LED.
- 3 - pin connectors in groups of 4, so you can plug in 16 servos at once.
- A 'chain - able' design.
- A spot for a big capacitor on the V+ line if needed.
- 220 ohm series resistors on all output lines to protect them and make driving LEDs easy.
- Solder jumpers for the 6 address select pins.
This product includes a fully tested and assembled breakout, 4 pieces of 3x4 male straight header, a 2 - pin terminal block, and a piece of 6 - pin 0.1' header. A bit of light soldering is needed to assemble and customize the board, but it only takes about 15 minutes, even for beginners. If you prefer right - angle 3x4 headers, we have them in the shop. Check out our tutorial with CircuitPython & Arduino libraries, wiring diagrams, schematics, Fritzing and more!
![Adafruit 16-Channel 12-bit I2C PWM/Servo Driver [PCA9685] with Handy Features](https://img.freedoshvs.com/usImg/3f/35dbd9c874f212bcfdf5ff3c70461f6e.jpg)
![Adafruit 16-Channel 12-bit I2C PWM/Servo Driver [PCA9685] with Handy Features](https://img.freedoshvs.com/usImg/3f/680e8954fd06485083b2b45b2d595455.jpg)
![Adafruit 16-Channel 12-bit I2C PWM/Servo Driver [PCA9685] with Handy Features](https://img.freedoshvs.com/usImg/3f/58f8538dcf657f7d61249c46646e5dab.jpg)
![Adafruit 16-Channel 12-bit I2C PWM/Servo Driver [PCA9685] with Handy Features](https://img.freedoshvs.com/usImg/3f/212f03a8253eb9d62366bcf2070f872d.jpg)
Using this product is quite straightforward. First, if you need to, do a bit of light soldering to attach the headers as you like. This is easy and only takes about 15 minutes, even if you're new to it. Connect the power using the terminal block. Just be careful because there's reverse polarity protection, but it's still good to get it right. You can also use the 0.1' breakouts on the side for power if you prefer.
To control the outputs, use the I2C interface with just two pins. You can control up to 16 free - running PWM outputs. If you want to expand, you can chain up to 62 breakouts to get a whopping 992 outputs. Adjust the frequency of the PWM up to about 1.6 KHz according to your needs.
When using it with servos, keep in mind the 12 - bit resolution which gives about 4us resolution at 60Hz update rate. You can configure the output as push - pull or open - drain as per your project requirements. And if you want to quickly disable all the outputs, just use the output enable pin.
For maintenance, make sure to check the green power - good LED. If it's not lit, there might be an issue with the power supply. Also, check the solder joints occasionally to ensure they're in good condition. The 220 ohm series resistors on the output lines help protect the outputs, but if you notice any abnormal behavior, check these resistors too. If you need to add a big capacitor on the V+ line, you have a spot for it on the board. Just follow our tutorial with CircuitPython & Arduino libraries, wiring diagrams, schematics, Fritzing and more for detailed setup and troubleshooting.