i am trying to buy parts for an upcoming project. can i use more than one of these i2c protocol multiplexers with arduino?i would like to use three...http://search.digikey.com/scripts/DkSearch/dksus.dll?WT.z_header=search_go&lang=en&site=ca&keywords=MCP23016-I%2FSP-ND&x=4&y=12

If you have not used I2C before, check out Nick Gammon website for information he recently posted.http://www.gammon.com.au/forum/?id=10896

With the quote above, I do not believe you need that complexity. The I2C bus with MCP can have 8 devices on one SS (select) line. To create another set on the same bus, share the MISO/MOSI/SCK lines, but create another CS (SS) select line for the next set of devices. The only thing I have not checked is how many devices (loads) the ATMega can drive.

If you have not used I2C before, check out Nick Gammon website for information he recently posted.http://www.gammon.com.au/forum/?id=10896

With the quote above, I do not believe you need that complexity. The I2C bus with MCP can have 8 devices on one SS (select) line. To create another set on the same bus, share the MISO/MOSI/SCK lines, but create another CS (SS) select line for the next set of devices.

Thanks for the mention! I find it helps me to understand things if I document them.

However I think in this case you are confusing SPI with I2C. SPI uses MISO/MOSI/SCK/SS lines, not I2C.

As far as the original question goes, since the expander has 16 ports, and you can multiplex up to 8 of them by jumpering the address-select lines, that gives you 128 ports which is probably enough for all but the most ambitious project. After that, another approach would be to use a second Arduino (this takes some of the processing load off the first one) and connect the two Arduinos together using SPI.

The expander shield looks cool BTW! Where do you get that? (EDIT: Oh, I see from the signature).

Please post technical questions on the forum, not by personal message. Thanks!

Additionally, I have a shield for the MCP23017 readymade with 4 chips on the board, plus cable and breakout boards for getting the 64 I/O out to a breadboard or screw terminals.

I realise that this is an old thread but hope that someone knowledgable will reply: Is the MCP23017-based board from macetech just a port expander or is it actually an I2C MUX that would enable me to connect many I2C devices with the same slave address to a single Arduino Uno? If it's the latter then I want one!