1
/
of
6
PCA9685 16-Channel 12-bit PWM Servo Motor Driver I2C Module For Arduino
PCA9685 16-Channel 12-bit PWM Servo Motor Driver I2C Module For Arduino
Regular price
$5.89
Regular price
Sale price
$5.89
Shipping calculated at checkout.
Quantity
Couldn't load pickup availability
Take control of up to 16 servo motors or LEDs using just two I2C pins on your microcontroller. The PCA9685 module handles all PWM signal generation internally with 12-bit precision, freeing your processor for other tasks — no constant signal updates required.
💡 Why This Module?
Stop wasting your microcontroller's limited PWM pins. This module gives you 16 high-resolution PWM channels over a simple 2-wire I2C connection — and you can chain up to 62 boards for a total of 992 outputs.
⚡ Key Features
- 16 independent PWM channels — control servos, LEDs, or other PWM devices simultaneously
- 12-bit resolution (4096 steps) — ultra-smooth servo positioning and LED dimming
- I2C interface — uses only 2 pins (SDA & SCL) on your microcontroller
- Built-in oscillator — no external clock needed; outputs run independently
- Adjustable PWM frequency — 24 Hz to 1526 Hz to suit servos, LEDs, or other loads
- Chainable design — daisy-chain up to 62 boards (992 channels) via pass-through headers
- 6 address-select jumpers — easily assign unique I2C addresses to each board
- Output Enable (OE) pin — instantly disable all outputs with a single signal
- 220Ω series resistors — built-in protection on all output channels
- 3-pin servo connectors — plug-and-play connection for standard servo motors
- Reverse polarity protection — on the V+ terminal block power input
- 5V-tolerant inputs — works with both 3.3V and 5V logic microcontrollers
📐 Specifications
| Parameter | Value |
|---|---|
| Controller IC | PCA9685 (NXP) |
| PWM Channels | 16 |
| PWM Resolution | 12-bit (4096 steps) |
| PWM Frequency Range | 24 Hz – 1526 Hz |
| Interface | I2C (up to 1 MHz) |
| Default I2C Address | 0x40 |
| Addressable Range | 0x40 – 0x7F (62 unique addresses) |
| Logic Voltage (VCC) | 2.3V – 5.5V |
| Servo Power (V+) | Up to 6V (separate terminal block) |
| Output Current (per channel) | 25 mA sink / 10 mA source |
| Operating Temperature | -40°C to +85°C |
| Board Dimensions | ~62 mm × 26 mm (2.4" × 1.0") |
📦 What's in the Box
- 1 × PCA9685 16-Channel 12-Bit I2C PWM Servo Motor Driver Module
- 1 × Set of pin headers (loose, will require soldering)
🛒 What You'll Need
- Arduino, ESP32, ESP8266, Raspberry Pi Pico, or compatible microcontroller
- Servo motor(s) or LEDs
- External 5–6V DC power supply (rated for your total servo current draw)
- Jumper wires (male-to-female recommended)
- USB cable for programming your microcontroller
🔌 Compatible With
- Arduino Uno, Nano, Mega, Leonardo, Due
- ESP32 & ESP8266
- Raspberry Pi Pico / Pico W
- Raspberry Pi (via I2C GPIO)
- STM32, Teensy, and other I2C-capable microcontrollers
- Standard hobby servos (SG90, MG90S, MG996R, etc.)
- LEDs and LED strips (common anode)
🎯 Typical Applications
- Robotics — Hexapod walkers, robotic arms, pan-tilt camera mounts
- Animatronics — Coordinated multi-servo character movements
- RC Vehicles — Multi-channel steering, throttle, and accessory control
- LED Lighting — Smooth 12-bit dimming for RGB LED arrays and architectural lighting
- Home Automation — Motorized blinds, vent controllers, smart locks
- IoT Projects — Cloud-controlled servo/LED systems via ESP32 or Raspberry Pi
- Education — Learning I2C communication and PWM signal generation
💡 Pro Tip: Need more than 16 channels? Simply chain multiple boards together — each with a unique I2C address — for up to 992 independently controllable PWM outputs on a single I2C bus!
⚠️ Important Notes
- VCC powers the PCA9685 chip only. You must also connect an external power supply to V+ to power your servos.
- Do not power servos from your Arduino's 5V pin — always use a separate power supply for V+.
- All ground connections (MCU, module, and external power supply) must be connected together.
- Do not exceed 6V on the V+ servo power rail.
- Pin headers may require soldering before use.
📄 Documentation & Resources
Share
