MCP23017 PCB Design Guide: Footprint, Pinout, and Alternatives
16-bit I2C GPIO expander with two interrupt outputs, three address pins, and per-pin pull-ups.
MCP23017 adds two eight-bit GPIO banks over I2C, with three hardware address pins, per-pin direction and pull-up control, polarity inversion, and two interrupt outputs. It supports up to eight devices per bus, but two nominal GPIOs are not bidirectional: GPA7 and GPB7 are output only on MCP23017.
The bus headline also needs voltage context. 100 kHz works from 1.8 V to 5.5 V, 400 kHz mode requires 2.7 V to 5.5 V, and 1.7 MHz mode requires 4.5 V to 5.5 V. A 3.3 V design is therefore bounded to 400 kHz by the current Rev D timing table.
Firmware failures usually come from the register map and interrupt state machine, not I2C wiring. IOCON.BANK changes the register addresses, interrupt comparison can use either the previous port state or DEFVAL, and reading the wrong register at the wrong time can leave the interrupt asserted.
What breaks boards
GPA7 and GPB7 are output only
Current DS20001952D explicitly restricts these two pins on MCP23017 even though the family is described as a 16-bit port. Budget only fourteen bidirectional pins plus two output-only pins.
BANK changes the register map
BANK=0 is the reset default with A/B registers interleaved. BANK=1 separates the Port A and Port B register blocks. Driver addresses must match the configured mode.
1.7 MHz needs a 4.5 V supply
400 kHz mode requires 2.7 V to 5.5 V and 1.7 MHz mode requires 4.5 V to 5.5 V. Do not configure Fast-mode Plus on a 3.3 V rail.
25 mA is a per-pin capability, not a simultaneous 16-pin current budget
Use the guaranteed VOL/VOH test currents and the absolute maximum VDD/VSS totals when budgeting a loaded port. Driving every output at the marketing parametric simultaneously is not justified.
Slow supply ramps can miss POR guidance
Table 1-1 gives 0.05 V/ms minimum VDD rise-rate design guidance to ensure power-on reset and says it is not tested. Use RESET when the supply ramp may be slower or uncertain.
Key specifications
| Parameter | Value | Source |
|---|---|---|
| Port | 16-bit remote port; GPA7 and GPB7 are output only on MCP23017 | DS20001952D Features |
| Supply | 1.8 V to 5.5 V at -40 C to +85 C; 4.5 V to 5.5 V at -40 C to +125 C | DS20001952D Features and Table 1-1 |
| I2C modes | 100 kHz at 1.8 V to 5.5 V; 400 kHz mode requires 2.7 V to 5.5 V; 1.7 MHz mode requires 4.5 V to 5.5 V | DS20001952D Table 1-3 |
| Addressing | Three hardware address pins permit up to eight devices on one bus | DS20001952D Features |
| Standby current | 1 uA maximum from -40 C to +85 C; 3 uA maximum at +85 C to +125 C with 4.5 V to 5.5 V supply | DS20001952D Table 1-1 D005 |
| GPIO output tests | VOL 0.6 V maximum at 8 mA and VDD 4.5 V; VOH VDD - 0.7 V minimum at -3 mA and VDD 4.5 V | DS20001952D Table 1-1 D080/D090 |
| Weak pull-up | 40 uA minimum, 75 uA typical, 115 uA maximum at VDD 5 V | DS20001952D Table 1-1 D070 |
| Power-on reset rise rate | 0.05 V/ms minimum design guidance to ensure POR; not tested | DS20001952D Table 1-1 D003 |
| Interrupts | INTA and INTB can operate independently or together and compare pin changes or DEFVAL | DS20001952D Features and device overview |
Verified against the manufacturer datasheet on 2026-07-14. Confirm the current revision before production use.
Alternatives
- MCP23S17: SPI variant from the same family; use when the host has spare SPI or bus speed/capacitance makes I2C unattractive.
- MCP23008: Eight-bit I2C sibling when sixteen pins and the larger package are unnecessary.
- TCA9555: TI 16-bit I2C expander alternative; compare register behavior, interrupt semantics, pinout, and drive limits before substitution.
Common questions
- How many MCP23017 devices can share one I2C bus?
- Eight, selected by A2:A1:A0. Confirm 7-bit addressing in firmware and size the bus pull-ups for total capacitance.
- Can MCP23017 run at 1.7 MHz from 3.3 V?
- No. Revision D specifies 1.7 MHz only from 4.5 V to 5.5 V; at 3.3 V the supported ceiling is 400 kHz.
- Are all sixteen pins bidirectional?
- No. GPA7 and GPB7 are output only on MCP23017 according to the current datasheet.
Sources
- MCP23017 product pageMicrochip Technology Inc. · verified 2026-07-14 · manufacturer
- MCP23017/MCP23S17 datasheetMicrochip Technology Inc. · DS20001952D · verified 2026-07-14 · manufacturer
Found an error? Submit a correction — we verify every correction against the manufacturer’s datasheet.