TCA9535 GPIO Expander: 7 Checks for Floating Inputs and Interrupts

TCA9535 GPIO Expander: 7 Checks for Floating Inputs and Interrupts
Use TCA9535 GPIO safely by defining external input bias, preloading output latches, mapping both ports and servicing the correct interrupt source. This is a documentation-based planning guide, not a report of independent hands-on testing.

1. Confirm the exact expander and every pin role
TCA9535 is a sixteen-bit I2C GPIO expander organized as two eight-bit ports. Verify the package pinout, supply and board connections before allocating signals. The manufacturer specifically distinguishes it from related devices with internal I/O pull-ups: TCA9535 does not provide those input pull-ups. Similar register concepts do not establish identical electrical defaults across related part numbers. Build a pin table covering direction, idle level, external bias, load and whether each input should participate in interrupt monitoring. Manufacturer documentation.
2. Give undriven inputs a deliberate external bias
At power-on the I/O pins are configured as inputs. An unused or disconnected input therefore needs an appropriate external pull-up or pull-down rather than an assumption that the device holds it high. Check input thresholds, allowed voltages and current consumption for the actual supply. A five-volt-tolerant I/O feature is not permission to ignore power-state and interface limits elsewhere. Evaluate cable-disconnect and host-reset conditions as well as normal operation, so a floating input does not become a random command. Manufacturer documentation.
3. Strap addresses and design the I2C bus explicitly
The three hardware address pins select the device address and must be tied to defined levels, not left floating or changed casually while powered. Record the address convention used by the host library to avoid confusing a seven-bit address with a shifted transfer byte. Select SDA and SCL pull-ups from bus voltage, capacitance and timing requirements. A successful address scan establishes communication only; it does not prove that port mapping, output loading or the interrupt path is correct. Manufacturer documentation.
4. Preload output latches before enabling external actions
The output-port latch and configuration register serve different purposes. Write the intended inactive output levels while the pins remain inputs, then configure only the required pins as outputs. Review the documented reset values rather than assuming every latch begins low. A safe software sequence still needs suitable external hardware defaults where a load must remain inactive before initialization. Verify the physical pins with downstream actions disabled first, especially for reset lines, enables, relays or other signals with consequential polarity. Manufacturer documentation.
Newest in the store
5. Keep polarity inversion separate from output drive
The polarity-inversion registers alter the logical interpretation of input-port data; they are not a general replacement for changing output-latch values or physically inverting a load signal. Keep a clear distinction between pin voltage, input readback and application-level active state. Test both ports with known input levels and a documented bit map. Avoid whole-byte writes that unintentionally change unrelated outputs. Preserve a software shadow or another coherent update method when multiple functions share a port. Manufacturer documentation.
6. Read the port that caused the interrupt
INT is active low and open drain, requiring an appropriate pull-up. An input change can assert it, and the interrupt-reset behavior is associated with reading the relevant port or the input returning to its previous condition. Reading port zero does not clear a port-one source, or vice versa. The datasheet notes edge cases around the acknowledge interval, so this is not an unlimited event counter. Service pending inputs coherently and use another architecture if every short pulse must be captured. Manufacturer documentation.
7. Validate reset, direction changes and disconnected inputs
Exercise ordinary power-up, host reset, direction changes and cable-disconnect states with bounded test signals. Changing an output to an input can create an apparent interrupt when the observed state differs from the stored input state. Log both port reads, configuration and output-latch state when diagnosing unexpected assertions. Check output-current limits for the complete package, not just one pin. This guide describes a verification plan; it does not establish that an arbitrary expander board is suitable for safety-critical control. Manufacturer documentation.
Related reading: PCA9555 GPIO Expander: 7 Lessons for Safe Startup and Interrupts.
Catalog note: The exact-part search did not return a matching Epro listing during preparation. Check the current catalog; this guide makes no price, availability or included-accessory claim.
