Say no to MCP23016, YES to MCCP23017!!


New Member
There has been alot going around on the board lately about the MCP23016 and other IO expanders. A note to anyone who is, or desires to use microchips MCP23016 IO expanders...

Dont bother. Not for new designs anyways. As I said in my previous post about overclocking the I2C, I've been playing with these chips as of late, and having experience with both of them, the 17's are FAR superior to the 16's for a number of reasons:

No clock circuit. The 16's require an external resistor and capacitor for clock and current setting. This is eliminated with the 17's, reducing component count and possible aggrivating headaches.

The Pin layout is a much happier design to work with. The 16's have one side of the chip interwoven with pin functions for this and that making it a plain old pain in the patootie to design boards for, wire up, etc compared to the 17's. The 17's have two banks of 8, just like the 16's, but all 8 IO's for both banks are all in line with each other, with one bank on each side of the chip.

Separate interrupt lines for each bank. IO banks A and B on the 17 each have thier own interrupt line, compared to a single shared itnerrupt pin on the 16, potentially increasing the speed with which you can access the information available from the chip. With command cycles so precious sometimes on an interpreted chip like the picaxe, this can make a big deal of difference.

Hardware reset pin. Not present at all on the 16. This can speed up a reset to specific values, which leads us to....

You can set the power on default values on the 17's. Non existant on the 16's. A quick blip to the reset pin will set to these values. (This is the way I understand anyways. Dont quote me on it as I havn't tried it specifically myself).

Configurability...Each port, and each bank, have more options and more configurations on the chip as a whole than the 16. This may make it seem a bit more complex to use in software, but ti's really not, and makes alot of things faster and easier with the 17.

And finally...speed. It goes to 1.7mhz, which I've theoretically tested it to 1.6 and had it work with a 40X running at ~16 mhz.

Kinda long, sorry. But this is a great chip that fits very well into the picaxe quiver of "accessories" and by my accounts anyways, far superior to the MCP23016. They're also US $.30 cheaper than the 16's as well, and are in production as we speak.

--Andy P

Chris DeHut

Senior Member
Oh crap Andy,

I have my entire circuit(s) designed and drawn using the 23016 and two of them built. Darn, if I had only waited a couple more weeks :-(



Senior Member
In case you need not that much I/O pins, you may use the mcp23008, also brand-new and functionally 100% compatible with the mcp23017, just 8 i/o instead of 16



New Member
Not to worry Chris. Theres nothing WRONG with using the 23016's, it's just that the 17's are a better way to go if you had to do it all over again! That's just my opinion though, and YMMV. Ya never know. Your not alone though. I've got a number of boards for my current project that use the 16's, and since they're not pin compatible, I'm kicking myself for not having used 17's. Would ahve made my life alot easier. Luckily, theres enough still left to do with the project that I can use the 17's instead, but it would have been ncie to have used them from the start.

--Andy P