Prompted by voltsandjolts's post in this thread:
https://www.eevblog.com/forum/projects/it's-feb-2016-which-ebay-gpsdo/msg875683/#msg875683I decided to buy on of the u-blox LEA-6T GPS navigation modules currently available on ebay at under £20. It has duly arrived in 10 days flat to the UK from HK, complete with some mounting hardware and a micro-USB adapter board. This is the Timing version of the module, although for some reason being sold for drone use. Being the LEA variant, there are two programmable timing pulse outputs available.
The first thing to do was hook it up to the adapter board and try it with the u-blox u-center s/w available from their website. It works fine and appears very sensitive, getting a 3D lock downstairs in a 2 story house.
Time to pull it apart and work out the connector pinouts as I couldn't find anything on the web (there is documentation for 'Pixhawk' interfaces but these doesn't appear to match). The unit is held together with 4 screws with a further one locating the PCB in the bottom of the case to ease assembly. The top surface on the PCB is occupied by the 25mm passive patch antenna only:
On the bottom of the PCB is a u-blox LEA-6T-0-000, together with a compass IC, backup battery and other parts. This version of the LEA-6T is hard-coded rather than Flash based, but the board does include an ST 32k bit EEPROM for long term settings storage. The memory backup battery is rechargeable. There's an on-board 3V3 LDO regulator (taking the 5V supply from USB), also included are PTC and reverse polarity diode protection. There are also two LEDs, a red one on the 3V3 supply, and a green one, transistor buffered from the Timepulse signal.
The interface connector on the board has a pinout as follows:
Pin Wire Color Signal
1 Yellow RXD1
2 Green TXD1
3 Blue Compass I2C
4 White Compass I2C
5 Black GND
6 Red +5V
7 Orange USB D-
8 Brown USB D+
Note that there are no Timepulse outputs on the connector, not helpful for timing use. As I am going to use the module as a timing reference I decided to remove the Compass IC and re-use pins 3 and 4. A little wasteful I know, but compass modules are really cheap these days. The mod was easy, a wire from pin 3 to the 'pps' pad on the PCB. The Timepulse2 pin on the LEA-6T module (pin 9) is very close to the connector so easy to bridge a wire across to pin 4 on the connector. As the outputs are capable of running up the 10MHz so ideally you would us coax, but I found that the signal at the end of the short supplied cable still looks pretty good, so I have left it at that for now. The photo shows the modified PCB:
I haven't tested the serial RXD and TXD signals. The LEA-6T module uses the VDDusb pin to decide whether USB is connected. This pin is hard-wired to 3V3 so this might override the serial port, I don't know. Not an issue for me as I would only be connecting them to a USB-serial module anyway. If serial-only operation is needed, the track to the VDDusb pin and associated decoupling cap are easily accessible so it would be simple to hardwire it to ground instead.
Now on to the USB adapter board. The Connecting cable is split out into a 5 pin and 4 pin connector, strangely the USB signals are split between the two connectors. The adapter board matches these to a microUSB connector. NOTE that there are NO protection components - even the 22R USB series resistors are missing, so this will only be a temporary measure. In addition to the connectors, the board also has footprints for two 0.1" headers... one is a 2 pin with USB D+ and D- (not much use) but the other is a 4 pin with +5V, GND, and 2 unconnected holes. It was very easy to add a couple of wire links to connect the new Timepulse and Timepulse2 signals to these unused pins (see photo). Usefully, once configured the unit will run standalone (no USB) by supplying 5V to the header.
I've also drawn a basic schematic of the other bits on the GPS PCB (sorry it's a bit fuzzy):
So how does it perform? I followed the advice given in the u-blox timing app-note, disabling SBAS, setting stationary mode etc. The app note also shows how to configure the Timepulse signals to only output when GPS is locked. I've set Timepulse to be a slow pulse signal (10s) as it has the led attached, and Timepulse2 as a high frequency output. I tried it on 8MHz and 10MHz, as expected there is significant jitter at 10MHz as it isn't an integer divide of the 32MHz TCXO. At both frequencies there is sawtooth jitter visible (as expected).
I've done some initial testing with my Philips PM6622 Timer/counter. Even when Timepulse2 set to the more jittery 10MHz, when the counter is set to 10sec gate (0.1Hz resolution) the frequency display is stable at the least significant digit (1e-8). In timer mode, with Timepulse set to 10secs, again the display was stable within 1 digit (100ns), again stable to 1e-8. As you can expect 1 digit variation due to timing jitter I increased the Timepulse time to the maximum 60 secs. This still showed only 100ns jitter, so stability is better than 2e-9. I've run the module though a fair number of powers cycles and re-acquisitons and it always displays the same readings so I've got good confidence that the output it is also accurate to this level. When the OCXO output of the PM6622 and Timepulse2 are both displayed on a scope you can see the slow rolling of one signal versus the other even with the jitter, so it is easy to adjust the OCXO frequency by eye (good old analog method).
My intention is to use the module to discipline a Datum 10MHz OCXO that I've got, but it is good to see that the module on it's own is good enough to calibrate any normal timer/counter to a practical level of accuracy standalone.