Loads on click. Unloads only if this page sits in the background.

Symbol & Footprint

Schematic Symbol

Open full view ↗
Loads on click. Unloads only if this page sits in the background.

PCB Footprint

Open full view ↗
Loads on click. Unloads only if this page sits in the background.
Loads on click. Unloads only if this page sits in the background.
Download PDF
Contents

README

markdown

PCA9555

NXP Semiconductors · I2C 16-bit I/O expander · SO-24

A 16-bit general-purpose I/O expander with an I2C interface, in SO-24, NXP's take on the port-expander and a peer of the MCP23017. It gives a microcontroller sixteen more pins across two 8-bit ports (IO0 and IO1), each pin independently input or output, with a per-pin polarity-inversion register and an open-drain interrupt (INT) that fires on an input change so the host need not poll. Three address pins (A0-A2) put up to eight on one bus for 128 I/O. It runs I2C at up to 400 kHz over a 1.65-5.5 V supply, and unlike the PCF8574 it has real direction control per pin.

Pinout

Pin Name Type Function
1 INT output Active-LOW open-drain interrupt output. Asserts when any input port pin state differs from its input port register value; requires an external pull-up to VDD.
2 A1 input I2C-bus slave address input bit 1. Tie to VDD or VSS to set the programmable portion of the 7-bit slave address (0100 A2 A1 A0).
3 A2 input I2C-bus slave address input bit 2. Tie to VDD or VSS to set the programmable portion of the 7-bit slave address.
4 IO0_0 bidirectional Port 0 bit 0 general-purpose I/O. Configurable per bit as input (default, high-Z with weak 100 kΩ pull-up to VDD) or push-pull output. 5 V-tolerant input.
5 IO0_1 bidirectional Port 0 bit 1 general-purpose I/O. Configurable per bit as input (default) or push-pull output. 5 V-tolerant input.
6 IO0_2 bidirectional Port 0 bit 2 general-purpose I/O. Configurable per bit as input (default) or push-pull output. 5 V-tolerant input.
7 IO0_3 bidirectional Port 0 bit 3 general-purpose I/O. Configurable per bit as input (default) or push-pull output. 5 V-tolerant input.
8 IO0_4 bidirectional Port 0 bit 4 general-purpose I/O. Configurable per bit as input (default) or push-pull output. 5 V-tolerant input.
9 IO0_5 bidirectional Port 0 bit 5 general-purpose I/O. Configurable per bit as input (default) or push-pull output. 5 V-tolerant input.
10 IO0_6 bidirectional Port 0 bit 6 general-purpose I/O. Configurable per bit as input (default) or push-pull output. 5 V-tolerant input.
11 IO0_7 bidirectional Port 0 bit 7 general-purpose I/O. Configurable per bit as input (default) or push-pull output. 5 V-tolerant input.
12 VSS power_in Supply ground (0 V) reference for the device.
13 IO1_0 bidirectional Port 1 bit 0 general-purpose I/O. Configurable per bit as input (default) or push-pull output. 5 V-tolerant input.
14 IO1_1 bidirectional Port 1 bit 1 general-purpose I/O. Configurable per bit as input (default) or push-pull output. 5 V-tolerant input.
15 IO1_2 bidirectional Port 1 bit 2 general-purpose I/O. Configurable per bit as input (default) or push-pull output. 5 V-tolerant input.
16 IO1_3 bidirectional Port 1 bit 3 general-purpose I/O. Configurable per bit as input (default) or push-pull output. 5 V-tolerant input.
17 IO1_4 bidirectional Port 1 bit 4 general-purpose I/O. Configurable per bit as input (default) or push-pull output. 5 V-tolerant input.
18 IO1_5 bidirectional Port 1 bit 5 general-purpose I/O. Configurable per bit as input (default) or push-pull output. 5 V-tolerant input.
19 IO1_6 bidirectional Port 1 bit 6 general-purpose I/O. Configurable per bit as input (default) or push-pull output. 5 V-tolerant input.
20 IO1_7 bidirectional Port 1 bit 7 general-purpose I/O. Configurable per bit as input (default) or push-pull output. 5 V-tolerant input.
21 A0 input I2C-bus slave address input bit 0. Tie to VDD or VSS to set the programmable portion of the 7-bit slave address (0100 A2 A1 A0).
22 SCL input I2C-bus serial clock input line. 0 Hz to 400 kHz clock frequency; requires external pull-up to VDD.
23 SDA bidirectional I2C-bus serial data line (open-drain). Requires external pull-up to VDD.
24 VDD power_in Positive supply voltage input. Operating range 2.3 V to 5.5 V; bypass locally with a 100 nF ceramic capacitor to VSS.

Key specifications

Parameter Value
Type I2C 16-bit I/O expander
I/O lines 16 (ports IO0, IO1)
Bus I2C up to 400 kHz
Per-pin direction + polarity inversion
Interrupt open-drain INT on change
Address pins A0-A2 (8 per bus)
Supply voltage 1.65-5.5 V
Package SO-24

Ordering variants

Same part, different packaging or reel option.

  • PCA9555D (SO-24)
  • PCA9555PW (TSSOP-24)

CAD (KiCad official)

  • Symbol: Interface_Expansion:PCA9555D
  • Footprint: Package_SO:SOIC-24W_7.5x15.4mm_P1.27mm
  • 3D model: SOIC-24W (KiCad packages3D)

Provenance

Data extracted from the manufacturer datasheet, not a distributor listing:

  • Datasheet: NXP Semiconductors datasheet (34 pp, sha256 9f4f9c0ce4c461d7, retrieved 2026-08-17, tier: manufacturer)
  • Extractor: ds2sf (Claude). Every pin and dimension is cited to a datasheet page; it refuses to fabricate.
  • CAD: KiCad official libraries (CC-BY-SA 4.0).

Datasheet PDF