Posted by duncan webster on 30/12/2022 00:56:20:
This has gone way above my understanding, but I do have some Arduino mini boards (not pro mini) which have a stonking big crystal rather than a resonator. Would these be any use?
Kind offer thanks Duncan, but I'm already using Arduinos with crystals rather than resonators. The latest iteration is running on a Mega 2560, mainly because it has two hardware timers I can use for input capture rather than one. The first timer counts crystal ticks per pendulum swing, the second counts crystal ticks per GPS second.
Not all the Arduino processors are suitable; it's a combination of clock features, number of counter/timers, counter capability, and whether or not the necessary pins are made available. The Nano Every is very promising, but turns out it's timers don't support what I'm doing.
I'm looking again at the Nucluo, which has a fast 32 bit processor, but a complicated clock system, and a programming manual I don't understand. Also investigating the possibility of building a GPSDO based on Michael and John's input.
Meanwhile the latest clock graph has started an investigation:

I don't know what caused the A & B down spikes, or the C,E,F, G up spikes. Or the down staircase at D. Maybe a bug in the maths, because the log data doesn't seem to be jumping about. But as the changes are quite small, I'm writing a program to zoom in on anomalies.
The green slopes, showing GPS and NTP are apparently drifting apart, might well be due to rounding error. I measure the pendulum in 16MHz crystal ticks giving 8 digit precision, but my clock code truncates them into 6 digit unrounded microseconds. Better I think to alter the clock to measure internally in crystal ticks rather than microseconds, only converting to human time after the sums have been done .
Good news though is that a simulation of the temperature compensation code looks effective, so I need to implement it in the clock, and then add barometric compensation as well. I'm optimistic this might work reasonably well and there are more improvements in the pipeline.
If I was running this as a project, I'd sack the Designer, Machinist, Programmer and Mathematician because they've all made silly mistakes. Unfortunately these roles are all done by me and I have to put up with the team I've got.
Dave
Edited By SillyOldDuffer on 31/12/2022 14:02:08