Skip to main content

PCAL6416A - How it works

The PCAL6416A is a 16-bit I²C GPIO expander from NXP Semiconductors. It adds 16 programmable I/O pins over I²C and handles voltage-level translation between different logic levels.

PCAL6416A chip on board
PCAL6416A chip on board

Datasheet

For an in-depth look at technical specifications, see the official PCAL6416A Datasheet:

PCAL6416A Datasheet

Detailed technical documentation for the PCAL6416A


GPIO expansion over I2C

The PCAL6416A GPIO Expander Breakout Board acts like an extension for your microcontroller's GPIO pins. Instead of directly connecting peripherals to the microcontroller, the I2C interface handles communication through the onboard PCAL6416A chip. The chip manages all GPIO operations internally and allows each pin to be individually configured as an input or output.

  • The I2C-bus interface uses only the SDA and SCL lines for communication with the host microcontroller.
I2C bus with pull-up resistors and multiple devices sharing SDA and SCL

Every device on the bus, including the PCAL6416A, connects to the same two shared lines: SDA and SCL. Each line needs one pull-up resistor (Rp) for the whole bus, not one per device, since I2C outputs only pull the line low and rely on the resistor to bring it back high. Devices 1 and 2 in the diagram represent any number of I2C peripherals sharing the bus alongside the expander, each identified by its own I2C address.

  • It provides 16 programmable GPIO pins divided into two 8-bit ports (Port A: A0-A7 and Port B: B0-B7).
  • Built-in voltage-level translation allows communication between devices operating at different voltages such as 1.8V, 2.5V, 3.3V, and 5V.
  • Each GPIO pin can independently function as either an input or an output using the configuration registers.
  • The board includes an interrupt output (INT) that alerts the microcontroller whenever an input state changes.
  • Supports programmable pull-up/pull-down resistors, input latching, interrupt masking, and configurable push-pull or open-drain outputs.
ℹ️
The PCAL6416A also has ESD protection, programmable drive strength, and 25mA output sink capability for directly driving LEDs.