This is the easiest part. You just wait. This is the type of project that actively benefits from you doing nothing to it for long periods of time!
To monitor the progress, we have the status webpage, but also the LCD that's on the device itself.
It shows the start time (epoch -E), the time from the RTC (R), the time according to the arduino millis() (M), the time according to the geiger tube count (T), and the time according to the diode geiger counter (D). The pressure, temperature and humidity from the BME280 and RTC are on there too, and at the bottom, random number bits from the two detectors are shown live as they are created.
The 1 year run lasted from March 2024 to March 2025. A few days after the year was up, the clock inexplicably locked up, and after a reset, I could not get the clock to run for more than a week. Eventually, I figured out that if the wifi disconnected, it was not reconnecting like it was supposed to. The problem was fixed by removing an errant WiFi.disconnect() and then it worked perfectly, but it makes me wonder how it even lasted the full year! I did change out my router around this time, so it could have been that.
At the 1 year mark, the status was:
2024 Year Run start : 2024-03-23 16:24:35 end : 2025-03-24 03:05:43 (31574468 seconds) diode count: 1069792585 ( 33.881471 s^-1) -0.156% change from calibration run #3 tube count: 2330274101 ( 73.802481 s^-1) 0.005%
The diode clock was behind by about half a day, but the tube clock was only off by 27 minutes, or about 0.0051% of a year! That's the same as 51PPM, or 10x worse than the stated accuracy of the DS3232M RTC chip. Still, if I was trapped in a cave with just this clock, I'd consider even the diode clock estimate to be pretty good after a year. Remember, both of these measurements are without any external reference except the start date.
That one data point hardly tells the whole story though. Here's what was happening over the course of the year:

The blue line is the tube counter clock. Incredibly, throughout the year it had drifted off by as much as an hour, before then drifting the other way, until it passed the correct time and started moving ahead. One thing that stands out immediately is the tube clock's corelation with the smoothed out average temperature line (2 red lines). A 3 degree C offset between the BME280 and RTC thermometers is apparent, but the general shape lines up under the tube clock line pretty well. Maybe a possible temperature compensation is in the future? The clock is kept in the basement shop, which is much more stable environment than an outdoor garage, but still varied by about 8-9C in a year. The other thing I could do is to put the whole experiment in a heated, temperature controlled chamber, which would create an OCXO (or would it be an Oven Controlled Geiger Oscillator?).
The diode clock (orange line), meanwhile, drifted off by several hours. Here's a more zoomed out view of it:

Interestingly, I don't see much correlation with the temperature (or pressure, or humidity). Maybe this is still the diode breaking in? The rate of change does seem to slow down near the end.
I also tracked the time based off the DS3232M RTC, and the internal millis() counter. Zooming in:

These are the green and red lines, and ignoring the obvious glitching (which I'm still not quite sure what it is, maybe the server clock being adjusted by NTP), the time is accurate to within 2 minutes in a year. That's an incredible accuracy of 4PPM, even though the crystal is only rated at 30PPM. However, again, the room temperature varied by only a few degrees, it would probably drift more in a less controlled temperature.
Finally, the RTC performed to just 20 seconds in a year, or at least 20 seconds difference from the server's internal RTC, which is probably another similar chip. This is well within its stated 5PPM figure in the datasheet.
alnwlsn

Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.