I have a TinyRTC I2C clock in one of my Arduino projects, and it works most of the time. But occasionally, it will report the time as 165 hours, 85 minutes and 25 seconds (165:85:25) for a couple of seconds, then go back to the correct time.
I think this has got something to do with a fairly complicated I2C bus that I'm running: it has 12 devices connected to it (the clock, an LCD and 10 BlinkM LED programmable lights).
Here's what I've tried to debug, to no avail:
- Replaced the RTC and battery
- Replaced I2C pullup resistors
- Redid the I2C wiring
- Checked current draw of my project (.2A) and made sure the power supply can handle that (it can)
- Used 3 different power supplies in case I was getting noise
I think this is something to do with the I2C bus... the clock works fine when nothing much else is happening on the bus, but as soon as there's lots of activity (LEDs being sent messages, or perhaps other things) it starts reporting the time as 165:85:25).
Any idea how I could (a) isolate the cause of this problem; (b) get right to implementing a solution?