Originally Posted By: tonyc
Looks like the I2C version can handle multiple chips on the same bus, but the SPI version can't.

SPI is fine with multiple devices per bus, but does suffer from the need to dedicate an I/O pin per device for "device select".

I2C of course has device "address" as part of the protocol, so there it's just a matter of how many different device addresses any particular type of chip can do.

But either way, a pair of 16-bit expanders give a LOT of extra I/O. But if one really needs tons of I/O, then perhaps the solution is to start with a larger microcontroller. There are Arduino boards with bigger chips ("Mega 2560" board), and then there's the Wiring-S board (very, very similar to Arduino), both of which offer 54 I/O pins.

Cheers


Edited by mlord (28/09/2012 14:35)