May 2021
I just wanted to show the setup I have arranged to get a precise time on the Windows 10 PC that runs my telescope/cameras etc. This is mostly targeted to sat tracking. The mount is a MYT on a ME/MX Pyramid Tripod.
The windows PC is an Intel NUC gen 10 i7, one of those little boxes PCs that are however pretty powerful with 16GB of ram a 500GB NVME drive and an extra 1TB SATA drive. These PCs have a removable plastic top cover that can be replaced with aftermarket accessories like extra USB ports, serial ports etc.
What I did however was to build on top of it a local GPS based NTP server that doesn’t need any external connection, it is powered by the NUC via one of the two internal USB ports. The NTP server is based on a single board computer (SBC) called NanoPi Neo3, it has 2GB ram (overkill), no WIFI (purposely selected for that) and gigabit ethernet (another critical selection criteria). That little SBC is connected to a GPS module (an U-Blox Neo M8), to a RTC (DS3231) and to a UART to USB board to connect to the SBC onboard debug serial port (this also is overkill as Putty connection over ethernet is obviously the easiest option).
Anyway the SBC runs Linux (Armbian) and an NTP server based on the GPS PPS signal making it a Stratum 2 time server. The Windows PC is connected directly to it via a short patch cable and uses it as its only time source. The GPS spec for timing accuracy is around 22nsec. The Windows PC tracks that time to +/- 50 usec using the free NTP client for Windows from Meinberg. If the NUC is busy with some intense CPU tasks the time deviation would spike up to 150usec (worse case I have seen) but the Windows NTP will track it back to baseline shortly.
Bottom line is the Windows time deviation from GPS UTC is on average way better than 0.1msec. I didn’t need this precision obviously, but this is what I was able to get so no complaints
Now by having a 3D printer I was able to integrate the whole thing into an “add-on” to the Intel NUC, and attach the NUC itself to the Pyramid Tripod in a very stable and sturdy way. I also took out the standard little WIFI antennas from the NUC and replaced them with proper WIFI6 antennas, and a use a simple dipole antenna for the GPS that gives plenty of GPS reception…
Another trick I used is to run the SBC Linux from a read only file system so that I don’t care to do a proper shutdown of the Linux running on it when I power off the NUC.
All of this took a while to complete mostly because I didn’t use a raspberry pi so I had to figure out a few things but I didn’t want to use a rpi4 for this, waaaaay overkill, and any lesser rpi doesn’t have true gigabit ethernet hence these had to be excluded. I need gigabit ethernet because the network delay from the NTP to the client PC will affect the timing accuracy and I didn’t want to cut corners with that. The current network delay is around 0.4msec and the NTP client compensates for that automatically.
For more details on the Armbian build see the attached doc:
https://drive.google.com/file/d/1cpYARkcKyKLddyc9j4jMSmAH10vOVuVI/view?usp=sharing
For the NUC add on STL and Solidworks files get the zip file from here:
https://drive.google.com/file/d/1ojGESoJXqyeYXT4nIy3GWMBRyPu7YauK/view?usp=sharing
Wiring is as below:
Here are the pictures, First of all the time offset from the GPS UTC (units are microseconds):
over 30hours, 0.8usec average and 26.5usec stdev (not that bad...for a Windows PC):
This is a 48h data collection. mean offset is -0.1us, sdev is 18.7us.
This is the add on attached to the NUC without the top cover:
This is the installed NUC:
This is the quick attachment (The plate comes with the NUC):
And finally, this is the view of the bottom of the "hat". All the pieces are attached on the other side.