PWM Servo Driver 16-Channel 12-bit I2C (PCA9685) The PWM Servo Driver 16-Channel 12-bit I2C (PCA9685) is designed for projects that require a large number of precise PWM outputs. Ideal for hexapod walkers, kinetic art, robotics, or LED control, this driver eliminates the limitations of microcontrollers with limited PWM pins. Using a simple I2C interface, it delivers reliable, free-running PWM control with minimal pin usage. With the ability to control 16 PWM outputs using only two I2C pins—and the option to chain up to 62 boards on a single bus—this driver supports up to 992 PWM outputs in total. Key Features 16 free-running PWM outputs with 12-bit resolution I2C interface requiring only two control pins Chainable design supporting up to 62 boards (992 outputs total) Adjustable PWM frequency up to approximately 1.6 kHz 12-bit resolution provides ~4 µs resolution at 60 Hz for servo control Built-in clock for continuous operation without tying up the microcontroller Configurable push-pull or open-drain output Output enable pin for quickly disabling all outputs 5V compliant for control from 3.3V microcontrollers Supports output voltages up to 6V Translucent body Lightweight design Less noise Board & Electrical Features I2C 7-bit address range: 0x60–0x80, selectable via solder jumpers 6 address select pins for multi-board configurations Terminal block for external power input Optional 0.1" side breakouts for power input Reverse polarity protection on terminal block input Green power-good LED indicator 3-pin servo connectors arranged in groups of four (supports 16 servos) Dedicated capacitor footprint on the V+ line 220-ohm series resistors on all output lines for protection and LED driving Dimensions & Weight Specification Value Dimensions (no headers or terminal block) 2.5" × 1" × 0.1" (62.5 × 25.4 × 3 mm) Weight (no headers or terminal block) 5.5 g Weight (with 3×4 headers & terminal block) 9 g Power & Connectivity VCC pin powers the chip only V+ pin powers servos or LEDs and supports 3.3V–6V input External power supply via terminal block is recommended for servos Reverse polarity protection included Arduino Connection (I2C) Classic Arduino: 5V → VCC GND → GND A4 → SDA A5 → SCL Arduino Mega (older pin layout): 5V → VCC GND → GND Digital 20 → SDA Digital 21 → SCL Arduino R3 and later (Uno, Mega, Leonardo): 5V → VCC GND → GND SDA → SDA SCL → SCL Servo Connection Standard 3-wire servo connectors plug directly into the board: Ground: black or brown Signal: yellow or white I2C Address Configuration Default I2C address: 0x40 Address is set using solder jumpers on the board Each chained board must have a unique address This PCA9685-based PWM driver provides a scalable, efficient solution for controlling large numbers of servos or LEDs with precision and stability.