Get extra 16 lines of I/O with MCP23017

The MCP23017 provides an easy, cheap and effective solution by providing an extra 16 lines of I/O which can be written to and read from through the I2C interface that most microcontrollers provide.

MCP23017-IO-arduino mcp23017-pinout

Wiring

To wire your MCP23017 Expander to your Arduino, connect the following pins:

  • Pin 15 (A0) –> Arduino Ground
  • Pin 16 (A1) –> Arduino Ground
  • Pin 17 (A2) –> Arduino Ground
  • Pin 18 (Reset) –> Arduino +5V
  • Pin 19 (Int B) –> N/C
  • Pin 20 (Int A) –> N/C
  • Pin 21 – 28 –> Button Pin (-)
  • Pin 1 – 8 –> Led Pin(+) via 470ohm Resisotr
  • Pin 9 (Vdd) –> Arduino +5V
  • Pin 10 (Vss) –> Arduino Ground
  • Pin 11 –> N/C
  • Pin 12 (Scl) –> Arduino Pin A5
  • Pin 13 (Sda) –> Arduino Pin A4
  • Pin 14 –> N/C

Don’t forget to wire all the Ground Pins of each Led to the Arduino Ground. Also connect all the tact pins(-) via 10Kohm Resistor to the Ground and all the tact pins(+) to the +5V.

Recommended Software

  • none

Instructions and Code

Posted in Arduino Tutorials Tagged with: , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

*