GPSDO
GPS Disciplined Oscillator for high-precision timekeeping. More accurate than my Rubidium-based atomic clock.
Install / Use
/learn @fischermoseley/GPSDOREADME
GPS Disciplined Oscillator (GPSDO)
Motivation
High precision, stable frequency references are particularly hard to make. GPS-based references suffer from high noise due to multipath effects, and crystal-based sources are inexpensive but exhibit signficant frequency drift. Atomic clocks and routine calibration can mitigate these issues, but come with a large price tag and constant maintenance.
Process
A GPS Discilipined Oscillator (GPSDO) combines the time-averaged stability of the GPS network with the low-noise characteristics of a Oven-Controlled Crystal Oscillator (OCXO). This is done with a frequency locked loop running on an Arduino Nano, which measures the frequency of an internal OCXO by with reference to an onboard GPS. The GPS module outputs a pulse to mark every new UTC second, which is used to gate a timer on the ATMega328. This is used to calculate the frequency of the crystal, and if it deviates from a perfect 10MHz, then the crystal's VCO input is adjusted with a 16-bit DAC until the signal has been corrected.
Results
The result of this is a frequency source accurate to within 1 part per billion, or about three seconds out of every hundred years. By using a frequency locked loop instead of a phase locked loop, the difference measurement circuitry is simplified and the total cost of the unit is reduced by 30%.
If you're curious and would like to see more details, there's a more complete writeup on my website here.
Pictures and Schematic
Front of the Oscillator:
Status Indicator:
Internal Construction:
System Schematic:
Related Skills
node-connect
349.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.7kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
