Now that I have confirmed the Thunderbolt Trimble is working nicely down to 3.5ppt (3.5E-10) and getting more accurate as time goes on its time to put it in a box so its more durable and generally more usable. My plan is to add a Beaglebone Black, LCD and Keypad for display and control of the system alongside network.
* LCD to display the lock status, accuracy and any alarm conditions.
* Keypad for local interaction with the system.
* NTP server based off the GPS and PPS feed.
* Network support for NMEA and TSIP data from the GPS module.
* Multiple filtered and amplified 10MHz outputs to feed test equipment and VFO’s.
The best part is most of it is based on kit I already have in the junk box.
On the software level a number of existing open source projects will be used to build system:
The main components being:
* GPSD will listen to the serial connection and receive the data from the GPS module, this daemon will be configured to start receiving the data immediately rather than waiting for a client connection so it can feed the NTP server.
This is a nice tool for working with the GPS with _almost_ no configuration required to get it working, it also nice to be able to feed the data from a single GPS to multiple targets without having to code around it.
* NTPD will listen to the GPS and PPS data via shared memory alongside several external ntp servers to establish the base time. This time will be available to external systems, when tuned it should be reasonably accurate. A minor modification to the Beaglebone will be required to significantly increase the accuracy of this service.
This is a fairly standard protocol. Chrony may be used instead given its more suitable for a low power system, time will tell.
* An embedded network client will most likely be built to feed the NMEA data into my IC-7100 transceiver for an accurate position fix. I have the data, so why not 😉
* A GPSD monitor will be developed to process the TSIP data for analysis (ADEV) and reporting on the attached LCD and via a web interface. The TSIP data has to be processed as the NMEA and JSON feeds produced by GPSD don’t include the additional metrics and alarms states sent from the GPS unit.
* All performance data will be stored in a Round Robin Data Base for reporting over time. This is important in understanding the long term performance of the GPSDO.
* LCDProc will be run to control the graphical LCD, displaying system, performance, and GPS status information. An attached keypad will be processed by LIRC and used to switch displays and perform configuration options without requiring an external PC. (i.e. Run Self Survey).
* GPSCTL is part of the GPSD package and will be used to send commands to the GPS unit for any configuration changes to the applied.
* And finally, a NODE.js interface will be coded to make the whole lot available via a web interface, simply because its time I learnt node…
There’s a lot in this little project, I’m really enjoying it so far.