Thanks to comments from Doc Pedersen and nsayer, I ordered an Electrical Frequency Controlled (EFC) Ovenized Crystal Oscillator (OCXO) with TTL output to improve the short term stability.
It is a muRata OC2545-DT 10.00 MHz OCXO Crystal Oscillator.
Thanks to the commenters I now have some new parts on hand:
muRata OC2545-DT 10.00 MHz OCXO Crystal Oscillator
12 bit i2c DAC board (To generate the control voltage - Delta Sigma w/Filter)
Adafruit Si5351 Clock Generator Breakout (To generate microcontroller clock)
RS232 to TTL converter board
ESP8266 ESP-12E NodeMCU
An I2C multiplexer board allows for more than one RTC module (Since these have a hard coded I2C address you can normally only use one). I went for three – One tracking GPS time, another tracking the rubidium standard, and the last one as a control or reference clock – without compensation.
An arduino knock-off compares the relative delay between the pulse-per-second outputs from the Rubidium standard, Real Time Clocks, and GPS.
After some defined time divergence, the RTC aging compensation register is updated to refine or maintain overall agreement. Essentially herding the RTCs so that their output stays within bounded agreement with the Rubidium standard and GPS.
This approach avoids editing the time registers directly, eliminating the possibility of corrupted writes.
All design details will be made available - My goal is 100% open source and open hardware.
This project runs on Arduino for which the libraries are under the LGPL.
Is this working yet? I have an Rb module on order but as yet no sign of it. Think the problem may be a bad serial line as its not responding to commands so stuck on some weird frequency.