Single I2C RTC module for multiple Arduino boards

May I use a single RTC module (using DS3231 chip) to store the time for two Arduino boards (one DUE and one Teensy 3.1) and even for one Raspberry Pi?

The RTC module has I2C protocol so it might be possible but I just don't know how to set things up. The RTC module has to be in Slave mode and any other Arduino/Raspberry boards will act as a Master? Any help/links?

That would be a multi-master I2C setup which theoretically is possible but usually not very reliable. Why not just connecting the RTC to one of the controllers and distribute the time by some other means (p.e. UART) to the others?

Thank you very much for your answer! I've just searched for "multi-master" and I guess all the Arduino/Raspberry boards are smart enough to play a multi-master role.

Anyway, as you sugested, I've already had them cross-connected using serial links (they are all parts of the same application) so I'll stick the RTC module to Rasberry, being the "smarter" among them. ;)

I have nearly the same problem. I have two arduinos communicating over I2C. One ist the Master and the other the Slave. I also have the DS1307 RTC. Is it possible to implement it in the I2C as a slave device?

It is my understanding that the DS1307 is a slave by default.. Otherwise it would control the uProc whenever it had new data.. (master and code). ? That you aren't using the more advanced temp compensated DS3231 is a wonder to me. I'd rather use an NNTP server than something that is not really capable of the same accuracy as the NNTP data. While the DS3231 isn't capable of NNTP accuracy and TinyGPS++ & a cheap GPS receiver is, I wonder why so much time and energy is wasted in trying to get it to work the same. Is it more important to make it work or make it the best possible with a few more dollars?. Either way it is the same amount of code.?

Doc