Soldered.com ↗ GitHub ↗
Full product documentation, content & links

IO Expander MCP23017 Breakout

Qwiic Ecosystem Qwiic Actuators
Communication & Wireless Expanders and Extenders
Interface ['i2c'] Qwiic Yes

Expand your microcontroller's capabilities with the MCP23017 IO Expander, adding 16 configurable digital pins via I2C.

Running out of IO pins on your microcontroller? The MCP23017 I2C IO Expander is the perfect solution, allowing you to add 16 fully configurable digital IO pins to your project with just two wires (I2C protocol). The pins can be driven using our Arduino and MicroPython libraries. It's a powerful tool that enables you to build bigger and complex projects without upgrading your microcontroller. Whether you're driving multiple LEDs, reading a large array of buttons, or managing a complex sensor network, this IO expander provides the extra capacity you need.

Each pin can be individually configured as an input, output, or input with an internal pull-up resistor. The ability to change the I2C address via onboard jumpers means you can connect up to eight of these breakout boards to a single microcontroller, giving you a massive 128 additional IO pins. With the ability to sink or source up to 25mA per pin, you can directly drive LEDs and other components without the need for extra driver circuitry. This makes it perfect for students learning about digital electronics, makers building custom control panels, and engineers prototyping complex systems.

What makes this breakout special is its seamless integration into our Qwiic ecosystem, allowing for quick connections to your favorite boards and other I2C modules. As with all our products, it's open-source, with all design files available for you to modify and adapt. Plus, as with all our products, 2-year warranty and technical support are included.

  • Standard current consumption: 1 mA
  • Standby current consumption: 1 μA
  • Logic voltage level: 5V
  • Operating voltage: 1.8V to 5.5V
  • Communication: I2C (address: 0x27)
  • Connectors: Qwiic x2
  • Mounting holes: 2
  • Dimensions: 38 x 22 mm / 1.5 x 0.9 inch

Interface

Interface I2C
Qwiic Compatible yes
I2C Address Default 0x27
I2C Address Changeable yes
Breadboard Compatible yes

Power

Supply Voltage Min V 3.3
Supply Voltage Max V 5
Logic Level 3v3_or_5v
Operating Current (mA) 1
Sleep Current Ua 1

Other

Ic Part Number MCP23017
Start Here
1
Connect

Plug into any Soldered Dasduino or microcontroller with an easyC cable — no soldering required.

2
Install the library

Add the Soldered library for your language (below).

3
Run an example

Open the get-started example and read your first value.

What's in the Box
IO Expander MCP23017 Breakout (main product) 333007
Header pins (unsoldered)
Header pins included for all breadboard-compatible pins
Pinout
Last updated:
Technical Resources 2 resources
Documentation 1 resource