GPS-Disciplined Oscillator
... Accuracy & Stability in the Ham Shack

Project Overview:

A GPS Clock, or GPS-Disciplined Oscillator (GPS-DO) is a combination of a GPS receiver and a high-quality, stable oscillator such as a quartz or rubidium oscillator whose output is controlled to agree with the signals broadcast by GPS and GNSS satellites. GPSDOs work well as a source of timing because the satellite signals must be accurate in order to provide positional accuracy for GPS in navigation. These signals are accurate to nanoseconds and serves as an excellent reference for timing applications in the ham shack ... and on the air!

The GPSDO Project is presented in four parts ...

Part 1:  VCXO -- Voltage Controlled Crystal Oscillator

Part 2:  OCXO -- Oven Controlled Crystal Oscillator ... Temperature-controlled "oven" + VCXO = "OCXO"

Part 3:  GPS Receiver  ...  Providing the GPS-accurate reference signal

Part 4:  GPS Motherboard + Phase-Lock Loop Circuits ...  Phase-locking the OCXO to the stable and accurate GPS reference


Our Development Breadboard

                                                                     (Click photo for bigger view)

YouTube video of VCXO Breadboard being tuned up ... Check out how our Breadboard of this circuit actually works ... https://youtu.be/oj1gDl0rhD8  
(Be sure to turn up your computer's audio volume for this one ... I had a FUBAR moment during video recording!  -- n2apb)

Part 1: VCXO ...  Voltage Controlled Crystal Oscillator


Some time ago, we developed a 10 MHz voltage controlled crystal oscillator, or VCXO, for use as a fun project at the immensely popular Atlanticon QRP Forums.  This VCXO is able to be put to use in many ways around the shack. For example, once calibrated, this VCXO can serve as an accurate frequency standard for receiver alignment, or as a PLL standard, or even as an LO for a transmitter. 

Click to view/download the PDF version of the schematic and all kit information


How It Works

The CWTD “VCXO” produces approximately 1-2V p-p at RF Out when C3 is in the top position (C3a on the pcb). This signal is quite ragged but very suitable for driving a balanced mixer like an SA612 (e.g., in mixing applications). When C3 is placed at the  “C3b” position, a much more sinusoid-like100-200 mV p-p signal is delivered at RF Out, which is more suitable for use as a “standard” 10 MHz oscillator standard in the shack. 

Capacitors, crystals and semiconductors have temperature coefficients that represent how the component values change with changing temperature. When the component values change, the oscillator frequency changes. This drift is not good if you want a very stable and unchanging oscillator frequency. 

So the real fun challenge for the builder, and the excitement with our resurfacing this project here on CWTD, is to find ways to dynamically adjust, compensate or insulate the circuit against temperature changes. The Adjust signal on connector P1 pin 1 is delivered by a simple potentiometer that presents a nominal 3.4 volts to D1, which is a "voltage variable capacitor" commonly called a varicap diode.  But this only a static level and if the temperature changes, the pot setting would need to be changed to compensate for that change . One could instead dynamically adjust that control signal in accordance to the ambient temperature. Or perhaps use of NP0 “negative coefficient” capacitors in the circuit could compensate for drift .. which is what we've done now with the CWTD version of the circuit. But other techniques will come along in Phase 2 and Phase 3 for this project!

Construction Notes

Construction of the VCXO is straightforward – just use the schematic as a guide for placement of the components at the silkscreened locations on the board.

  • Resistors are mounted “on end” with the top lead bent over and going into the hole next to the bottom lead.  Be sure to use your ohmmeter to double check your guess at the color coding on these resistors.  You may be fooled with the 47-ohm and 12-ohm resistors! ;-)

  • Three NP0 ("NP Zero") capacitors are supplied in the "outer" kit bag.  NP0 caps have zero drift with temperature (or at least to +/- 30ppm/Deg-K ... which is pretty darn close to zero at the temperature ranges we'll be ultimately operating the oven (in Part 2).

  • A a 2.1mm coaxial power jack is also provided for convenience.  Just plug in your standard 12V power source on the bench to power the whole project.

  • Place R11, the 500-ohm, 10-turn trim pot into the used pins 3, 4 and 5, as shown in the top view photo.  Then add the wire jumpers to the bottom of the board as shown in the bottom view.  (Alternatively, you could mount the trimpot off-board, as we did in the Breadboard photo at the top here, but it's convenient to have it located firmly right there on the board.)  BTW, note how I placed the ground jumper, as a bare wire "outboard" of the board, able to serve as nice clipping point for attaching your scope and/or frequency probe!

  • NEW ... In order to have your VCXO ready to be combined with the Oven Control circuit board coming in the next episode, please mount the crystal about 1/4" off the bottom of the board, as shown in the photo below.  If you have already mounted the crystal on top, just unsolder the crystal and reattach it on the bottom. Don't worry, it's easy. Just gently pull one side and then the other while heating each pad. Then re-attach to the same pads on the bottom side. And if you don't have 1/4" of lead length, just solder some bare wire in the pcb holes and then attach the crystal to these.

  • What do you put at the L1 position on the VCXO pcb?  The answer isn't obvious!  We provide a 10 pF NP0 capacitor for use at the "L1" position on the board. This spot was originally intended to be for an inductor, which would tend to lower the operating frequency of the oscillator.  But as we built up many boards in the prototyping phase, it was found that the crystal was running a little "too low" for the adjustment range offered by the voltage variable cap (diode D1), so we shall instead use a capacitor to allow adjustment up to, and beyond the 10 MHz operating point.  But as Dave AD7JT points out, and nicely illustrates below, it's not quite as simple as that!

Figures above:  Finding the right capacitor value to place at the L1 position on the VCXO pcb to provide adjustability above/below the target 10,000,000 Hz point.
Dave AD7JT writes: "I had to do some cut-and-try stuff to get the frequency range to include 10 MHz.  The initial frequency range with "L1" set to 10 pF didn't come within 2 KHz of 10 MHz.  Shorting L1 got it in range but just barely (took about 4V on the Adjust line).  I wanted 10 MHz to be at about 1.5 V or midway on the DAC output range for a dsPIC.  I finally settled on a value of 68pF for "L1".  The attached shows my readings for all the values I tried.  In all cases the frequency range was about 700 - 750 Hz (not enough to even see on a scope)." 

So just connect up the 8-12V power source (a 9V battery will work for a short while, with a current draw of about 130 mA), and you'll be off to the races!

And remember, you'll want to use a frequency counter to serve as your adjustment guide ... Tweak the trimpot to bring the VCXO operating frequency as close as possible to 10 MHz, just as I show in the YouTube video (link above.)

Oh, you don't have a frequency counter?!!  Well, get one of those nifty 8-digit, blue-LED counters shown above (and on our Breadboard) on order from ...  http://www.ebay.com/itm/Blue-0-1-60MHz-20MHz-2-4GHz-RF-Signal-Frequency-Counter-Cymometer-Tester-/181806842808?     You just can't beat this $12 wonder (+about $2 shipping from China!!)

Click either photo for a bigger view.

==> Interested in Building the VCXO?

The full kit is no longer available, but we have lots of bare PCBs remaining!   Just use the parts list to gather the handful of common parts build it up yourself and you'll quickly be oscillating for joy.

VCXO PC Board (bare) ... $1.00
     (Order up to 10 for the same shipping fee!)


Part 2: OCXO

This is Part 2 in our series on the design of a "GPS-Disciplined Oscillator", and this time we focus on a circuit intended to maintain temperature of a Voltage Controlled Crystal Oscillator, and thus help to improve the stability of its output frequency. We'll be doing this by means of a control loop that drives a heating element keeping the local temperature inside the enclosure constant at about 45-degC +/- 1.

This latest project installment comes in the form of a small kit (parts + pcb) that also includes temperature hi/lo LEDs, voltage regulators, and a motherboard to hold the whole assembly that slides into a nice extruded aluminum (and insulated!) enclosure. 

So come follow along and learn first-hand how to keep your oscillator's temperature under control, and thereby its frequency stable!

==> See all the details for this installment at ... http://www.cwtd.org/oven/index.html

Our Approach ....

Hans Summers, G0UPL ...

From Hans' website ... http://www.hanssummers.com/ocxosynth

The control circuit is the tricky part. In the simplest kind of control circuit, the measured temperature is just compared with the desired target temperature. Then the heater is switched on if the oven is too cold, and off if the oven gets too hot. This kind of controller is common (getting les common) in the mechanical room thermostat, or the thermostat in your kitchen oven or fridge, or the air conditioner in your home or office. The disadvantage is that the thermal mass of the oven takes time to heat and cool, and this means the temperature can vary quite considerably as the heater (or cooler) cycles on and off.

The right photograph above, shows the crystal frequency (received on an HF receiver and plotted in Argo spectrum analysis software on a laptop). The cycles of the heater on/off are very clear here. The cycle duration was around 38 seconds, of which the oven was switched on for 17 seconds and off for 21 seconds. This kind of temperature cycling would be completely unacceptable for QRSS or WSPR operation such as in the U3 kit.

So we come to proportional oven control. There are several good examples of homebrewed ovenised oscillators on the web, but two of my favourites are: Andy G4OEP, about half way down this page and Des M0AYF's extensive page on his QRSS ovens. These two are my inspiration. Both of these ovens use a proportional controller. There's a heater, a temperature sensor, and a control circuit consisting of an op-amp with relatively low gain (not an on/off comparator). The limited gain of the op-amp makes it possible for the heater to be partially on. If the thermal characteristics are right, and the gain is correctly matched to them, then the proportional control circuit makes it possible to control the frequency without the characteristic "hunting" cycles of an on/off oven.

However, I wasn't quite comfortable with proportional control circuits. An ideal control circuit would maintain the oven at a constant temperature regardless of the ambient, environmental temperature. But a proportional circuit does not. The oven is kept at a reasonably constant temperature but there is still some variation, as the environmental temperature varies. Even if everything else is perfect, the circuit inherently produces an error term. To stop "hunting" oscillations, the amplifier gain needs to be low, but the lower the gain, the larger the error term becomes.

So to PID controllers (Proportional Integral Derivative) which are used in industrial automation. Surely the subject of many text books and the nightmare of Electronic Engineering students everywhere. There is plenty to read on this topic, and it seems to quickly get complicated enough. Software programs are nowadays used for the control logic. But here, we use a simple op-amp. The quick summary (after an awful lot of reading and research): it turns out that the "Derivative" term isn't necessary in a simple temperature controller. The "Proportional" term we have covered already, such as in the circuits above. Best of all, the "Integral" term can be implemented simply by putting a capacitor in the feedback loop of the op-amp; and the "Integral" term removes the error that is inherent in "Proportional" only circuits. Simple and neat, and does everything we need!

Full information on the "partial kit" that Hans is supplying for us is at ... http://www.qrp-labs.com/ocxokit.html










==> Interested in Building the CWTD Oscillator Oven Controller?

Purchase the CWTD Oven Control Kit via PayPal ...

You can get a kit of the "Oven Control" parts that we discussed in this episode (see Schematic 1 / 2 above on this page, and pictured below), as a kit of parts that you can start adding to your VCXO from last episode!  This is a special kit for us from Hans Summers of QRP Labs, and contains the oven control component (that we will use), as well as a 10 MHz crystal oscillator components and enclosure pcb set that are included for our eventual use downstream.  In order to save us cost, it does not contain the Si5351 synthesizer chip that his standard kit has ... Hence this is the special "CWTD OCXO Kit" from QRP Labs ... thanks Hans!  [You can see the manual for assembling this at http://www.qrp-labs.com/ocxokit.html ... But remember to save the pcb enclosure and 10 MHz crystal oscillator for later!]

[Note:  To complete the GPS-DO project, we are designing a "motherboard" to to slip inside the enclosure, holding the VCXO, Oven Control board, temperature display circuits, power supply and the little NEO-xx GPS receiver boards ... Should be available by the next episode.]

Price:  $13 ...


Also, you may purchase the CWTD GPSDO Enclosure (pictured below) via PayPal ...

This is a nice Aluminum enclosure (4.5"x3"x1.75") that the end product GPS-DO motherboard will slip into, carrying the VCXO, Oven Control circuits, and the NEO-xx GPS receiver, as depicted in the prototype hardware above on this page.  We ordered a bunch of these enclosures in bulk from better pricing, and are passing that savings on to our CWTD experimenters.

[Note:  To complete the GPS-DO project, we are designing a "motherboard" to to slip inside the enclosure, holding the VCXO, Oven Control board, temperature display circuits, power supply and the little NEO-xx GPS receiver boards ... Should be available by the next episode.]

Price:  $10.25 ...


Purchase via conventional postal mail ...

First determine the total price and shipping fee (plus sales tax if you're in Maryland) by first clicking the PayPal button(s) above (just cancel after determining the shipping fee for your location), and then write a check or M.O. payable to "Midnight Design".   Send to ...



Part 3: GPS Receiver

NEO-7M GPS Receiver:  

NEO-7M ... http://www.ebay.com/itm/Ublox-NEO-7M-000-GPS-Module-MWC-APM2-6-Replace-NEO-6M-GYGPSV3-NEO7M-/400938194993?hash=item5d59c75831  ... $14.30, free shipping

Specs ...

NEO-8M module:


NEO-8M ... http://www.ebay.com/itm/New-Flight-Controller-GPS-Module-for-PX4-Pixhawk-V2-4-5-APM2-56-APM-NEO-M8N-/400880452240?hash=item5d56564290  ... $21.25, free shipping

Specs ...

  • 100% brand new and high quality
    GPS Chip parameters:
  • Receiver type 72-channel u-blox M8 engine
  • GPS/QZSS L1 C/A, GLONASS L10F, BeiDou B1
  • Galileo-ready E1B/C (NEO-M8N)
  • Nav. update rate1 Single GNSS: up to 18 HZ
  • Concurrent GNSS: up to 10 Hz
  • Position accuracy2 2.0 m CEP
  • Acquisition2 Cold starts: 26 s
  • Aided starts: 2 s
  • Reacquisition: 1.5 s
  • Sensitivity2 Tracking & Nav: –167 dBm
  • Cold starts: –148 dBm
  • Hot starts: –156 dBm
  • Assistance AssistNow GNSS Online
  • AssistNow GNSS Offline (up to 35 days)3
  • AssistNow Autonomous (up to 6 days)
  • OMA SUPL & 3GPP compliant
  • Oscillator TCXO (NEO-M8N/Q),
  • Crystal (NEO-M8M)
  • RTC crystal Built-In
  • Noise figure On-chip LNA (NEO-M8M). Extra LNA for
  • lowest noise figure (NEO-M8N/Q)
  • Anti jamming Active CW detection and removal. Extra
  • onboard SAW band pass filter (NEO-M8N/Q)
  • Memory ROM (NEO-M8M/Q) or Flash (NEO-M8N)
  • Supported antennas Active and passive
  • Odometer Travelled distance
  • Data-logger For position, velocity, and time (NEO-M8N)
  • Operating temp. –40 C to 85 C
  • Storage temp. –40 C to 85 C (NEO-M8N/Q)
    –40 C to 105 C (NEO-M8M)
  • RoHS compliant (lead-free)
  • Qualification according to ISO 16750
  • Manufactured and fully tested in ISO/TS 16949 certified production sites
  • Uses u-blox M8 chips qualified according to AEC-Q100
  • Supply voltage 1.65 V to 3.6 V (NEO-M8M)
  • 2.7 V to 3.6 V (NEO-M8N/Q)
  • Power consumption4 23 mA @ 3.0 V (continuous)
  • 5 mA @ 3.0 V Power Save Mode
  • (1 Hz, GPS mode only)
  • Backup Supply 1.4 to 3.6 V
  • NEO-M8N-0 u-blox M8 Concurrent GNSS LCC Module,
  • TCXO, flash, SAW, LNA,
  • Timepulse Configurable 0.25 Hz to 10 MHz



Connector & Cable for the GPS Boards:

2X U.FL Mini PCI to RP-SMA Pigtail Antenna WiFi Cable ... $3.40, free shipping



==> See full background on the GPS Receiver technology being used at our CWTD Whiteboard on this topic ... http://www.cwtd.org/gps-topics/index.html




Part 4: Grand Finale ... GPS-DO Motherboard

Holds the VCXO and OCXO boards, and has circuits for Phase-Locked Loop, Temperature Display, Power Supplies and Buffered Outputs

Here is the overall schematic that pulls everything together!  The motherboard is off to fab now and the prototypes will be available shortly for evaluation ... then we'll be able to get the final kit together for all CWTD followers to complete their project.  This will be happening in our July episodes of CWTD.  [n2apb, Jun 2, 2016]




1)  John Miles, KE5FX site ... <www.ke5fx.com> ... A great assemblage of links having to do with high precision, accuracy and stability techniques can be found on the. You can literally spend days reading up on techniques, software, measurement results and the history of timing and frequency control here. Just plan on spending an afternoon to browse it.

2) “Resources for Precision Timing, Stability, and Noise Analysis” ... <http://www.ke5fx.com/stability.htm> ... If you want in-depth knowledge this is THE place to go. Plus, you can download plenty of extremely valuable application notes and technical papers for future reference. 

3) Great References from the site of KA7OEI ... http://www.ka7oei.com/10meg_rubidium1.html

  • The KO4BB Wiki - This site as a lot of information on various Rubidium references and "precision timing" equipment, among many other things!

  • Rejuvenating Rubidium Lamps - The rubidium lamp in these devices has only a finite lifetime, but this page explains how you may be able to get more life out of it if it quits working!  Note that this page doesn't address the LPRO-101 specifically, but the same general technique may be applicable.

  • The "Time Nuts" Mailing list and archive - Covering all sorts of nerdy topics related to frequency and time measurement, the archives of this list contain a wealth of information about this and other frequency references.  While anyone may peruse the archives, you must join the list in order to participate.

  • Performance of Low-Cost Rubidium Standards by John Ackerman, N8UR - This article compares a number of low-cost (e.g. surplus) rubidium units to determine best short and long-term stability.  The winner?  The Efratom LPRO-101!

  • Stability and Noise Performance of Various Rubidium Standards by John Miles, KE5FX - Another excellent article comparing the important parameters of various Rubidium devices available on the surplus market.  From this page you can readily see why the LPRO-101 works "barefoot" as a microwave reference and an FE-5680 does not!