Build a Stratum 1 PTP Grandmaster on a Budget

A budget build turns a Raspberry Pi CM4 and a $15 GPS module into a Stratum 1 PTP grandmaster, achieving nanosecond-level time sync for under $103 in new parts. The post covers hardware selection, wiring, software setup with SatPulse, ptp4l, and chrony, and debugging issues like the BCM54210PE SYNC_OUT pin bug and RTC configuration. It also compares against a commercial TimeHAT solution, highlighting trade-offs in oscillator quality and holdover accuracy.
A nanosecond is the time it takes light to travel about 30 centimeters (roughly 1 foot). After this build, the clocks on my homelab nodes were off from GPS truth by the time it takes light to travel across a room.