GPSDO : GPS Disciplined Oscillator

July 2009





Have you heard of a GPSDO before ? I hadn't until about 6 months ago and wondered what the who-ha was all about... Why would you ever need a GPSDO ?

Many people wouldn't - but it's nice to know that they are available if you have a use for them. But you may ask, what is their use ???

The GPSDO is a very high stability oscillator (typically 10.000000000 MHz +/- ) that uses data from the GPS satellite system to provide timing/locking/disciplining information to control the internal oscillator within a couple of parts in 1E-11 (i.e. 1 in 10000000000) once stabilised.

If you are a serious microwave enthusiast, these types of accuracies are fast becoming mandatory so that if you specify that your transmission is on, for example, 10.368050000 GHz, then it really is on that frequency - and when you get to techniques like Earth-Moon-Earth (EME) then you need to make sure that you have the same frequency selected as the other end - there isn't much room for inaccuracy. To that end, serious types often feed the 10 MHz GPSDO reference frequency to lock their other equipment to.

My needs are simple at the moment although I may get closer to the "serious enthusiast" point in the future : (1) I have a Marconi RF signal generator that uses an external 10MHz reference to set the output frequency; and (2) my 1GHz frequency counter can also utilise an external 10MHz as an alternative to the internal 10MHz oscillator. That means that I can very accurately measure frequencies on the counter - and - generate them on the sig gen. Their accuracy - basically the actual frequency divided by 10+/- the GPSDO error. If the GPSDO output at 10 MHz is within 1 part per 10-9 (typical worst case after warmed up) and the sig gen was set to 1.000 GHz (1000MHz), the error is 1Hz. Given that most of the time, the accuracy is going to be even better, that means that at 1 part per 1E-10, the error would be 0.1Hz at 1GHz.

There are a number of articles on the WWW that deal with GPSDO use and that number will increase phenomenally over time as more people become aware of what a GPSDO can do for them. This web page is more about how I did it - rather than anything else. One of the continuing things that was noted was the use of a Trimble ThunderBolt GPSDO unit - and since these are now obsolete having been superseded by newer devices using newer technologies, the older units are now becoming available through the likes of eBay. Something to note - many articles talk about using the Thunderbolt but very few document what antenna is used or required.

The PDF of the user manual on the basic device is available from here on the main Trimble site. The other thing that is needed is their "TBOLTMON" support software ( available here ) as it tells the user the exact status of what GPSs it is currently "seeing" and the internal 10MHz oscillator error. The final document is for their 'Bullet' antenna : here. If these web references disappear, the same files can be downloaded from this site : User manual : ThunderBoltBook2003.pdf (1090KB) - TBOLTMON.EXE (585KB) - Bullet PDF (250KB)

The following is a bit blog-ish but best describes the due process and findings.

Mouse over the images to see more detail....


Trimble ThunderBolt GPSDO "Front" view

"Side View" :
The important thing to note is the 6 pin 0.1" black power connector
Pin order from LHS to RHS : -12V, Gnd, +5V, +5V, Gnd, +12V

After searching eBay for "Trimble Thunderbolt GPSDO" devices over a number of weeks, I chanced across one on a Sunday morning that had just 11 minutes to go in the auction. The highest bid was $US86 so far so I took the plunge and put in $US100 - or about $AUS130 as a maximum bid. My winning bid was $US96 - or about $AUS122 and the shipping $US25 - so a total of $AUS155. The device was located in China and shortly after winning the auction, I made the payment by PayPal. Within about 30 minutes, I had an email back from the vendor - he was shipping the goods by EMS courier - and even supplied a tracking number. It took 2 days before the tracking number actually appeared on the China EMS web site - the vendor was probably awaiting confirmation from PayPal that payment had in fact been made. On the following Friday, the box with the GPSDO arrived via Australia Post courier... Wow, only about 5 days delivery after the auction finished - I was impressed.

