After an intensely frustrating fortnight (investigating every permutation of code order, bit testing, board proving) trying to get this I2C network going reliably I think I've hit on the problem. Hopefully this will help anyone who has problems getting I2C to work. Initial single slave tests were done with the buss running at 98.8kHz, and that seemingly worked OK. When that set-up was moved to the production unit comprising a master and 4 slaves - flakey, to say the least. Results just didn't make logical sense, and the bodgineering needed to make the comms work was getting ridiculous The final fix appears to be running the "100kHz" buss at > 104kHz. So far nothing is going wrong at 106kHz and my code is performing as it should have been two long long weeks ago If I wasn't so relieved I'd be dancing -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist