16-Channel 12-bit PWM/Servo Driver Interface
16-Channel 12-bit PWM/Servo Driver Interface
16-Channel 12-bit PWM/Servo Driver Interface
16-Channel 12-bit PWM/Servo Driver Interface
16-Channel 12-bit PWM/Servo Driver Interface
16-Channel 12-bit PWM/Servo Driver Interface

16-Channel 12-bit PWM/Servo Driver Interface

Modules
ARD633
Part.No: PCA9685
€8.95
Last items in stock
Immediate Dispatch
The PCA9685 16-Channel 12-bit PWM/Servo Driver by Kuongshun lets any I2C microcontroller control up to 16 PWM outputs simultaneously — perfect for multi-servo robotics, LED dimming, and DC motor projects. With an onboard free-running clock and adjustable 40Hz–1.6kHz frequency, it offloads PWM generation entirely from your MCU.

 

The Kuongshun PCA9685 is a 16-channel, 12-bit PWM/Servo driver IC that communicates over I2C, enabling any low-power microcontroller — Arduino, ESP32, or Raspberry Pi — to drive up to 16 independent PWM channels without consuming a single hardware timer. The onboard free-running clock means PWM generation continues even while your MCU handles other tasks, making it the go-to solution for complex robotics, multi-servo rigs, and high-channel LED control.

Key Features

  • 16 Independent PWM Channels: Control up to 16 servos or PWM-driven devices simultaneously from a single I2C bus → eliminates the need for multiple driver boards
  • 12-bit Resolution: Each channel delivers 4096 steps of PWM resolution → ultra-smooth servo positioning and precise LED dimming
  • Adjustable PWM Frequency (40Hz–1.6kHz): Dial in the exact frequency your application needs — 50Hz for standard servos, higher for DC motor drivers → versatile across servo, motor, and LED use cases
  • ~4µs Pulse Resolution at 60Hz: Fine-grained timing control for servo update cycles → accurate, jitter-free servo movement
  • Free-Running Onboard Clock: PWM generation is fully autonomous from the host MCU → frees up processing cycles for sensor reading, communication, and logic
  • I2C Interface with Address Selection: Hardware address pins allow multiple PCA9685 boards on the same bus → scalable to 62 boards = up to 992 PWM channels on one I2C bus
  • Works with External Power for Servos: Servo power rail is separate from logic supply → protects your MCU from high-current servo loads

Pinout & Wiring

PINSymbolDescription
Power (Logic)VCC3.3V or 5V logic supply for the PCA9685 IC
GroundGNDCommon ground
I2C DataSDAI2C data line — connect to MCU SDA
I2C ClockSCLI2C clock line — connect to MCU SCL
Output EnableOEActive-low output enable; pull LOW to enable all outputs
Servo PowerV+External power supply for servos/motors (separate from VCC)
PWM OutputsCH0–CH1516 x 3-pin headers (GND / VCC / PWM signal) for servos or PWM devices

Wiring note: Connect SDA/SCL to your MCU's I2C pins. Power the PCA9685 logic from 3.3V or 5V. Supply servo power via the V+ terminal separately — never draw servo current through the MCU's 5V rail.

Compatibility

  • Arduino UNO / Nano / Mega (5V): Fully compatible — connect directly to A4 (SDA) and A5 (SCL). Use the Adafruit PCA9685 library for quick setup.
  • ESP32 / ESP8266 (3.3V): Fully compatible — the PCA9685 operates at 3.3V logic. Assign SDA/SCL to any GPIO pair via Wire.begin(SDA, SCL).
  • Raspberry Pi (3.3V I2C): Compatible via hardware I2C (GPIO2/GPIO3). Use the Adafruit CircuitPython or smbus2 library.
  • Chaining multiple boards: Set unique I2C addresses via onboard solder jumpers (A0–A5) to chain up to 62 boards on one bus.

Typical Applications

  • Multi-servo robotic arms & humanoids: Drive 16 servos from one Arduino or ESP32 without occupying any hardware timers — ideal for 6-DOF arms and walking robots.
  • RC vehicle & drone control surfaces: Precise 12-bit servo resolution ensures smooth, responsive steering and pitch/roll control.
  • LED matrix dimming & lighting effects: Individually dim up to 16 LED channels with smooth 4096-step gradients for stage lighting or ambient displays.
  • DC motor speed control via external driver: Feed PWM signals into L298N, L293D, or TB6612FNG drivers for multi-motor speed control without tying up MCU timers.
  • Pan-tilt camera gimbals: Simultaneously control horizontal and vertical servo axes with precise, low-latency updates.

Technical Specifications

ParameterValue
InterfaceI2C
Logic Supply Voltage3.3V – 5V
PWM Channels16
PWM Resolution12-bit (4096 steps)
PWM Frequency Range40Hz – 1.6kHz
Pulse Resolution (at 60Hz)~4µs
Onboard ClockFree-running (no external clock required)
I2C Address RangeConfigurable via A0–A5 pads (up to 62 boards)
BrandKuongshun
MPNPCA9685

FAQ

Q: Can I control more than 16 servos with this board?
A: Yes. By setting different I2C addresses on each board using the onboard address pads (A0–A5), you can chain multiple PCA9685 modules on the same I2C bus — up to 62 boards for a theoretical 992 PWM channels.

Q: Do servos get powered from the Arduino's 5V pin?
A: No — and they shouldn't. The PCA9685 board has a dedicated V+ power terminal for servo supply. Always power servos from an external supply to avoid overloading your MCU's voltage regulator.

Package Contents: 1 × PCA9685 16-Channel 12-bit PWM/Servo Driver Module (Kuongshun)

Note: Servos, motors, and power supplies are NOT included. Always power servo loads from a dedicated external power supply — do not draw servo current through the MCU's onboard 5V regulator.
16 other products in the same category:
Product added to wishlist
Product added to compare.