Adafruit
Adafruit MCP23017 I2C GPIO Expander Breakout
The Adafruit MCP23017 I2C GPIO Expander Breakout adds 16 extra GPIO pins to any microcontroller or microcomputer over I2C. Each pin can be configured as a di...
Get notified when back in stock
The Adafruit MCP23017 I2C GPIO Expander Breakout adds 16 extra GPIO pins to any microcontroller or microcomputer over I2C. Each pin can be configured as a digital output (driving up to 25 mA — perfect for LEDs) or as an input with optional internal pull-up resistors.
With three configurable address pins, you can connect up to 8 boards on a single I2C bus for a total of 128 GPIO. Two configurable interrupt (IRQ) pins let you monitor input changes without polling the bus. The MCP23017 runs on both 3.3V and 5V power and logic, making it compatible with virtually any development board.
Key Features
- 16 GPIO Pins – Each configurable as input (with optional pull-up) or output (up to 25 mA per pin)
- I2C Interface – Simple two-wire communication with 3 address pins for up to 8 devices per bus
- Dual Interrupt Pins – Configurable IRQ outputs eliminate the need for bus polling
- 3.3V and 5V Compatible – Works with any logic level without additional shifting
- STEMMA QT / Qwiic Ports – Solderless I2C daisy-chaining on both sides of the board
- Matching Ground Pads – Convenient ground connections alongside each GPIO pin
- Breadboard Friendly – Includes header strips for breadboard prototyping
Ideal For
- Projects requiring more GPIO than your microcontroller provides
- LED matrix or button matrix control
- Input expansion for keypads, switches, and sensors
- Daisy-chaining multiple expanders for large-scale I/O
Package Contents
- 1× Adafruit MCP23017 I2C GPIO Expander Breakout (with STEMMA QT / Qwiic connectors)
- 2× Header pin strips
Resources
Jargon buster
Plain-language definitions for the technical terms used above.
- breakout
- A breakout board carries a small or fine-pitched component and brings its connections out to standard, breadboard- and header-friendly pins. Describing a part as a breakout means it can be wired into a project without soldering directly to the component's tiny contacts.
- GPIO
- General-purpose input/output pins are microcontroller pins you can set in software to read signals, switch devices on and off, or connect to peripherals. The number of GPIO pins matters because it limits how many buttons, LEDs, sensors, and other parts you can wire directly to the board.
- I2C
- I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
- IRQ
- IRQ (interrupt request) is a signal line a device uses to alert a microcontroller that something needs attention, so the microcontroller does not have to poll continuously. Wiring an IRQ pin to a free input lets code respond promptly to events such as new data being ready.
- LED
- A light-emitting diode (LED) is a small electronic component that emits light when current flows through it in the correct direction. Because it only conducts one way, its polarity matters, and a through-hole LED must be soldered the correct way around to light up.
- microcontroller
- A microcontroller is a small computer on a single chip that runs a stored program and controls connected inputs and outputs such as buttons, sensors, displays and communication interfaces. In a device built around one, it is the part that executes the code and coordinates the device's behaviour.
- Qwiic
- Qwiic is a plug-in connector system for I2C devices that uses small 4-pin cables, so you can connect compatible sensors without soldering. It matters because your controller or adapter also needs Qwiic, or you will need a cable or breakout to wire it up.
- STEMMA
- A plug-and-cable connection system used on some maker electronics boards to make wiring simpler. If a product uses STEMMA, you need the matching cable or connector type to plug it in without soldering.
- STEMMA QT
- A small plug-in connector system for I2C boards that lets you connect compatible sensors and controllers without soldering. It matters because it can make wiring faster and less error-prone, especially when adding several small modules to a project.
introducing adafruit stemma qt
Document · 1.5 MB · Click any page to view full size
using mcp23008 mcp23017 with circuitpython
Circuit Diagram · 1.4 MB · Click any page to view full size
Resources & Downloads
Guides, code examples, and more
Related Tutorials
Free guides on learn.littlebird.com.au