Real Time Clock Testing Results DS3231/PCF8563/MCP79400


I just finished 3.4 million seconds of testing on the DS3231/PCF8563/MCP79400 and the results are at:

300,000 seconds of testing on the DS1307.


Thanks for the tests. Very well done.

If I read the report correctly, just one sample of each RTC was tested. If so, the test tells us only how well that one sample worked, and I've been both lucky and very unlucky with these units.

In engineering and scientific circles, it is commonly agreed that the minimum number of samples to test, or independent repetitions of a particular experiment, is three.

Thanks, ~40 days test

Do the numbers agree with the datasheets?

// would be nice to have an e.g. 300000 seconds test with an Arduino and millis() to show the added value of an RTC

Your DS1307 drifted 7 seconds in 5 days, mine drifted 30-31 seconds EVERY day. Now I prefer DS3231.

Graph looks like a fractal :)!

I suspect that RTC accuracy more depends on the Xtal tolerance.
BTW, I like the PCF8563 because it has an interrupt output pin that I can use for timed sleep and wake-up of the Arduino to save battery power.

I suspect that RTC accuracy more depends on the Xtal tolerance.

Yes, this test is mostly about crystal accuracy.
That is why the DS3231 is so accurate. According to the datasheet, it has a temperature compensated internal crystal oscillator and crystal. Is that DS3231 indeed as good as they claim ? well, this test shows that it is indeed !

After I did cut the 102 diode of DS3231 module to avoid damage last year I did not do much with the module:

On April 18th this year I started a long run test with a CR2032 battery.
Today I wanted to use the module with Digispark ATtiny85 and remembered the long running test from adhesive label on battery.
So today is December 18, 8 month later, or 246060*(30+31+30+31+31+30+31+30) = 21,081,600 seconds.
Time difference increased by 41 seconds in that time.

Spec says accuracy ±2ppm from 0°C to +40°C, which were the conditions the module lived in that time.

2ppm precision corresponds to 63 seconds a year or 42 seconds per 8 months; module is even a second better:

$ bc -lq