Yeah, I did some changes and is now up to v0.0.3. Doesn't mean it's better though

Second "page" accessible via the encoder now shows more digits of the measured PPB.
Some thoughts:
* The VCO is controlled with a simple PWM DAC. In case you want to run the USB peripheral to get a virtual serial port with comms/NMEA you would need to run the timers at 10MHz. We get a bit more resolution when measuring the frequency when running at 70MHz (assuming the PLL maintains a good lock). But running at 10MHz and using 16 bits of the PWM, we only get 150Hz out. This might be a bit low for the DAC circuitry, which I haven't investigated closely (it's a couple of low pass filters, but I haven't checked the values of the components). At 70MHz and 16 bits we get 1kHz. It would be possible to run USB and get PWM at 1kHz with 13 bits precision instead. Does this matter? I haven't done the math to check that.
* It might be a good idea to switch to some averaging for the adjustments once it's close to stable.
* The 128 seconds averaging to show ppb on the display is perhaps a bit overkill, but from some quick math it's needed to get down to mHz range. On the other hand, it's currently just an indication and is not used for the adjustments.
* It might be interesting to generate the output PPS from the MCU instead of from the GPS module. The GPS module can skip pulses and have some phase jitter, but the MCU output would be rock solid since it's clocked by the OCXO. One could also add a buffer amplifier/schmitt trigger to fix the impedance issue. But then again, at that point it might be more reasonable to build one of the many open source GPSDOs.
*
If my measurements are correct, it seems to be sensitive to ambient temperature changes. Insulation around the OCXO might be a decent idea.