Hello time-nuts, This is a quick follow-up to my short presentation of the STM32 GPSDO project, because as some of you noticed, the EEVblog thread is unfortunately 27 pages long and growing... :( A few pointers: 1. If you are interested in the technical details or further understanding of the project, I suggest reading **only the first post** in the EEVblog thread and then jumping straight to the schematics in post #378, page 16 in the thread, and then reading the generously commented source code on GitHub (download the zip file for the latest release and check the GPSDO.ino sketch). 2. The core of this project is made of just three components: a. The STM32F411CEU6 "Black Pill" b. The 10 MHz OCXO c. The ublox M8N GPS receiver module These three components plus a few resistors, capacitors and an LED and voila!, you have a working GPSDO. Everything else is optional. But of course the optional parts are where the fun is, really. 3. Likewise the core of the firmware is just 15 lines of C code, which are used to setup the 64-bit counter (10 lines) and the interrupt service routine that reads the counter (5 lines). Everything else in the firmware is built around these 15 lines of C code. Also to be honest, while these 15 lines of C code are well written, the rest... not so much. ;) 4. So how does it work? Essentially we measure the frequency of the OCXO every second (the 64-bit counter), average it over the last 10/100/1000 seconds (data stored in circular buffers), and adjust the OCXO control voltage Vctl accordingly: if the frequency is too high, we decrease Vctl, and if the frequency is too low, we increase Vctl. In other words, it's a simple frequency locked loop, which all of you are familiar with. 5. The performance? Hmmm... honestly I started working on this project with the modest aim of 1ppb stability and that was achieved almost immediately, also from the anecdotal data I and others have collected, the STM32 GPSDO achieves 0.1ppb stability after a couple of hours and 0.01ppb is also achievable, without any correction being applied from the various environmental sensors. I think ultimately 0.001ppb should be achievable but that will take some work on the firmware. 6. Those nice ADEV plots? Ouch: I don't have any. In the coming days I will push to GitHub a new version of the firmware with reporting with proper tab-delimited fields that will allow people to plot various charts and study the correlation between supply voltages, OCXO power consumption, OCXO frequency, atmospheric pressure, humidity, etc... A true smorgasboard for statisticians!
Greetings from France, Andre' (Andrew) _______________________________________________ time-nuts mailing list -- [email protected] -- To unsubscribe send an email to [email protected] To unsubscribe, go to and follow the instructions there.
