I'm only six years late to this party but I thought I'd add my two cent's worth to give a new perspective on these Efratom/Symmetricom/Datum LPRO and derivative ROs
I've looked at the Symmetricom SA22C datasheet and, afaics, it's basically a stretched low phase noise LPRO101 with a few extra 'bells and whistles'. Unless the low phase noise feature is a must have, the good old LPRO101 can serve as a decent lab standard that can stay within 30ns of a decent GPSDO over a 24 hour period if properly thermally stabilised and barometrically compensated.
I've been testing the frequency stability of an Efratom LPRO101 when thermally managed to keep the baseplate at a fixed 36 deg C +/- 0.2 deg or better over the past month and would typically see less than 50ns drift in 24 hour test runs using a breadboarded analogue temperature controller lash up as per the attached photos,
Since I started experimenting with an Arduino based alternative to the rather fragile analogue breadboard lash up just a fortnight ago, I'm now typically seeing 24 hour phase drift rates down to 30ns and lower (after fixing a fan load current interaction with the common zero volt rail that was reducing the Vcc rail by some 10 to 20mV every time it fired up).
As you can observe in the photos, the Arduino lash up is also suffering a modicum of "Solderless Breadboarditus". Considering this impediment, the improvement in frequency stability in both setups over the "Let's attach it to a BFO heatsink and just hope for the best" school of DIY engineering configurations that I had initially used and still see being employed by other electronics enthusiasts who've published their efforts in blogs or YT videos, is quite remarkable.
What's even more remarkable is that I still have a few more refinements to add (like a properly vented customised enclosure with room for yet more polystyrene foam insulation for one
) which should provide even more stability, easing the task of a GPS add on to just compensating the ageing drift with daily (if required) recalibration adjustments. It's not so much a matter of 'disciplining' as 'gently teasing' my embryonic GPSDRO to stay within 10ns or so of phase with the GPS atomic time reference.
That's my ultimate goal and the results so far, all things considered, have been very encouraging. So much so, that when I came across this topic thread which doesn't seem to have totally expired, I thought I'd post my results with a few images, which I think will be of some interest here and maybe breathe new life into this topic.
BTW, the final photo is to satisfy the curiosity of anyone observant enough to have spotted the anomalous mBar readout just visible in the SSD1306 display in the bench set up photo. I only noticed this while I was taking the photographs. I think it may have hung over 24 hours earlier. Fortunately, I'm only displaying the barometer readings from the BMP280 and discarding its temperature data.
The temperature correctly being displayed comes from the 56K@20^C thermistor that's embedded in the quarter inch thick aluminium heat spreader attached to the LPRO's baseplate onto which the fan cooled heatsink is attached (the 'meat in the sandwich so to speak). I'd concocted a Frankensketch combining a thermistor temperature sketch and a BMP280 with SSD1306 display sketch.
I'm a newbie as far as the Arduino IDE is concerned but it's not my first experience in writing real time control algorithms, an experience which harks back to the days of Z80 assembler some forty years ago.
The fact that the BMP280 seems to have locked up is a little worrying since I plan on eventually using the pressure data to provide barometric compensation and utilise the temperature data to control the power setting of the fan against variations in ambient temperature to refine the on/off control algorithm to minimise the upward drift of the average temperature around the set point that arises from increasingly higher ambient temperatures.
I did consider a PID controlling algorithm to minimise the under and overshoot effect of the simple on/off control of the fan I'm currently using but it struck me that all I really needed was some means to tune the fan speed to match the ambient temperature conditions - minimum speed at the lowest ambient limit and full speed close to the maximum rated ambient temperature limit.
I figured this would likely be superior to using a complex PID algorithm in view of the very long thermal time constant involved where a 30 to 40 seconds cycling of temperature by +/-0.2^C around a targeted average would be more than sufficient in this case, provided the ambient temperature didn't significantly shift the average temperature too far from the set point. However, I have yet to add this embellishment to my Frankensketch so it remains untested for the time being until I've figured out how best to incorporate it into the existing code.
As well as being an Arduino newbie, it seems I'm also on my own in pursuing precision control over a Rubidium oscillator's baseplate temperature since I've not been able to find any published results by others of similar experiments with Rb oscillators on the interweb.
Anyway, that's my 2 cent's worth (for what it's worth!)