ET-A04
MCP23017 16-Bit I/O Expander
Sixteen extra GPIO pins over I²C, Qwiic
AED 19.00
Out of stockOverview
Sixteen extra GPIO pins over I²C, Qwiic
The ET-A04 is built around the Microchip MCP23017 — 16 GPIOs (2 × 8), per-pin direction, internal 100k pull-ups, interrupt-on-change. It connects over I²C up to 1.7MHz (0x20 (0x20–0x27 via jumpers → 128 GPIOs per bus); Qwiic / STEMMA QT) and is powered from 1.8–5.5V; 25mA per pin.
Two Qwiic / STEMMA QT connectors let you chain it with other boards without soldering, and the 2.54 mm header fits a breadboard.
Designed in Dubai by ElectroTrical — the full schematic, BOM and design notes are published below.
Good for
- Button panels and keypads
- Many LEDs or relays
- Pin-hungry projects on small boards
Key features
What makes it different
Expander
Microchip MCP23017: 16 GPIOs (2 × 8), per-pin direction, internal 100k pull-ups, interrupt-on-change
Interface
I²C up to 1.7MHz, 0x20 (0x20–0x27 via jumpers → 128 GPIOs per bus); Qwiic / STEMMA QT
Supply
1.8–5.5V; 25mA per pin
Libraries
Adafruit_MCP23017 / Adafruit_MCP23X17, CircuitPython adafruit_mcp230xx
Qwiic / STEMMA QT
Two JST-SH connectors plus a 2.54 mm header — 3.3 V and 5 V hosts.
Open documentation
Schematic, BOM and layout notes published for every board.
Specifications
Technical specifications
| Expander | Microchip MCP23017: 16 GPIOs (2 × 8), per-pin direction, internal 100k pull-ups, interrupt-on-change |
|---|---|
| Interface | I²C up to 1.7MHz, 0x20 (0x20–0x27 via jumpers → 128 GPIOs per bus); Qwiic / STEMMA QT |
| Supply | 1.8–5.5V; 25mA per pin |
| Size | 50.8 × 25.4 mm |
|---|---|
| Mounting | 4 × M2.5 holes, 2.54 mm from each corner |
| Connectors | 2 × Qwiic / STEMMA QT (JST SH 4-pin) · 7-pin 2.54 mm header |
| Main IC | MCP23017-E/SO (LCSC C47023) |
| Revision | Rev A |
| Libraries | Adafruit_MCP23017 / Adafruit_MCP23X17, CircuitPython adafruit_mcp230xx |
|---|
| JP1 (default Closed) | Power LED (cut = off) |
|---|---|
| JP2 (default Closed) | I²C pull-ups (cut = off) |
| JP3–JP5 (default Open) | Bridge to set A0–A2 → address 0x20–0x27 |
Performance
Scale
Pinout
Pin map and connections
| Pin | Name | Type | Function |
|---|---|---|---|
| 1 | VIN | Power | 3.3–5V |
| 2 | GND | Ground | Ground |
| 3 | SCL | I²C | I²C clock |
| 4 | SDA | I²C | I²C data |
| 5 | INTA | Signal | Port A interrupt |
| 6 | INTB | Signal | Port B interrupt |
| 7 | RST | Control | Low = reset (pulled up) |
Qwiic / STEMMA QT pins: GND, VIN, SDA, SCL (same on both connectors). I²C pull-ups (10 kΩ) are on the board; cut JP2 to remove them.
Mechanical
Dimensions and what's in the box
In the box
- 1 × ET-A04 MCP23017 16-Bit I/O Expander (assembled)
- 1 × 7-pin 2.54 mm male header, unsoldered
Getting started
- Plug in a Qwiic / STEMMA QT cable, or solder the header and wire VIN, GND, SDA and SCL
- Libraries: Adafruit_MCP23017 / Adafruit_MCP23X17, CircuitPython adafruit_mcp230xx
- Run an I²C scanner to confirm the address: 0x20, 0x20, 0x27
Compare
Which I/O expander?
| MCP23017 16-Bit I/O Expander (this board)This board | ET-A07 PCF8574 8-Bit I/O Expander | ET-A03 4-Channel Level Converter | |
|---|---|---|---|
| What it does | Sixteen extra GPIO pins over I²C, Qwiic | Eight extra GPIO pins over I²C, Qwiic | Bidirectional 1.8–3.3 V ⇄ 3.3–5 V on four lines |
| Interface | I²C up to 1.7MHz, 0x20 (0x20–0x27 via jumpers →… | I²C 100kHz, 0x20 (0x20–0x27 via jumpers); Qwiic /… | — |
| Best for | Button panels and keypads | A few extra buttons or LEDs | 5 V sensors on 3.3 V boards |
| Price | 19 AED | 14 AED | 12 AED |
Downloads
Documents and design files
Need a custom version of this board?
Different connector, size or sensor? We design and build custom variants.