Servo Motor 16 Channel Driver (PCA9685)
🔧 PCA9685 16‑Channel PWM Servo Driver Module (5 V I2C)
Overview
The PCA9685 module features the NXP PCA9685 chip, a 12-bit PWM controller capable of independently driving up to 16 servos or LEDs using just two I²C pins. It’s ideal for robotics, LED lighting, and multi-servo projects, with the ability to chain up to 62 boards for a total of 992 outputs
Key Features
- 16 PWM channels, 12-bit resolution (4096 steps) per channel
- I²C interface (up to 1.6 MHz)
- Operating voltage: Logic 3.3–5 V; external V+ up to 6 V for servos
- Onboard 5 V regulator, bypassable for external supply
- OE (Output Enable) pin to disable outputs
- Daisy-chain multiple modules (up to 62) via address pins
Technical Specifications
Parameter | Value |
---|---|
PWM Resolution | 12-bit (4096 steps) |
I²C Address | 0x40–0x7F selectable via address jumpers |
Logic Voltage | 2.3 V–5.5 V |
External V+ Voltage | Up to 6 V (for servo power) |
Output Drive | 25 mA sink at 5 V |
Board Dimensions | ~65 × 32 mm |
Wiring Example – Arduino Uno
- VCC → 5 V (I²C logic)
- GND → Ground
- SDA → A4 (I²C data)
- SCL → A5 (I²C clock)
- V+ → Battery or 5–6 V servo supply (separate from VCC)
- OE → GND to enable outputs
- Use I²C address jumpers if chaining modules
Applications
- Controlling up to 16 servo motors (robot arms, hexapods)
- Driving LED strips or lighting with dimming/fading
- PWM control for pumps, valves, or motors
- Expanding I/O for microcontrollers with limited PWM pins
- Cascading multiple boards for robotics and art installations
✅ How to Install Library in Arduino IDE:
- Method 1 – Using Library Manager:
- Open Arduino IDE
- Go to Sketch > Include Library > Manage Libraries…
- In the Library Manager, type: Adafruit PWM
- Find Adafruit PWM Servo Driver Library by Adafruit
- Click Install
- Download the ZIP from GitHub: Download ZIP
- In Arduino IDE, go to Sketch > Include Library > Add .ZIP Library…
- Select the downloaded ZIP file to install
Method 2 – Manual Installation:
✅ Resources
- 📄 PCA9685 Datasheet (NXP): Official 16-channel PWM controller documentation cdn-shop.adafruit.comyoutube.com+2youtube.com+2adafruit.com+2adafruit.comespboards.dev
- 🎥 YouTube – Arduino Tutorial: “Mastering Servo Control With PCA9685 and Arduino” (step-by-step guide) amazon.com+14youtube.com+14instructables.com+14