>>5) Slaves should be able to be detected by the master, and should not >>have to have addresses set via dip-switches or other means. Globally >>(factory set) unique addresses are ok (aka 1-wire style), dip-switches >>are not (aka i2c is not an option). > >Nothing that you have said actually rules out I2C. If you use the >'general call' address, you can discover the devices on the bus and >then dynamically assign an I2C address. In reality it depends almost >entirely on how dynamic you little network is, if it is highly >dynamic then this may result in a slow start-up each time. That is my reaction also. You don't say how these devices are connected into the network, are they in a card cage, separate devices connected by cables, some other scheme? None of this removes the possibility of having an appropriate number of pins on the connection plug that sets the device address for that node, which gets around your dislike of dip switches. The other possibility I thought of would be the CAN bus, which has a rather different way of setting who receives what, but does have limited message length, which requires a bit of thinking about to send long messages. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist