[time-nuts] Re: The STM32 GPSDO, a short presentation

André Balsa andrebalsa at gmail.com
Thu Mar 31 20:16:39 UTC 2022


Hi Bob,
"You need an external / stable reference that is (hopefully) much more
accurate than the GPSDO to compare it to."

I fully agree, and of course I don't have an atomic clock at hand. But I
was thinking that there is an alternative: the Three-Cornered Hat method.
In any case, we are not there yet, I still have to write the code for tab
delimited reporting, and then collect the data from the 4 different GPSDOs
I have here (3 x STM32 GPSDO + 1 x Lars' DIY GPSDO), and then setup
the Three-Cornered Hat measurement apparatus, and then collect more data,
etc...
Oh the joys of time-nuttery!

On Thu, Mar 31, 2022 at 9:01 PM Bob kb8tq <kb8tq at n1k.org> wrote:

> Hi
>
> One word of caution:
>
> You really can’t compute things like ADEV by observing the device against
> itself. You need an external / stable reference that is (hopefully) much
> more
> accurate than the GPSDO to compare it to.
>
> Bob
>
> > On Mar 31, 2022, at 2:18 PM, André Balsa <andrebalsa at gmail.com> wrote:
> >
> > 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 -- time-nuts at lists.febo.com -- To unsubscribe
> send an email to time-nuts-leave at lists.febo.com
> > To unsubscribe, go to and follow the instructions there.
> _______________________________________________
> time-nuts mailing list -- time-nuts at lists.febo.com -- To unsubscribe send
> an email to time-nuts-leave at lists.febo.com
> To unsubscribe, go to and follow the instructions there.




More information about the Time-nuts_lists.febo.com mailing list