- PCA9685 16 channel 12bit PWM/Servo Controller Module
- This module (HCMODU0097) is a breakout board for the NXP PCA9685 16 channel PWM controller. It features 16 fully programmable PWM outputs with a 12bit 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. A screw terminal block provides a means of powering the attached servos from an external 5V PSU and so the number of servos you can drive from your microcontroller and so is not limited by the microcontrollers own power supply. For Arduino users, with this module and our exclusive Arduino library (HCPCA9685) you can directly control up to 16 servos from your Arduino with only a few commands.
- The module also includes an I2C header with 10K pullup resistors and so only requires two data pins (SDA & SCL) to control the module. Solderable pads on the module provide a means of changing the default I2C address (0x40) to one of 62 options, meaning more than one module can be connected to the same I2C bus.
- A wide operating range of 2.3V to 5.5V allows the module to be powered from a range of power supplies and when powered from a 3.3V supply is safe to interface to a Raspberry Pi or 3.3V or any other non 5V tolerant microcontrollers.