MCP23017 I/O Expansion Breakout Board

Breakout board that can be driven by a microcontroller via the I²C-Bus serial interface, providing 16-bit I/O expansion in serial or parallel mode.

SKU 7100-FT1650KEAN 8219671099233Item type: Kit

Description

Breakout board based on the Microchip MCP23017 I/O expander, which can be driven by a microcontroller (Arduino, for example) via the I²C-Bus serial interface, providing 16-bit I/O expansion in serial or parallel mode.
Each GPIO can be an output capable of sourcing up to 25 mA, or an input with an optional internal pull-up resistor.
The breakout also features two IRQ (Interrupt Request) pins that can be configured on the inputs whose changes need to be monitored.
On the board, all the I/O pins, the serial communication pins and the power pins are brought out to 2.54 mm male header strips positioned along the sides of the module, making it easy to mount on a breadboard or other boards. A 4-pole strip is also provided on one of the short sides of the module for connecting to the bus.
The ability to set eight addresses for the unit via DIP switch allows up to eight I/O expanders to be placed on the same bus, controlling a maximum of 128 I/O lines.
The board’s supply voltage is 5 Vdc.
Circuit diagram

The Microchip MCP23017 IC
The MCP23017 is a 16-bit I/O expander with two 8-bit ports, using the I²C bus to communicate with the master system.
With just two wires, it allows the state of 16 lines to be read or set.
It consists of several registers for configuring the I/O as inputs or outputs, managing polarity and storing data.
It also has two interrupt pins, which can be associated with the ports individually or combined with a logical OR for both.
It can be set to 8 different addresses, allowing up to 128 I/O lines to be managed using up to 8 I/O expanders on the same bus.
Block diagram of the MCP23x17

The main features of the MCP23017 are:
• High-speed I2C data interface, operating at 100 kHz, 400 kHz or 1.7 MHz;

• I²C-Bus address settable in 8 combinations;
• interrupt pins configurable for level and logic function;
• configurable interrupt source;
• polarity inversion register for inputs;
• external reset input;
• standby current of 1 μA max;
• supply voltage from 1.8 V to 5.5 V.

Breakout boards

Breakout boards are prototyping boards with the relevant component already soldered on, whose connections are brought out to easy-to-use pads with a standard pitch and termination; these connections are typically 2.54 mm pitch pads, like those of classic DIP ICs.
To help those who would like to use SMD components but lack the means or skill to solder them, a number of ICs have been selected (including sensors, switching power supplies, battery chargers, linear amplifiers, etc.) and mounted on ready-to-use boards.
These breakout boards are useful both for those who want the best of SMD electronics already available in a “traditional” format, and for those who -while able to work with SMD components- need to have such components available on prototyping boards to fit into existing circuits and run tests, or to build prototypes that integrate the functions of the relevant ICs before making the final PCB for a piece of equipment.

Example of the breakout board connected to an Arduino UNO and an 8-relay module
Warning! The Arduino UNO rev.3 board, the breadboard and the relay board are not included.
Setting the MCP23017 device address
Documentation and useful links

About us

Open-Electronics.org is the brainchild of a world leader in hobby electronics Futura Group srl. Open-Electronics.org is devoted to support development, hacking and playing with electronics: we share exciting open projects and create amazing products!

Open-Electronics.org is not just a container of ideas: it is also a web site lead by a team of engineers and geeks who will take part in the discussions and give support.

Our mission is to become a reference Open Source hacking site with ideas and feedback aimed to enrich the community.