This particular eBay vendor ( in July 2009) offers an active antenna to go with the Thunderbolt for $US20 and it is probably a good idea to take one simply because the Trimble Thunderbolt receiver is DEAF. The original matching Trimble "Bullet" antenna has an internal preamplifier of 35dB (at 1575MHz) and a simple antenna just does not work. As supplied, the Thunderbolt requires +12V @ 700mA, +5V @ 400mA and -12V @ 10mA - and no power supply is included (although you can get a suitable switch-mode supply from them too - although it probably will not be approved in Australia). The quickest way to get it going was to grab an old AT-style power supply that had recently been removed from an older series PC, take the required voltages from the yellow, red and blue colour coded leads respectively (with respect to the black "common" lead) and use that to power up the device.
{ Note: my Thunderbolt unit from this supplier included a 6 pin power connector with fly-wires - other suppliers may not include one }

The relevant TBoltMon software was loaded onto the PC, the serial port cabled across to the DB9 on the Thunderbolt and it was powered up. The TBoltMon software asks which COM port is to use each and every time but it simply pushing a radio-style button so is quick. It all seemed ok except there was a series of yellow alarms down the middle of screen - Antenna Open and Antenna Short - which was correct seeing as how there was no antenna connected - plus others like Satellite Tracking and Oscillator Disciplining - all of which I considered normal. I won't go through what I did do exactly but I will say that eventually I went into the Setup menu item, the Position sub-item and set the approximate latitude and Longtitude here, remembering to save it as an "Approximate Position" and to "Save Segment" - this latter function is the most important. The main reason for setting the approximate position is so that the receiver knows which satellites are likely to be found and makes the "lock-up" time shorter.

I tried building a simple patch antenna (per the ARRL info, and using double-sided PCB material for the 2 plates) and even after I etched a few PCB tracks and mounted an ERA3 MMIC preamplifier ( about 20dB gain ) on the back of the backplane, the GPS signals were showing but not enough for the Thunderbolt receiver to lock. Note - the centre pin of the Thunderbolt's 'F' antenna connector has about +4.75V on it - to supply power to the active antenna. I left the Thunderbolt powered on so the internal TCXO would stabilise temperature - the normal state for a device like this. A quick visit to the RF Shop ( on the Monday and a 'GPS-325SMA' active antenna ( 27dB preamp inbuilt ) was purchased (about $AUD25). Using an adapter lead with a SMA female, it was connected to the F-female on the Thunderbolt unit and, with the antenna placed outside on the adjacent fence post and with the coax cable fed through the window, up came the signals.

Within a couple of minutes, the GPS had locked on 3 channels, the GPSDO status was starting to synchronise. The mode changed from "starting up" to "locked" and the displayed error at 10MHz started to swing around "0.00 ppb" ( which I take is Parts Per Billion ). Over the next 20 minutes, the status changed to the maximum 8 GPS channels locked and the error swing around the '0.00 ppb' point started to decrease.

TBoltMon with 7 of 8 GPS channels locked

I took the 10 MHz output and fed it into the front of the frequency counter - it was reading 10.0000 MHz on 1 second gate resolution, and flicked between 9.99999 and 10.00000 MHz on 10 second gate resolution. It appeared that my counter was going to be pretty close anyway - but that was pure luck - coupled with the fact that the counter has been powered on for some weeks and it's internal TCXO had stabilised at the same value that I had calibrated it at some months ago using WWV. I put the 10MHz GPSDO reference into the back of the Marconi sig gen and set it to 1000.000MHz (1.0GHz) and fed the generator output to the input of the counter (not sync-ed) : it displayed 999.99999 MHz (10 sec gating) and just stayed at that. The counter's internal (free-running) TCXO was within 20Hz at 1GHz (ie +/- 10Hz) - not bad for a $500 counter back some years ago when 1GHz was the normal upper frequency limit for this type of device.

