Hi all, Looking for a simple way to have multiple PICs communicate with each other over distances of up to a couple hundred feet (which conservatively includes the vertical lengths up to the ceiling). Currently I'd say about 10 rooms, but expandability to say 16 rooms would be nice. Data speed is low (each message will only be a few bytes long, and messages should not exceed 1 per minute). But to reduce wiring, I'd like to use a bus type system, rather than a star-type configuration with a central room acting as a hub. With the bus type system, I will designate one PIC as the master and the rest as slaves. >From what I understand of SPI, I will need a separate slave-select line for each slave, so that adds more wires. My understanding of I2C is that it is truly a bus system -- just 2 wires can be shared among all PICs. Add power and ground, and I can use plain jane 4-conductor telephone wire for this -- nice! Another benefit is that I would like to use PIC16F872's all around, and these have I2C built in. The issue though, is that I2C has a limited distance, though I understand that at lower speeds, I can get more distance. But how much? I have yet to learn the specifics of I2C, including the various speeds available, but at a high level, would a couple hundred feet reliably be possible for my snail-like data-rate? One option to solve this, is to add on one of Philip's I2C bus extenders such as the P82B715 ($3.38 ea from Digikey, and available in picdude-friendly SOIC packaging). Would this extender be necessary for my app? I've also looked at 1-wire, which is appealing, but implementation looks more time-consuming, since the PIC does not have 1-wire support built in. Sure, I can code it in, but simplicity is an appealing factor for this one-off project. Cheers, -Neil. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist