Kevin, I'm adding a bit to my previous reply (since I've had some off-line conversations)... I re-read the I2C spec as well as the 8574 data sheet and I do believe that this would work. But, I have an uncomfortable feeling about the switch debouncing. If I were to use the PIC as the slave, I could debounce in software at the switch module before the master calls up for a status. If I debounce in the master, I'm afraid that I'd run into timing problems when other modules on the bus need more time to do their thing. Seems to me that 8574 being only I/O, that without some smarts - like "I'm busy debouncing switches, please wait", I may get some inconsistencies. Then again, the slow speed of the bus may naturally debounce for me. I could also debounce through hardware but, now I'm adding more stuff to the board that would probably equal the PIC-as-slave approach. Since I've got 4 switches on the board, it could start to add up. I've got some 8574's on the way, the wife and kids are away, there's a chip burnin' party at my house. Thanks again Kevin for finding this. [Then Kevin wrote] > PCF8574 Remote 8-bit I/O expander for I2C-bus > PF8575 Remote 16-bit I/O expander for I2C-bus > If I have read the datasheet correctly you they > would be a single device solution for this app. > Kevin Dale Kirmse