16 Channel Servo Motor Driver Module - PCA9685 for Arduino
This is a 16 Channel Servo Motor Driver. You can use it to control upto 16 servo motors with just two pins of the Arduino, Raspberry Pi or any other microcontroller with I2C. Controlling the servos is simple and easy. Servos can be plugged in directly to the board with no additional circuits or connectors required. This board is great for building humanoids, bipeds, hexapods, rc quadcopters and planes, etc.
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.
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.
NOTE: The PWM output pins on this module are capable of sinking a maximum of 25mA or sourcing a maximum of 10mA. Do not attempt to drive high current devices such as motors, bulbs etc, directly from these pins as you will risk damaging the module. For servos, power is provided externally via the terminal header and only a small amount of current is drawn by the servo from each PWM pin.