[time-nuts] Designing an embedded precision GPS time

Leo Bodnar leo at leobodnar.com
Sat Oct 28 06:14:08 EDT 2017

> From: Attila Kinali <attila at kinali.ch>
> Can you tell a little bit how your device looks like on the inside?

GPS is a Ublox.  MCU is Cortex-M7 and does not run any OS - just main loop with prioritised interrupts.  Network stack is hand-made. 
I don't use saw-tooth correction in this device because +-11ns is not worth correcting for NTP application for such a budget device.
If you can build a test NTP client system that can detect sawtooth 10ns offset from the NTP server I'd like to know how you did it.

>> When you come to testing I can highly recommend placing your prototypes in 
>> public NTP pool and asking the admins to add it to .ch zone - you are 
>> guaranteed to get full 110kpps traffic spikes that will help to flush out bugs.
> Why specifically the .ch zone? IIRC you are located in the uk.
> I am running an NTP server in the .ch pool and have not yet noticed any large spikes. (ok, my monitoring is rather crude and if the spike is very short lived, i wouldnt notice it)

Sorry, it was a typo - I meant Chinese zone (.cn)
Spikes usually happen around full or half-hour and last only few seconds but you often (about once a day) get true 100% fully saturated wire speed with packets coming in (and out) back to back.
The theory behind these spikes is interesting - most probably they are results of SNTP clients running from cron jobs. So, ironically, the more accurate time they receive from you, the more concentrated their behaviour becomes.


More information about the time-nuts mailing list