Initial MCP23017 implementation

Second on my list of I2C GPIO extenders to try out is the MCP23107. This has 16 GPIOs in two banks of 8, supports interrupts, is available as a QFN package (as well as DIP and SSOP), but doesn’t support PWM.

I have a basic working implementation of an MCP23017 driver in otb-iot although it’s missing read support at the moment. I’m finding that the device goes a bit squiffy if I read, so I’m probably doing something wrong.

Next up on my list of GPIO extenders to try is the TI PCF8574. That has 8 GPIOs, and a very basic interface (just a single register with GPIO states. (A 16 bit version is available.) That’s also available in a QFN package, hence my QFN20 breakout board. The PCF9574 is due on Monday - but the QFN20 is going to be somewhat longer so might be a while before I can try that out.

Once I have all three extenders up and running I’ll do a comparison, including cost.

comments powered by Disqus