I was happy - the Thunderbolt GPSDO was working as it should. For an investment of under $AUS200 : a very stable reference oscillator for the workshop / radio shack. I would be able to turn off the counter and just leave the GPSDO running- with a power consumption of about 10 watts of power - and still know that when I powered up the counter or sig gen, it would be on-frequency and stable. Once I extended that frequency to be able to stabilise the other radio gear, I would be able to turn them on for immediate use - knowing that they wouldn't drift either. Apart from the 6 metre band (starting at 50.000 MHz) , the direct harmonic radiation of the 10.000 MHz reference would not be an issue as none of the other amateur bands include multiples of 10 MHz at their main operating points. Note : main operation on 6m is Dx calling 50.100 CW & 50.110 SSB, primarily beacons between 50.000 and 50.100, national working 50.150 MHz and above.

One thing that seems easy to overlook and may turn out to be important - once the GPSDO is stabilised, go to the Options Menu again and "Save All Segments". The other thing I noted was the DAC control voltage value for the TCXO with "0.00 ppb" errors and entered that in the Starting DAC Voltage in the relevant Options Menu ( & "Save Segment" ) as that should help keep the frequency error down if switched off/on at some later time.

The above was all step ONE.... Now to move on to the subsequent plans....


Step 2 was to box the unit and include an internal power supply arrangement so that I could dispose of the relatively-bulky AT-computer power supply. If I was going to just use it in my workshop I could have just left it more-or-less as was except tidied up. My future plans included the ability to actually take it 'somewhere else' so that meant a more suitable power supply and, if possible, internal battery power to keep it going for a while pending it being externally powered again. The external power source must be based on +12V (e.g. car battery when travelling or even operating portable on a hilltop) rather than 240VAC. Ideally this external power level would also charge the internal battery as well. How to do it ???

If I was going to box it, could I also add some extra buffering so that I could add extra 10MHz 'loads'/devices onto that box ???

I spent quite a while looking through the web for DC power converters because I needed to find a Up/Down voltage converter so that the 9.6V from NiMh batteries could generate the required +12V at 700mA. The ability to produce the -12V supply wasn't such a limiting factor - due to it's small current requirement - about 10mA. The +5V at 500mA was reasonably easy too, power lossy - but easy..

I bought a couple of MC34063A DC-DC converter ICs from Jaycar and proceeded to breadboard a couple of regulators. The +5V supply was a simple extract from the device's application notes and worked a treat. The up/down converter from the device's application notes was a partial success - it did produce the +12V but simply fell short on it's ability to provide anything close to the required current.

I subsequently found an interesting web page with a reference to a switch-mode car supply (SMPS : Switch Mode Power Supply) : +12V DC input, +12V DC output - but the input voltage could fall as low as about 7.5V/ 8.0V and still produce the +12V out, supposedly with a current capability of up to 9 amperes. It provided a rough circuit diagram and some updates by someone else to "improve it".

My experience has mainly been with computer switch-mode supplies so I duly downloaded the data sheet for the IC - a UC3843 - and had a look at the "standard" applications versus the one found above. It seemed a distinct possibility that I could provide the three voltages I needed from a single switch-mode and simply have it fit into a suitable box. RS Components list the UC3843 ( RS Part number 516-5152 ) at about $1 + GST, the IRFZ44N power FETS ( RS Part number 540-9777 ) for under $3 + GST - however they do not stock the UC3843 at their Trade Counters - only web/mail supply. They did have the UC3845 ( 516-5174 ) (which is from the same family of devices - but with a duty cycle limit at 50% -) so I thought I would go with a couple of each and see how it worked out. Finally, there was a need for Schottky power diodes ( I used RS Part number 230-901 ) to minimise forward voltage drop so I added those to the list. The main "power core" in the original article was a clam-shell ferrite suppression-style core but since I was going to need a bit more space to add the extra 2 windings, I re-claimed the main yellow/white toroid from a defunct switch-mode mains computer supply and removed all of the original wire. I omitted the 820uF electro coupling the 'hot' side of the primary to the 'hot' side of the secondary - it struck me as unusual to have it there and did not affect the SMPS operation. I didn't require the power switching and I preferred to have the +5V come from a separate winding rather than a 5V 3-terminal regulator - that way if one supply failed, it was more likely they would all fail - and thus reduce the likelihood of damage to the Thunderbolt device.

