XL9535 — i2c address & wiring
16-bit i2c GPIO expander — the PCA9535 clone behind DIN-rail relay boards like this one.
Key facts
XL9535 at a glance
| i2c address | 0x200x210x220x230x240x250x260x27 address-selectable via pins/jumpers |
|---|---|
| Logic voltage | 3.3–5 V |
| Type | expander |
| Part | XL9535 (PCA9535-compatible) |
| Ships with | generic modules — plain 0.1″ headers, no connector system |
The chip
What the XL9535 (PCA9535-compatible) actually is
Register-compatible with NXP's PCA9535: sixteen GPIO in two 8-bit ports with input, output, polarity-inversion and configuration registers, plus an interrupt-on-change output. The linked module is the common industrial form — the expander driving eight 10 A SPDT relays on a USB-C-powered, DIN-rail-mountable board, stackable via address jumpers.
Watch out: Its 0x20–0x27 block is the same one used by the PCF8574 and the MCP23017, so mixed-expander buses collide immediately — map addresses before stacking boards. And drive relay coils from their own supply: eight coils switching on the logic rail will brown out the bus.
Wiring
How to connect the XL9535
The XL9535 talks i2c at address 0x20 (up to 8 selectable addresses, handy when you need more than one on the same bus). It runs at 3.3–5 V, so match your host's logic level — if your host is 5 V and a board on the bus is 3.3 V-only, add a level shifter. Use the compatibility checker to confirm the exact cable for your setup.
Because the address is selectable, you can run several XL9535 boards on one bus by setting each to a different address — no extra wiring beyond the shared SDA/SCL.
Wiring is the usual four: power, ground, SDA and SCL, plus pull-up resistors — almost always already fitted on the breakout. Nothing showing up? Run an i2c scan first; if the bus is silent, the 7-step checklist finds it faster than guessing.
Go deeper
Guides covering the XL9535
Alternatives
Other gpio expander boards
Watch the bus
Boards that clash with the XL9535
These want an address the XL9535 also answers (0x23), so they can't share a bus with it untouched. If one is address-selectable, strap it elsewhere; if not, the conflict guide covers the multiplexer and second-bus routes, and the collision roundup explains why a scan won't warn you.
Get one
Questions
XL9535 i2c FAQ
What is the XL9535's i2c address?
The XL9535 uses 0x20 or 0x21 or 0x22 or 0x23 or 0x24 or 0x25 or 0x26 or 0x27, selected with an address pin or solder jumper on the board. If a scan turns up something unexpected, our i2c address list names the usual suspect for every address.
What voltage does the XL9535 run at?
3.3–5 V logic. That range covers both 3.3 V and 5 V hosts, so it drops onto a Pi, ESP32 or Arduino without a level shifter.
Can I use two XL9535s on one i2c bus?
Yes — set each one to a different address (0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27) using its address pin or jumper, then wire both to the same SDA/SCL. That gives you up to 8 on a single bus before you need a multiplexer.
Does the XL9535 come as a plug-together breakout?
Not in the mainstream connector ecosystems — XL9535 modules are generic boards with 0.1″ headers, so you'll be soldering headers and running jumper wires to SDA, SCL, power and ground.
What should I watch out for with the XL9535?
Its 0x20–0x27 block is the same one used by the PCF8574 and the MCP23017, so mixed-expander buses collide immediately — map addresses before stacking boards. And drive relay coils from their own supply: eight coils switching on the logic rail will brown out the bus.