MCP23017 - I2C 16 Input/Output Port Expander

Regular price £8.34 GBP
Regular price Sale price £8.34 GBP
Tax included.
Brand: Adafruit
Availability: In stock
SKU: A732
  • American Express
  • Apple Pay
  • Diners Club
  • Discover
  • Google Pay
  • Maestro
  • Mastercard
  • PayPal
  • Shop Pay
  • Union Pay
  • USDC
  • Visa

Description

Add another 16 pins to your microcontroller using an MCP23017 port expander. The MCP23017 uses two I2C pins (which can be shared with other I2C devices) to provide 16 general purpose pins. Each pin can be set as input, output, or input with a pullup resistor. Additionally, an interrupt can be generated via an external pin when any of the inputs change, eliminating the need for constant polling.

This chip operates with a voltage range of 2.7-5.5V, suitable for both 3.3V and 5V systems, and each I/O pin can sink/source up to 20mA, making it ideal for driving LEDs and similar devices. For higher current requirements, pairing with a high-power MOSFET is recommended. The DIP package allows easy insertion into breadboards and perfboards.

The I2C address is configurable via three address pins (ADDR0-2), enabling up to 8 unique addresses and therefore allowing up to 128 I/O pins on a single I2C bus.

This chip is used in Adafruit's RGB LCD + Keypad shield to control an LCD and read a 5-way keypad. Adafruit provides an Arduino library with example code for setting pin states, reading/writing individual pins, and enabling pullups.

  • Uses I2C 7-bit address between 0x20-0x27, selectable with jumpers
  • Operates from 2.7-5.5V
  • DIP package compatible with breadboards
  • 16 configurable GPIO pins (input/output/pullup)
  • Interrupt output for input change detection
  • Up to 8 devices (128 I/O pins) on a single I2C bus
  • Sink/source up to 20mA on each I/O pin

Download Datasheet