component
PCA9685
Public Unreviewedby adom
NXP 16-channel 12-bit PWM controller, TSSOP-28. I2C, per-channel duty + phase, the servo-driver chip. Datasheet-verified.
← Commit history
page.json+232−20@@ -3,8 +3,9 @@ "type": "component", "slug": "pca9685", "title": "PCA9685",- "brief": "16-channel 12-bit PWM driver, I2C, TSSOP-28",+ "brief": "NXP 16-channel 12-bit PWM controller, TSSOP-28. I2C, per-channel duty + phase, the servo-driver chip. Datasheet-verified.", "version": "0.1.0",+ "license": "CC-BY-SA-4.0", "tags": [ "component", "driver",@@ -15,36 +16,247 @@ "tssop-28", "nxp" ],- "license": "MIT", "component": { "mpn": "PCA9685", "manufacturer": "NXP Semiconductors", "package": "TSSOP-28",- "pin_count": null,- "category": "library",- "subcategory": "",- "body_size": null,- "parts": {},- "distributor_links": {}+ "pin_count": 28,+ "category": "Driver",+ "subcategory": "16-channel PWM / servo driver (I2C)",+ "datasheet": "https://cdn-shop.adafruit.com/datasheets/PCA9685.pdf",+ "parts": {+ "symbol": "pca9685.kicad_sym",+ "footprint": "pca9685.kicad_mod",+ "model_3d": "pca9685.glb"+ },+ "distributor_links": {},+ "pins": [+ {+ "number": "1",+ "name": "A0",+ "type": "input",+ "description": "I2C-bus hardware address input bit 0. No internal pull-up; must be tied HIGH or LOW."+ },+ {+ "number": "2",+ "name": "A1",+ "type": "input",+ "description": "I2C-bus hardware address input bit 1. No internal pull-up; must be tied HIGH or LOW."+ },+ {+ "number": "3",+ "name": "A2",+ "type": "input",+ "description": "I2C-bus hardware address input bit 2. No internal pull-up; must be tied HIGH or LOW."+ },+ {+ "number": "4",+ "name": "A3",+ "type": "input",+ "description": "I2C-bus hardware address input bit 3. No internal pull-up; must be tied HIGH or LOW."+ },+ {+ "number": "5",+ "name": "A4",+ "type": "input",+ "description": "I2C-bus hardware address input bit 4. No internal pull-up; must be tied HIGH or LOW."+ },+ {+ "number": "6",+ "name": "LED0",+ "type": "output",+ "description": "LED driver channel 0. Software-selectable open-drain (25 mA sink @ 5 V) or totem-pole (25 mA sink / 10 mA source @ 5 V). Default POR state is LOW."+ },+ {+ "number": "7",+ "name": "LED1",+ "type": "output",+ "description": "LED driver channel 1. Software-selectable open-drain or totem-pole; 25 mA sink / 10 mA source at 5 V."+ },+ {+ "number": "8",+ "name": "LED2",+ "type": "output",+ "description": "LED driver channel 2. Software-selectable open-drain or totem-pole; 25 mA sink / 10 mA source at 5 V."+ },+ {+ "number": "9",+ "name": "LED3",+ "type": "output",+ "description": "LED driver channel 3. Software-selectable open-drain or totem-pole; 25 mA sink / 10 mA source at 5 V."+ },+ {+ "number": "10",+ "name": "LED4",+ "type": "output",+ "description": "LED driver channel 4. Software-selectable open-drain or totem-pole; 25 mA sink / 10 mA source at 5 V."+ },+ {+ "number": "11",+ "name": "LED5",+ "type": "output",+ "description": "LED driver channel 5. Software-selectable open-drain or totem-pole; 25 mA sink / 10 mA source at 5 V."+ },+ {+ "number": "12",+ "name": "LED6",+ "type": "output",+ "description": "LED driver channel 6. Software-selectable open-drain or totem-pole; 25 mA sink / 10 mA source at 5 V."+ },+ {+ "number": "13",+ "name": "LED7",+ "type": "output",+ "description": "LED driver channel 7. Software-selectable open-drain or totem-pole; 25 mA sink / 10 mA source at 5 V."+ },+ {+ "number": "14",+ "name": "VSS",+ "type": "power_in",+ "description": "Supply ground (0 V reference)."+ },+ {+ "number": "15",+ "name": "LED8",+ "type": "output",+ "description": "LED driver channel 8. Software-selectable open-drain or totem-pole; 25 mA sink / 10 mA source at 5 V."+ },+ {+ "number": "16",+ "name": "LED9",+ "type": "output",+ "description": "LED driver channel 9. Software-selectable open-drain or totem-pole; 25 mA sink / 10 mA source at 5 V."+ },+ {+ "number": "17",+ "name": "LED10",+ "type": "output",+ "description": "LED driver channel 10. Software-selectable open-drain or totem-pole; 25 mA sink / 10 mA source at 5 V."+ },+ {+ "number": "18",+ "name": "LED11",+ "type": "output",+ "description": "LED driver channel 11. Software-selectable open-drain or totem-pole; 25 mA sink / 10 mA source at 5 V."+ },+ {+ "number": "19",+ "name": "LED12",+ "type": "output",+ "description": "LED driver channel 12. Software-selectable open-drain or totem-pole; 25 mA sink / 10 mA source at 5 V."+ },+ {+ "number": "20",+ "name": "LED13",+ "type": "output",+ "description": "LED driver channel 13. Software-selectable open-drain or totem-pole; 25 mA sink / 10 mA source at 5 V."+ },+ {+ "number": "21",+ "name": "LED14",+ "type": "output",+ "description": "LED driver channel 14. Software-selectable open-drain or totem-pole; 25 mA sink / 10 mA source at 5 V."+ },+ {+ "number": "22",+ "name": "LED15",+ "type": "output",+ "description": "LED driver channel 15. Software-selectable open-drain or totem-pole; 25 mA sink / 10 mA source at 5 V."+ },+ {+ "number": "23",+ "name": "OE",+ "type": "input",+ "description": "Active-LOW output enable. When HIGH the LEDn outputs are programmable to logic 1, logic 0 (default at power-up), or high-impedance. Can be toggled to externally PWM/blink all outputs."+ },+ {+ "number": "24",+ "name": "A5",+ "type": "input",+ "description": "I2C-bus hardware address input bit 5. No internal pull-up; must be tied HIGH or LOW."+ },+ {+ "number": "25",+ "name": "EXTCLK",+ "type": "input",+ "description": "External clock input (50 MHz max). Replaces the internal 25 MHz oscillator when enabled; must be grounded when not used."+ },+ {+ "number": "26",+ "name": "SCL",+ "type": "input",+ "description": "I2C-bus serial clock line. Fast-mode Plus (Fm+, up to 1 MHz) compatible; requires external pull-up."+ },+ {+ "number": "27",+ "name": "SDA",+ "type": "bidirectional",+ "description": "I2C-bus serial data line. Open-drain with 30 mA sink capability for driving high-capacitance buses (up to 4000 pF); requires external pull-up."+ },+ {+ "number": "28",+ "name": "VDD",+ "type": "power_in",+ "description": "Supply voltage, 2.3 V to 5.5 V. Inputs and LED outputs are 5.5 V tolerant."+ }+ ],+ "provenance": {+ "extractor": "ds2sf",+ "datasheet": {+ "url": "https://cdn-shop.adafruit.com/datasheets/PCA9685.pdf",+ "pages": 52,+ "sha256": "237d47f339cac4c3",+ "source_tier": "mfr"+ },+ "cad": "KiCad official (CC-BY-SA 4.0)",+ "pins": {+ "total": 28,+ "described": 28,+ "cites_pages": true,+ "refuses_to_fabricate": true+ }+ },+ "viewers": {+ "symbol": "viewers/symbol.html",+ "footprint": "viewers/footprint.html"+ } },- "readme": "# PCA9685\n\n16-channel 12-bit PWM driver, I2C, TSSOP-28\n\nThe PCA9685 is a 16-channel, 12-bit PWM controller from NXP with I2C interface. Used to control LEDs or servos with 12-bit resolution per channel. Up to 62 devices chainable for 992 PWM outputs.",+ "metadata": {+ "specs": {+ "Type": "16-channel 12-bit PWM controller",+ "Channels": "16 (independent duty + phase)",+ "Resolution": "12-bit per channel",+ "PWM frequency": "24 Hz to 1526 Hz (shared)",+ "Interface": "I2C up to 1 MHz",+ "Address pins": "6 (up to 62 on a bus)",+ "Output drive": "~10-25 mA per channel",+ "Package": "TSSOP-28"+ }+ },+ "sections": [+ "hero",+ "viewers",+ "readme",+ "breadcrumbs",+ "info"+ ],+ "discovery_triggers": [+ "pca9685",+ "16 channel pwm",+ "servo driver",+ "i2c pwm controller",+ "led pwm driver"+ ],+ "discovery_pitch": "PCA9685 16-channel 12-bit I2C PWM controller (TSSOP-28) with datasheet-verified pinout, KiCad symbol/footprint/3D, and full provenance.", "author": {- "name": "Kyle Bergstedt",- "email": "[email protected]"+ "name": "Ray",+ "email": "[email protected]" },- "visibility": "public",+ "dependencies": {}, "hero": { "type": "image", "path": "docs/hero.png" },- "sample_prompts": [],- "discovery_triggers": [],- "discovery_pitch": null,- "metadata": {},- "created_at": "2026-05-28T05:34:04.613Z",- "updated_at": "2026-05-28T05:34:04.613Z",- "description": "NXP 16-channel 12-bit PWM controller, TSSOP-28. I2C, per-channel duty + phase, the servo-driver chip. Datasheet-verified.",- "dependencies": {}, "files": [ "page.json", "README.md",