SatPulse: server-oriented alternative to gpsd for chrony
James Clark <[email protected]> Sun, 12 Apr 2026 07:08:56 +0200
| Newsgroups | gmane.comp.time.chrony.user |
|---|---|
| Message-ID | <CANz3_EZD_G+ZJSHwBGghezFvMxnmHvL4QqtyPxhgMvbPry105A@mail.gmail.com> |
--000000000000b59ecd064f3c5d16 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable I recently made the first pre-release of SatPulse 0.2, which I hope will be of interest to chrony users who are running their own Stratum-1 NTP servers= . I have been working on SatPulse for several years; with this release, I think it now has a feature set that makes it a viable alternative to gpsd for timing and server-oriented use. It has a website [1]. The documentation there is for SatPulse 0.1, which was focused on the PTP use case, where the GPS PPS signal is wired to an SDP on a PHC. This works with chrony also and gives a easy way to create a combined NTP/PTP server. SatPulse 0.2 provides a refclock SOCK implementation that can be driven by serial message timing. This is intended to be used in combination with a refclock PPS. At this point, the information relating to 0.2 is in the man pages and in a series of blog posts: - Design of SatPulse compared with GPSd [2] - Building an NTP server on a Raspberry Pi with chrony or ntpd-rs [3] - Using SatPulse for timing without a PHC [4] - A tour of the GPS modules supported by SatPulse 0.2 [5] - Improving SatPulse=E2=80=99s support for GPS configuration [6] I think the single biggest advantage over GPSd is that it provides deep support for GPS receiver configuration; this is particularly oriented towards the needs of timing applications. The pre-release can be downloaded from GitHub [7]. There are .deb and .rpm packages available. You can alternatively build it from the source [8], which is written in Go. I have tested the GPS functionality on a couple of dozen different GPS modules, but the serial timing functionality is very new and has had little testing compared to the PHC-based timing support. SatPulse has reached the point where it is ready for some more widespread testing and use. Please open a GitHub issue [9] if you run into any problems. I also created a GitHub discussion thread [10] where you can ask questions and share experiences about the 0.2 pre-release. James [1] https://satpulse.net [2] https://satpulse.net/2026/04/11/design-of-satpulse-compared-with-gpsd.html [3] https://satpulse.net/2026/04/06/building-an-ntp-server-on-a-raspberry-pi-wi= th-chrony-or-ntpd-rs.html [4] https://satpulse.net/2026/04/01/using-satpulse-for-timing-without-a-phc.htm= l [5] https://satpulse.net/2026/04/01/a-tour-of-the-gps-modules-supported-by-satp= ulse.html [6] https://satpulse.net/2026/01/29/improving-gps-configuration.html [7] https://github.com/jclark/satpulse/releases [8] https://satpulse.net/setup/satpulse-install.html#install-from-source [9] https://github.com/jclark/satpulse/issues [10] https://github.com/jclark/satpulse/discussions/248 --000000000000b59ecd064f3c5d16 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">I recently made the first pre-release of SatPulse 0.2, whi= ch I hope will be of interest to chrony users who are running their own Str= atum-1 NTP servers.<div>I have been working on SatPulse for several years; = with this release,=C2=A0 I think it now has a feature set that makes it a v= iable alternative to gpsd for timing and server-oriented use.<div><br></div= ><div>It has a website [1]. The documentation there is for SatPulse 0.1, wh= ich was focused on the PTP use case, where the GPS PPS signal is wired to a= n SDP on a PHC. This works with chrony also and gives a easy way to create = a combined NTP/PTP server.</div><div><br></div><div>SatPulse 0.2 provides a= refclock SOCK implementation that can be driven by serial message timing.= =C2=A0This is intended to be used in combination with a refclock PPS.</div>= <div>At this point, the information relating to 0.2 is in the man pages and= in a series of blog posts:</div><div><br></div><div>- Design of SatPulse c= ompared with GPSd [2]</div><div>-=C2=A0Building an NTP server on a Raspberr= y Pi with chrony or ntpd-rs [3]</div><div>- Using SatPulse for timing witho= ut a PHC [4]</div><div>-=C2=A0A tour of the GPS modules supported by SatPul= se 0.2 [5]</div><div>-=C2=A0Improving SatPulse=E2=80=99s support for GPS co= nfiguration [6]</div><div><br></div><div>I think the single biggest advanta= ge over GPSd is that it provides deep support for GPS receiver configuratio= n; this is particularly oriented towards the needs of timing applications.<= /div><div><br></div><div>The pre-release can be downloaded from GitHub [7].= There are .deb and .rpm packages available. You can alternatively build it= from the source [8], which is written in Go.</div><div>I have tested the G= PS functionality on a couple of dozen different GPS modules, but the serial= timing functionality is very new and has had little testing compared to th= e PHC-based timing support.</div><div><br></div><div>SatPulse has reached t= he point where it is ready for some more widespread testing and use. Please= open a GitHub issue [9] if you run into any problems.</div><div>I also cre= ated a GitHub discussion thread [10] where you can ask questions and share = experiences about the 0.2 pre-release.</div><div><br></div><div>James</div>= <div><div><br></div><div>[1] <a href=3D"https://satpulse.net">https://satpu= lse.net</a></div></div><div>[2]=C2=A0<a href=3D"https://satpulse.net/2026/0= 4/11/design-of-satpulse-compared-with-gpsd.html">https://satpulse.net/2026/= 04/11/design-of-satpulse-compared-with-gpsd.html</a></div><div>[3]=C2=A0<a = href=3D"https://satpulse.net/2026/04/06/building-an-ntp-server-on-a-raspber= ry-pi-with-chrony-or-ntpd-rs.html">https://satpulse.net/2026/04/06/building= -an-ntp-server-on-a-raspberry-pi-with-chrony-or-ntpd-rs.html</a></div><div>= [4]=C2=A0<a href=3D"https://satpulse.net/2026/04/01/using-satpulse-for-timi= ng-without-a-phc.html">https://satpulse.net/2026/04/01/using-satpulse-for-t= iming-without-a-phc.html</a></div><div>[5]=C2=A0<a href=3D"https://satpulse= .net/2026/04/01/a-tour-of-the-gps-modules-supported-by-satpulse.html">https= ://satpulse.net/2026/04/01/a-tour-of-the-gps-modules-supported-by-satpulse.= html</a></div><div>[6]=C2=A0<a href=3D"https://satpulse.net/2026/01/29/impr= oving-gps-configuration.html">https://satpulse.net/2026/01/29/improving-gps= -configuration.html</a></div><div>[7]=C2=A0<a href=3D"https://github.com/jc= lark/satpulse/releases">https://github.com/jclark/satpulse/releases</a></di= v><div>[8]=C2=A0<a href=3D"https://satpulse.net/setup/satpulse-install.html= #install-from-source">https://satpulse.net/setup/satpulse-install.html#inst= all-from-source</a></div><div>[9]=C2=A0<a href=3D"https://github.com/jclark= /satpulse/issues">https://github.com/jclark/satpulse/issues</a></div><div>[= 10]=C2=A0<a href=3D"https://github.com/jclark/satpulse/discussions/248">htt= ps://github.com/jclark/satpulse/discussions/248</a></div></div></div> --000000000000b59ecd064f3c5d16-- -- To unsubscribe email chrony-users-request-kWFZVVI9zxvPqho9SqqRMmD2FQJk+8+b@public.gmane.org with "unsubscribe" in the subject. For help email chrony-users-request-kWFZVVI9zxvPqho9SqqRMmD2FQJk+8+b@public.gmane.org with "help" in the subject. Trouble? Email [email protected]