Electronic – arduino – What are the general characteristics of a faulty Arduino UNO board

arduinoarduino uno

I am building an Arduino based project with DS1307 RTC clock module and storing an offset value, rarely updated though, in its EEPROM. But I am observing drift in the time as well as the offset value in the EEPROM over time. The stored value of -18 in the EEPROM changed to 104 after 3-4 days. I suspect the time is changing more rapidly, about one minute in a day. I am also using AltSoftSerial to communicate with a GSM Mini 900A module. I suspect some issue in the Arduino, as the project works flawlessly in some other hardware. I wrote two bytes on address 0 and 1 and after the drift I tried on address 100 but no improvement. The change in the EEPROM stored value is very surprising. What are the general characteristics of a faulty Arduino UNO board?

Best Answer

Any RTC that depends on an internal oscillator will drift with respect to time, the only question is how fast. As well as inherent drift, temperature changes, voltage changes and noise can affect the timekeeping. According to the chip datasheet:

enter image description here

A drift of 1 minute per day (700ppm) is much more than one would expect from a crystal by maybe 50 or 100x so maybe the issue is noise coupled from the Arduino reads and poor layout or circuit arrangement in your implementation or in the design of your module (presumably an inexpensive hobbyist-oriented product).

If the clock is running fast, this is most likely the issue. If it's running slow, then it may be something else.