16 Channel I2C PWM/Servo Driver Shield
16 Channel I2C PWM/Servo Driver Shield
16 Channel I2C PWM/Servo Driver Shield
16 Channel I2C PWM/Servo Driver Shield

16 Channel I2C PWM/Servo Driver Shield

Arduino Shields
ARD632
Part.No: PCA9685
€9.95
In Stock
Immediate Dispatch
PCA9685 16-Channel 12-bit PWM/Servo Driver Shield by Kuongshun — I2C-controlled, up to 1.6 kHz PWM frequency, stackable design for expanding servo and motor outputs on any Arduino project without consuming extra processing cycles.

 

The Kuongshun PCA9685 16-Channel 12-bit PWM/Servo Driver Shield is the go-to I2C expansion board when your Arduino runs out of PWM pins. Built around the NXP PCA9685 chip, it offloads all PWM timing to dedicated on-board hardware, freeing your microcontroller to focus on logic rather than pulse generation. Whether you are driving 16 hobby servos for a robotic arm, controlling LED brightness arrays, or managing multiple DC motor speeds through external driver stages, this shield plugs directly onto an Arduino and communicates over just two wires (SDA + SCL).

Key Features

  • 16 Independent PWM Channels: Drive up to 16 servos or PWM-controlled devices simultaneously from a single I2C address — no additional microcontroller pins required beyond SDA/SCL.
  • 12-Bit Resolution per Channel: Each output offers 4096 discrete steps of duty-cycle control, delivering approximately 4 µs resolution at a 60 Hz update rate — ultra-smooth servo positioning and flicker-free LED dimming.
  • Adjustable PWM Frequency up to ~1.6 kHz: The on-board oscillator allows you to tune the update rate from low frequencies ideal for servos (~50–60 Hz) up to ~1.6 kHz for fast motor or LED applications — one board covers a wide range of use cases.
  • Built-in Clock (No External Crystal Needed): The PCA9685 integrates its own 25 MHz oscillator, meaning the shield works straight out of the box — simplifying wiring and reducing component count.
  • Stackable / Chainable Design: Address pins allow multiple shields to be chained on the same I2C bus, expanding to up to 992 PWM channels — ideal for large-scale animatronics or LED installations.
  • Separate Power Rail for Servos: A dedicated terminal block accepts an external power supply for the servo/motor rail, keeping high-current loads isolated from the Arduino's 5 V line — protecting your microcontroller from voltage drops.

Pinout & Wiring

Pin / TerminalSymbolDescription
I2C DataSDASerial data line — connect to Arduino SDA (A4 on UNO)
I2C ClockSCLSerial clock line — connect to Arduino SCL (A5 on UNO)
Logic PowerVCC3.3 V – 5 V logic supply from microcontroller
Logic GroundGNDCommon ground
Servo Power +V+External power input for servo/motor rail (use separate supply)
PWM Outputs 0–15CH0–CH15PWM signal + power pins for each servo/device channel
Address PinsA0–A5Solder jumpers to set I2C address (default 0x40)
Output EnableOEActive-low pin to disable all outputs simultaneously

Wiring note: Connect VCC and GND to the Arduino for logic power. Feed servos or motors from a separate supply via the V+ terminal block. On Arduino UNO/Mega the shield stacks directly; on other boards use jumper wires to SDA/SCL.

Compatibility

  • Arduino UNO / Nano / Mega: 5 V logic — plug-and-play compatible; use the Adafruit PCA9685 library for quick setup.
  • ESP32 / ESP8266: 3.3 V logic — fully compatible; the PCA9685 accepts 3.3 V–5 V on VCC. Assign SDA/SCL to appropriate GPIO pins in software.
  • Raspberry Pi: 3.3 V I2C bus — compatible with the Pi's hardware I2C interface; use the corresponding Python library.
  • Any I2C-capable microcontroller: The standard I2C protocol ensures broad platform support.

Typical Applications

  • Multi-servo robotic arms & hexapods: Control 16 joints from a single Arduino shield — the most common maker use case for the PCA9685.
  • Pan-tilt camera gimbals: Precise 12-bit positioning keeps camera movement smooth and jitter-free.
  • RGB LED matrix dimming: Drive 16 channels of LEDs with independent brightness control at high update rates.
  • RC car / drone prototyping: Generate ESC-compatible PWM signals for brushless motor speed controllers.
  • Educational robotics & STEM projects: Ideal for students building their first multi-actuator robot without needing multiple microcontrollers.

Technical Specifications

SpecificationValue
InterfaceI2C
IC / MPNPCA9685
Logic Voltage (VCC)3.3 V – 5 V
PWM Channels16
PWM Resolution12-bit (4096 steps)
PWM FrequencyUp to ~1.6 kHz (adjustable)
Resolution at 60 Hz~4 µs
I2C Default Address0x40
Chainable AddressesUp to 62 (A0–A5 jumpers)
CategoryArduino Shield
BrandKuongshun

FAQ

Q: Do I need an external library to use this shield with Arduino?
A: Yes — the Adafruit PCA9685 library (available in the Arduino Library Manager) is the most widely used and makes channel setup straightforward in just a few lines of code.

Q: Can I power servos directly from the Arduino's 5 V pin?
A: It is not recommended. Servos draw significant current that can overload the Arduino's onboard regulator. Always use a separate power supply connected to the V+ terminal block on the shield.

Package Contents: 1 × PCA9685 16-Channel PWM/Servo Driver Shield

⚠ Note: Servos, motors, and external power supplies are not included. Always connect high-current servo loads to the dedicated V+ terminal — never draw servo power directly from the Arduino's 5 V rail.
7 other products in the same category:
Product added to wishlist
Product added to compare.