MCP23017 I2C IO expander breakout board


Jechavarria has designed this breakout board with the MCP23017 I2C IO expander:

With this board you can drive a 2×16 display LCD with only two signals (I2C).

I also develop some code (in C) to manage this device, based on a AT89C51RE2 microcontroller. Please feel free to visit for more info, schemes, and source code!

Via the forum.

Join the Conversation


  1. I’ve wondered about the economics of these IO expander ICs: would it not be as cheap (cheaper?) and more flexible to use an full blown MCU to do that task? Ok, you’ll need to write a tiny bit of firmware… but so much more flexibility…

    1. I agree for stuff where you can do the I/O on a larger processor, though if needing a lot of I/O (more than is available on your chosen micro), then these could be handy.

  2. Joe:

    It’s right that you can use a higher processor to do this, but when you’ve a lot of IO’s to manage, I think this kind of solution is better, in terms of connections and processing. Don’t forget that with this device you can have up to 128 IO’s with only two pins!! For a small microcontrollers, this will be very usefull in some applications. And about the software, you’ve reason that it isn’t very flexible, I only try to show how you can work with this device. Obviously, it can be improved. Thanks for your comments!!

Leave a comment

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

Notify me of followup comments via e-mail. You can also subscribe without commenting.