MCP23017SP Project

The MCP23017SP is a I2C Bus expander featuring two 8-bit programmable ports, I picked this chip because of already existing support and using the I2C port seemed to be the easiest way to add the ports I need for a few projects I was looking at starting.

This is my first project for the Beaglebone black, pushing buttons and turning on LED's I done on so many other boards. With the higher cost of the beaglebone over some of the other boards I use. Using an external board with I2C help protect from blowing out any pins on the Beaglebone or the board itself. With the Bus expander chips only a couple of dollars, blowing one of them is not as big a deal as $30+ dollar board. Also the expander chips allows me to access 5 volt logic levels that I can not do with the beagledone.

My first step was learning how to read and write to the I2C bus, here is my simple library with the Z-80 bus control program to load programs.