NXP PCA9535PW,112: A Comprehensive Technical Overview and Application Guide for the 16-Bit I2C I/O Expander
In the realm of embedded systems and IoT design, efficiently managing a multitude of digital inputs and outputs (I/Os) with a limited number of microcontroller GPIO pins is a common challenge. The NXP PCA9535PW,112 stands as a pivotal solution to this problem. This device is a 16-bit remote I/O expander for the two-line bidirectional I2C-bus (Inter-Integrated Circuit), designed to provide general-purpose parallel input/output expansion. Its ability to simplify circuit design, reduce component count, and conserve precious microcontroller resources makes it an indispensable component in a wide array of applications.
Technical Deep Dive: Architecture and Key Features
The PCA9535PW,112 belongs to the PCA9535 family and is offered in a TSSOP-28 package. Its core functionality is to add 16 additional I/O ports to a system master via the ubiquitous I2C protocol. Let's break down its most critical technical attributes:
I2C-Bus Interface: The device operates as a slave on the I2C-bus, supporting a 100 kHz standard-mode and a 400 kHz fast-mode bus. It features a programmable slave address, allowing up to eight devices (128 I/O lines) to be connected on the same bus, providing immense scalability. The address is set by configuring the A0, A1, and A2 pins.
Quasi-Bidirectional I/O Ports: Each of the 16 I/O pins can be independently configured as an input or an output. In the quasi-bidirectional mode, when used as an input, the pin features a weak pull-up, eliminating the need for an external resistor in many cases. As an output, it can sink a substantial amount of current (10 mA at 5V per I/O), sufficient to drive LEDs directly.
Low Power Consumption: A significant advantage of this IC is its extremely low standby current consumption, making it ideal for battery-powered and energy-sensitive applications.
Interrupt Output: The active-low open-drain interrupt (INT) output is a powerful feature. It is asserted whenever an input port changes state, signaling the master microcontroller that an event requires attention. This eliminates the need for the master to continuously poll the device, drastically improving system efficiency.
Internal Registers: The device is controlled through a set of internal registers:
Input Port Register: Reads the logic level on the I/O pins when configured as inputs.
Output Port Register: Sets the logic level on the I/O pins when configured as outputs.
Polarity Inversion Register: Allows for inverting the polarity of the Input Port register.
Configuration Register: The most crucial register, used to set the direction of each I/O pin (1 = input, 0 = output).

Application Guide: Bringing the Expander to Life
Integrating the PCA9535PW,112 into a design is straightforward. Here’s a guide to its typical application:
1. Hardware Connection: Connect the SDA and SCL lines to the corresponding I2C pins of the host microcontroller. Pull-up resistors (typically 4.7 kΩ) are required on these lines. The INT pin can be connected to an interrupt-capable GPIO on the microcontroller. The A0, A1, and A2 pins are tied to VDD or GND to set the unique device address.
2. Software Initialization: The microcontroller (master) initializes communication by sending the device's slave address (with the R/W bit set to write) over the I2C-bus. The first data byte sent typically points to the Configuration Register. Subsequent bytes are written to this register to define each pin as an input or output.
3. Operation:
Reading Inputs: To read the status of pins set as inputs, the master sends a command byte to point to the Input Port register and then performs a read operation. The INT pin can be used to trigger this read only when a change occurs.
Controlling Outputs: To set output pins, the master writes to the Output Port register. The logic levels written (high or low) will appear on the pins configured as outputs.
Common Use Cases:
Sensor Hub: Reading a large number of digital sensors (e.g., push buttons, switches, PIR motion sensors).
LED Matrix Control: Driving arrays of LEDs, seven-segment displays, or status indicators.
Industrial Control: Interfacing with relays, actuators, and opto-isolators in control systems.
System Monitoring: Monitoring system health signals like fan tachometers, door open/close switches, and alarm triggers.
ICGOOODFIND: The NXP PCA9535PW,112 is a highly versatile and robust I2C I/O expander that offers a perfect blend of simplicity, performance, and scalability. Its interrupt-driven functionality, high drive capability, and multi-device support make it an outstanding choice for designers looking to extend the I/O capabilities of any microcontroller without compromising power efficiency or system architecture. It remains a fundamental building block in modern electronic design.
Keywords: I2C Expander, GPIO Extender, Quasi-Bidirectional I/O, Interrupt Output, Low-Power Design.
