Due I2C communication with over 10 UNO

Hi dear arduino community,

I am quite new to arduino, and now working on a project that use arduino DUE as master, over 10 uno as slaves though I2C communication. I found that without any level shifter, I am somehow still able to communicate with up to 4-5 uno, but it is not stable. But I never suceeded in communicating with more than 5 uno through I2C using DUE.

I am wondering, do I need a level shifter to convert the 5v signal from uno to 3.3v signal in order for the DUE to read the data? or is the SCL&SDA pins don't care about voltage?

any suggesttion or idea?

thanks for advance!!

The due might get a little upset with 5v depending on the pull-up resistance you have, but I don't think that's the problem. A circuit diagram showing some of the I2C nodes would be useful, and the cable lengths between them. Also, what speed are you running the I2C?

I wonder also about the distance. Sugestion, you could use rs485 shield to communicate. easy to address, you should not have the voltage problem of 3.3 and 5v board. and you can use very (very) long wire.