I built up the circuit on 'Veroboard' more-or-less as per the original circuit diagram with the exception of the unwanted bits but with the addition of two extra rectifier/filter capacitor sections to provide the extra voltages : +5V and -12V. I wound up (the final version of) the toroid with 0.8mm enamelled wire for the primary winding and the +12V secondary, 0.5mm wire for the -12V secondary ( lower current load so thinner wire required) and 1.25mm wire for the +5V winding. My turns ratio ended up at 18:18:18:8.5 ( pri:+12V:-12V:+5V) although the 8.5 turns might be slightly in error as I changed the turns on this winding after the project board was virtually completed and had the required DC loads on each output - as such the turns count was adjusted to give about +5.2V while the others were +11.89 (+12) and -12.18 (-12V). LEDs were fitted to the veroboard so the status of each supply voltage was immediately obvious.

The re-wound yellow/white toroid. The yellow heatshrink was used only on the "starts" of the 4 windings so that the phasing of the windings could be established easily when fitting to the veroboard. The use of different wire sizes made it easy to determine which winding was which. The winding inductances were 37uH:37uH:37uH:about 13uH ( pri:+12V:-12V:+5V)
{ Final value of 5V winding may be different - not re-measured }

Completed SMPS veroboard - toroid side. The LHS 3 terminal devices are the LM317T (angled) constant current source for charging the NiMH battery and behind it is the power isolation schottky dual diode. The 'electrolytics' visible are all low-ESR series rated at 25V All other components are standard leaded-styles.

Completed SMPS veroboard - IC end.
Note that in the final version the flag heatsink for the TO220-series IRZF44N was not required and was removed. It was just as well it was there during testing because at one stage the device/heatsink was extremely hot - due to one of the windings having reversed phase when soldered to the veroboard. The UC3845 8 pin DIL series IC is socket-ed just in case !

The current at 12V DC input was about 0.55A with the Thunderbolt under power and it turned out there was no need to actually heatsink the IRFZ44N at this power level - however a heatsink appears in most of the construction photos - so it was removed. The input voltage to the SMPS was varied down to about 8.2V before the device stopped and the only other real effect with varying the voltage was the supply current requirement changed. As the input DC voltage was lowered, the current increased thus providing a fairly constant power output.

I made up a bank of 8 x C-size 3500mAH batteries, carefully insulated them to prevent 'accidents' and then encapsulated them in a cut-up manilla folder, bringing out the positive and negative wires to a 2 pin header plug - to match the 2 pin header soldered at the side of the SMPS veroboard. I was going to need to be able to charge them while they were in the box too. A little research says that you can charge them at C/10 ( capacity divided by 10) virtually indefinitely and they will not suffer permanent damage. I decided to utilise an LM317T variable regulator as a constant current source supplying 170mA - i.e. C/20 - so while it will take something in the order of 30 hours to fully charge a virtually-discharged battery, no harm should come from leaving it on charge virtually permanently.

8 x 3500mAH NiMh cells wired in series

After packaging to become a 9.6V 3500mAH "pack"


The board was fitted to the ABS box using a couple of standoffs with wires protruding from the underneath for the power switch and 2 status LEDs for the front of the box, the 6 pin power to the Thunderbolt and 2 wires out to a 2.5mm DC-series socket on the back of the box for the +12V input power.

Showing how it all "fits in the box"

The battery pack is isolated from the Thunderbolt case by a couple of slabs of foam cut to thickness so that the battery pack is held firmly in position when the clear lid is screwed down.

The SMPS veroboard mounted into the box and held down by a metal screw at each end. The LEDs are : yellow = -12V, green = +12V and red = +5V

I don't have any plans to 'publish' the final circuit. The basic concept used is as mentioned on this page and almost everybody who has 'the nous' will do it their way anyway.....

When all of the work was done, the box was powered up with external 12V, PC connected to the serial port, GPS antenna connected, and within a couple of minutes I had satellite acquisition and multiple channels locked (green indicator on TboltMon) and the output frequency stabilisation starting. Removing the external power caused the device to power off the internal NiMH battery pack automatically and all continued normally.

