Ooo... That RC divider on the PPS concerns me. All the money was put into making that edge right on the money, and reliably so. I'm not sure that guarantee will hold out when run through a load. Warming the resistor or capacitor, for example, should change the time constant enough to be noticable.<p>I've had lots of luck with 74LVC series ICs as logic level translators from 5V to 3.3V. I can do a little nosing around to see if they can handle 400 ns pulses, but they should handle just great.
I'm not sure I would call a rubidium oscillator an "atomic clock".<p>This, on the other hand, certainly qualifies:<p><a href="https://coverclock.blogspot.com/2017/05/my-stratum-0-atomic-clock_9.html" rel="nofollow">https://coverclock.blogspot.com/2017/05/my-stratum-0-atomic-...</a><p>The CSAC module is somewhat more expensive, but still cheaper than a Swiss watch :-)<p>That said, just because you have an atomic frequency reference doesn't mean you have a clock. You still need to compensate for gravitational time dilation (because of General Relativity, time flows faster as your altitude increases and it's actually measurable using atomic clocks) to get TAI atomic time, and then factor in leap seconds for UTC.
In case you haven’t read the story of taking an atomic clock on a road trip, it’s a fun read: <a href="http://leapsecond.com/great2005/tour/" rel="nofollow">http://leapsecond.com/great2005/tour/</a>
It’s a real shame to use a rubidium clock but use only the initial ntp sync value to base it off of as your source of truth. Ntp, aside from only having ok accuracy, takes time to settle. This would be much cooler with a gps time source.