MCP23017 vs MCP23S17: Which GPIO Expander is Good? [Updated]

Last updated on November 1st, 2023

The MCP23xx family of I/O expanders from Microchip Technology includes two popular models – the MCP23017 and the MCP23S17. While both these ICs provide 16 GPIO pins, there are some key differences between them. In this article, we will compare the MCP23017 vs MCP23S17 and explore their integration with Arduino.

MCP23017 VS MCP23s17
MCP23017 VS MCP23s17

Key Differences:

The primary difference between the MCP23017 and the MCP23S17 is the communication interface they use. The MCP23017 uses an I2C interface, while the MCP23S17 uses an SPI interface. This means that the MCP23S17 can operate at higher speeds compared to the MCP23017, but requires more pins for communication.

Another key difference is power consumption. The MCP23S17 has a higher power consumption compared to the MCP23017, which can be a concern in battery-powered applications.

Here are some key differences between the MCP23017 and the MCP23S17 summarized in a table:

Key DifferencesMCP23017MCP23S17
Communication InterfaceI2CSPI
Communication SpeedUp to 1 MHzUp to 10 MHz
Interrupt Pin Count22
Package TypeDIP, SOIC, TSSOPDIP, SOIC
Operating Voltage1.8V to 5.5V2.7V to 5.5V
Standby Current1 μA1.5 mA
PriceLowerHigher
Differences between the MCP23017 and the MCP23S1

Purchase links

Integration with Arduino:

Both the MCP23017 and the MCP23S17 can be easily integrated with Arduino. The Arduino platform has built-in libraries that support both I2C and SPI communication interfaces.

To use the MCP23017 with Arduino, you can use the Wire library, which provides functions for I2C communication. The library can be downloaded from the Arduino IDE Library Manager.

To use the MCP23S17 with Arduino, you can use the SPI library, which provides functions for SPI communication. The library can also be downloaded from the Arduino IDE Library Manager.

Once you have downloaded the appropriate libraries, you can connect the MCP23017 or MCP23S17 to the Arduino using the appropriate communication interface. You can then use the library functions to read or write data to the GPIO pins.

Conclusion

In conclusion, the MCP23017 and MCP23S17 are two popular I/O expanders from Microchip Technology that provide 16 GPIO pins. While both ICs are similar in many ways, there are some key differences between them, including their communication interface, operating speed, pin requirements, and power consumption. Nevertheless, both ICs can be easily integrated with Arduino using the appropriate libraries, providing a simple and effective way to expand the I/O capabilities of your Arduino projects.

Leave a Reply

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