Power consumption from the 12V supply : 1.15A during initial Thunderbolt start-up - about 45-60 seconds, drops to 0.72A after that & stays around that value. (Of that, 0.17A is charging the NiMH battery pack)

"Front View"
From LHS - GPS active antenna input, 10MHz output, 1PPS output, DB9 to PC, Green LED indicates Thunderbolt has DC power on, red LED indicates external 12V power input. Power switch turns off the power to the SMPS section (thus the whole GPS device regardless of internal/external power) but allows the battery to charge.
Labels to come...

"Top View"
Shows clear box lid fitted - making it easy to check the status LEDS inside while sealing the box.

Status screen on the notebook PC - just photographed to display the 8 green boxes down the RHS of the TboltMon software

The extra 10MHz outputs buffering has not been implemented but has been "thought about".

Extra note : whilst working on enlarging the mounting holes for the Thunderbolt, I took the opportunity to open it up and add a RG174U miniature 50 ohm coax across the 10MHz output BNC connector and take it through a new hole drilled through the side of the box. This is for the addition of 10MHz output (/s) direct (or via a buffer) on the back side of the box - thus making it easier to provide independent 10MHz feeds to the sig gen, counter, +++... in the future. The end of this coax is currently sleeved with heatshrink awaiting "Phase 3".

Update 20 July 2009 : A single BNC socket has been mounted on the rear of the box (for now), connected to the miniature coax, and feeds out to the sig gen & frequency counter. A note about the counter : it required 'TTL-ish' levels for the external clock but since there was plenty of room in the case, I added a small veroboard with a 74LS04 hex inverter as a 3-stage amplifier. Capacitive input (/DC block) to the first stage (330 ohm feedback LS04 output to input), output directly into next LS04 stage also with the same feedback resistor value and then it feeds the final LS04 stage (no feedback) as a pure TTL output. There are 3 inverters left unused.

A single RG58 coax feeds the 10MHz from the back of the GPSDO to a BNC T-piece on the back of the counter and then across to the generator (double termination). Applying the mains power to both and setting the generator to 50.110, output 0dBm and cabled into the counter causes a low (nearly zero beat) growl to issue forth from the normally-squelched shack monitoring receiver on 50.110 USB. The best thing is that the counter reads 50.110 immediately I have set up the generator - no warmup and both are correct. { The GPSDO runs 24/7 though... } Isn't it good when a plan comes together ???

Update 4 December 2009 : Minor modification to the 10MHz output socket on the rear panel. It looked like a 50Hz hum loop was causing some amplitude modulation of the 10MHz signal ( as seem by Spectran via a sound card and receiver ) so a small ferrite-cored 1:1 transformer was included in series to the output connector. A standard 2-hole balun core was wound with two windings of 5 turns of small gauge enamelled wire with one winding just terminating to the BNC socket (which is insulated from ground) and the incoming small coax terminating to the other winding. There was some obvious reduction in the 50Hz component while the 10MHz level seemed basically unaffected.

Eventually the GPSDO will not only sync the sig gen and frequency counter but also the the likes of my...

