Power
PCA9685
16-channel PWM controller used for servo control, LED dimming, and robotics projects.
Best For
Projects needing PWM and Servo with a commonly available power part.
Avoid If
You need production-grade certainty without checking the exact module vendor, pinout, and library maintenance status.
Quick Decision Notes
PCA9685 is indexed as a power part from NXP. ChipScout tracks it by practical maker-facing dimensions: interfaces, library readiness, estimated price, field-level sources, and whether the page is strong enough for selection rather than only lookup.
Technical Specifications
Common Use Cases
- Maker prototypes
- Low-cost modules
- Educational hardware
Known Issues
- Breakout boards may use different pin labels or regulator choices
- Clone modules can differ from the original datasheet part
Interfaces and Library Support
Every field is meant to be source-backed. Corrections should include a datasheet URL, vendor page, module photo, or reproducible library test.
Submit correctionSource Resources
Pinout Table
Pinout is not yet source-verified. Use the table as an integration checklist, then confirm exact pins against the module vendor page before wiring hardware.
Common Wiring
Power the module from a rail that matches the breakout board, not just the bare IC.
Connect ground between the controller, sensor/module, and external power supply.
Use pull-ups appropriate for the board voltage; many modules already include them.
Keep wiring short for breadboard prototypes and lower bus speed if unstable.
Arduino Example
#include <Wire.h>
void setup() {
Serial.begin(115200);
Wire.begin();
Serial.println("PCA9685 I2C wiring smoke test");
}
void loop() {
// Replace this with the maintained PCA9685 library call.
Serial.println("Check PCA9685 on the I2C bus, then read a sample.");
delay(1000);
}MicroPython Example
from machine import Pin, I2C
import time
i2c = I2C(0, scl=Pin(1), sda=Pin(0), freq=100000)
print("PCA9685 I2C devices:", i2c.scan())
while True:
# Replace with the maintained PCA9685 driver call.
print("read PCA9685 sample")
time.sleep(1)Recommended Development Boards
Low-cost Wi-Fi/BLE board with enough interfaces for most sensors and modules.
Good baseline for beginner wiring and library validation.
Practical MicroPython target for I2C, SPI, UART, PWM, and ADC experiments.
Alternative Model Reasons
Common Questions
What is PCA9685 best used for?
Projects needing PWM and Servo with a commonly available power part.
Does PCA9685 support Arduino or MicroPython?
PCA9685 has verified Arduino support and verified MicroPython support.
What interfaces does PCA9685 use?
PCA9685 lists I2C; wireless support is no wireless protocol.
Alternatives and Related Parts
18650 Battery Holder
Generic
Battery holder component useful to include because many maker power designs depend on its mechanical format.
74HC595
Nexperia
8-bit shift register used to expand outputs for LEDs, relays, and simple digital control.
A4988
Allegro MicroSystems
Common stepper motor driver used in older 3D printer and CNC control boards.
AMS1117-3.3
Advanced Monolithic Systems
Legacy linear regulator used on many Arduino and ESP breakout boards.