I have long wanted a GPS receiver that is either integrated with an NTP server, or compatible with a device like a Raspberry PI, including PPS signals.

Until a few years ago, you could only go buy an integrated unit for $2000-$6000, including an oven controlled crystal. While this is appropriate for a large enterprise server, I'm wanting one for home use.

More recently, I have found $300 units.

What I am looking for is a $15 to $35 (or maybe to $50) unit. Any suggestions?


The purpose here is to run a stratum 1 NTP server. This would then provide time to all my computers. I would like NTP precision of at least 15 (30 microseconds). 19 or 20 (2 or 1 microseconds) would be better.

I am expecting I will have to assemble something with a Raspberry PI or Beagle Bone, but would prefer a prebuilt unit if anyone knows of one.

Obviously, a serial interface will not get that precision, but the PPS interface can. PPS is pulse per second, a once per second microsecond precise pulse usually connected to an interrupt on a host computer (or ignored if you don't care about time precision).

Related rants:

It would be nice if adafruit hadn't decided to only support one expensive GPS.

It would be nice if there were a SOC including a CPU and GPS, so the CPU could read the GPS time registers directly. That might achieve an NTP precision of 26 (16 nanosecond or about 5 meters).

  • 1
    What kind of precision are you aiming to achieve? You could probably achieve a decent precision using GPS PPS and regular NTP on any SBC with UART, GPIO and an internet connection (preferably wired, not mobile) Feb 2 '20 at 21:35
  • 15 what? For 15 milliseconds a good internet is probably enough. 15 microseconds is unrealistic in your budget. For PPS you get any GPS receiver which outputs it on a GPIO and configure it via the device tree. Feb 2 '20 at 22:19
  • honestly, I doubt you could get 30 microseconds with USB, not to mention UART. I once read up on cable providers and they typically they have around 50 us in their server rooms, for combined cable+DOCSIS Feb 2 '20 at 22:51
  • you get your clock working with microsecond precision once set properly. But that initial setting of time will not be more precise than a couple milliseconds in your budget. For a system to reach a given precision each part needs to be at least that precise. If all you need is a clock that ticks precisely even if the actual time is a few milliseconds off than save yourself the trouble and get a good RTC and connect it using I2C or SPI. Feb 2 '20 at 23:32
  • @JanDorniak my half of discussion, and motivation, incorporated into the question
    – David G.
    Feb 2 '20 at 23:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.