
Each of the ports can sink up to 25mA of current, so this is enough to drive certain devices So the device attached to one of the ports can both receive and send The 2 pins that it uses are for the clock line and data line.Įach of the I/O ports are bidirectional. So it uses a very minimal number of I/O pins for communication. So onlyĢ digital pins on the arduino need to be used. The MCP23017 chip uses the I 2C bus and protocol. Just using 2 pins on the microcontroller. The MCP23017 chip will let us have an additional 16 I/O ports simply by If we need more inputs or outputs to a microcontroller, we canĮxpand the number of I/O ports with an I/O port expander chip.


This is a very useful thing to do if we need additional I/O ports for a microcontroller. In this project, we will show how to connectĪn MCP23017 I/O port expander chip to an Arduino microcontroller. How to Connect an MCP23017 I/O Port Expander to an Arduino