Icom IC-7400 ( / IC-746Pro ) : which uses a 32.000 MHz main Local Oscillator so should be easy to create a synthesiser for
{ to couple to the Icom's LO use the idea at,com_zoom/Itemid,99/PageNo,1/catid,375/ } ;

The Icom IC-718 used into the 70cm transverter also lists a CR-338 high stability TCXO as an option - and that also runs at 32.000 MHz - so there is a possibility that one might be as easy as the IC-7400 - and it might be coupled in using the same technique.

Maybe I could use the same synth and split the outputs since they are running at the same frequency !
{ neither device actually has the CR-338 option fitted }.

For that matter, the LO for a 1296.000 transverter with a 144.000 I.F starts at 96.000 MHz so why not (1) either create another separate PLL at 96 MHz or (2) triple the 32.000 generated for the IC-718 & IC-7400 ! To use the original 145.000 I.F. with 10MHz reference injection, the reference frequency divide ratio is 120 ( so 83.33333 KHz into the PLL ) and to generate 95.9166666 MHz with the x12 oscillator multiplication, the LO divider ratio is 1151 - so it can be done exactly - but with a little more effort in the divider arrangements. Maybe a DDS would be a better proposition for this one....

432 MHz / 70 cm Transverter : which uses a crystal L.O. at 101.000 MHz for a 28MHz I.F. and, again, because it is a multiple of 1.0000 MHz, should be relatively easy to synthesise however will require a device separate from the above generation.

I have started researching the various VCO, PLL and divider chips available from Minikits and other Aussie sources to see what the best "due process" is to build up into a finished product !!!

It all starts you thinking - doesn't it ????

Update 10 Dec 2009 : I have been doing some maths about divider ratios and even wrote myself a small Delphi-compiled application to sort out various integer divider values for selectable reference frequencies ( with the PD range limited from 3.125KHz to 100 KHz) and L.O frequencies. In essence it starts off with the actual VCO/LO frequency and divides it by a range of integer values to see what phase discriminator (PD) input frequency would result. That frequency is then divided into the Reference Frequency (eg 10.00000 MHz) to see if it is an integer divisor there also. If both values are integers then it lists them on screen in a memo box before moving on to trial the next divisor number. It is actually quite quick to number-crunch.

Using this utility, it becomes easy to find out what the divider values are for a given set of circumstances. The following info relates to LO frequencies of interest to me...

All these relate to a 10.0000MHz reference as derived from a GPSDO...

Local Oscillator
PD Frequency
Ref Freq division (A)
VCO Division (N)
23cm / 1296 transverter:            
144MHz IF
144MHz IF
83.333333 KHz
145MHz IF
83.333333 KHz
70cm / 432 transverter:            
145 MHz IF
83.333333 KHz
28 MHz IF
83.333333 KHz
Icom IC-7400 external lock synthesiser:            
83.333333 KHz

One of the things that becomes obvious is that 83.333333 KHz is a common PD frequency when it comes to getting integer dividers for a wide range of common VCO frequencies (even more-so than 100KHz) ... and dividing by 120 is pretty easy regardless of what technology you use. If you keep in mind that a high PD frequency makes the lag filter design easier then it all makes sense to use as high a value as practicable. At first glance the N-division numbers aren't so easy but most general-use PLL's can cope with them - provided that the chips will actually work at the VCO frequency (eg 100MHz) .

Now what the heck is Doug raving on about PLLs and L.O.'s for ??? The above info is to show how easy it is (in theory) to make use of the GPSDO to make sure that your radio, transverter/s, etc are actually ON-FREQUENCY. The desire to go to the next stage with the GPSDO was highlighted recently during the 2009 Spring Field Day here in Australia - on both supposedly 432.150 and 1296.150, people were off-frequency all over the place ! That gave me the push to start actually researching and creating synthesiser hardware and while only a PCB layout exists as at this date, I am at least moving forward. There will be another topic added to the menu at the top of this page when I get the physical construction under way and start to get some results.

For those with a "bent" towards creating things like these synthesisers, I am initially basing the PLL design around the Siemens TBB206 PLL chip with optional TBB202 prescaler, and on-board NPN-transistor style VCO with a MMIC buffer amp, a PICAXE-08M as a PLL "controller" and for the initial testing as well as when the GPSDO is not on-line/available, a 10MHz TTL oscillator module. The PCB size is curently 75mm x 32mm and contains the 2 x SMD-style Siemens chips plus a standard DIL size PICAXE and TTL oscillator. There is one jumper-pin to allow one of two frequencies to be generated (eg 96.000 or 95.916666) for any specific application and this can go out to a toggle switch if desired. It could also be used to switch for repeater offsets if the LO is used in that manner eg on 70cm FM. The data written into the PICAXE during programming will set the pair of final VCO frequencies available.

My plan is to create the same PCB twice for the two different frequency ranges (1) around 90 - 105 MHz & (2) 25 - 35 MHz, where the only real difference will be the inductor and capacitors in the VCO section. The divisors are set in software so nothing else needs to be changed....

As they say, stay tuned !

2010 : Well the PLL sythesiser project really is happening.. Visit the synthesiser web page to see more actual details