Build a 10MHz Rubidium Frequency Standard and Signal Distribution Amp for my Lab

Having gotten myself a Rubidium Frequency Standard I found that the unit on its own is not that useful, its really just a component and needs really a supporting PSU and a decent enclosure to make it useful. I was searching around for something suitable when I was directed to a robust quality unit being sold on e-bay for just £20 with an unbelievable level of re-usable content and turned out to be an almost perfect solution to making the Rubidium Standard a useful Lab item. Rarely does such a fine marriage of junk bits come together to make something really useful.

I had a lot to cover, the whole thing was built in an afternoon and as a result this is a long video at 1 hour 16 mins so be prepared…

The PIC Micro-controller – PIC12F675
The original plan was to use the PIC for three functions, the first was to make the power LED flash while the RFS was warming up and on solid when locked. The second was to generate a 1 PPS signal from the 10Mhz signal and the third was to generate a PWM signal to control the fan speed. As it turns out the RFS already has a 1 PPS output on Pin 6 of the DB9 connector so there was no need for this. It also transpired that the only fan I had to hand was a three wire fixed speed fan, so I also did not need the PWM signal, this left me with just the power LED to deal with which is what the PIC ended up controlling. Here is the schematic for the PIC and the source code.


// Using MPLAB-X and the XC8 compiler, both are free from I am using this on OSX (Mac) and with an ICD3 for programming.

// PIC12F675 Configuration Bit Settings

#pragma config FOSC = INTRCIO   // Oscillator Selection bits (Internal oscillator: GPIO on GP4/GP5)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled)
#pragma config PWRTE = OFF      // Power-Up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = OFF      // GP3/MCLR pin function select (GP3/MCLR pin function is digital I/O, MCLR internally tied to VDD)
#pragma config BOREN = OFF      // Brown-out Detect Enable bit (BOD disabled)
#pragma config CP = OFF         // Code Protection bit (Program Memory code protection is disabled)
#pragma config CPD = OFF        // Data Code Protection bit (Data memory code protection is disabled)

//   2 = RBS_RDY (GPIO5)

// We are running the chip at 4Mhz
#define XTAL_FREQ 4000000

#define RBS_RDY GPIObits.GPIO5
#define POWER_LED GPIObits.GPIO2

void main(void)
    ADCON0bits.ADON = 0;    // Turn off the ADC
    ANSELbits.ANS = 0;      // Make all inputs digital
    VRCON = 0;              // Turn off the internal voltage reference
    CMCON - 0x7;            // Turn off the comparator

    // Set up our I/O pins
    TRISIObits.TRISIO2 = 0; // Make GPIO2 an output
    TRISIObits.TRISIO5 = 1; // Make GPIO5 an input

        if(RBS_RDY == 0)
            POWER_LED = 1;
            if(POWER_LED == 0)
                POWER_LED = 1;
                POWER_LED = 0;

The Video Amp – Extron ADA 6 300MX HV
The video amp unit I used in this hack is made by Extron and the model number (on the front panel) is ADA 6 300MX HV. When I communicated with the seller, he said he had about 30 of them, so if this is useful to you and you want to make your own I would go grab yourself one before they are gone. The basic outline schematic for an input channel is here:

The video op amp chip used in this unit is a CLC409, the data sheet is here.

CLC409 Data Sheet513 downloads

The heat sink I have ordered can be found on e-bay, search for “150x25x60mm Aluminum Heat Sink for LED”.

The switch mode PSU I used can also be found on e-bay, search for “Enclosed Power Supply SMPS,15V,2.4A,36W”

See you next time.

This content is published under the Attribution-Noncommercial-Share Alike 3.0 Unported license.

28 thoughts on “Build a 10MHz Rubidium Frequency Standard and Signal Distribution Amp for my Lab

  1. Hello Gerry,

    That was a very satisfying build! what a great case – the project came together almost with Heathkit (Remember them??) or Mecano-like precision. I like it.

    May I offer a couple of suggestions?
    Your Fluke meter has a “hold” mode, which will wait for a stable reading, then lock it on the display with a short confirming bleep. This allows you to keep your eyes and all attention focused on positioning the probes, until you get a bleep. Then you back off, and turn your gaze to the meter. Otherwise, there’s the ever-present chance of a slipped probe, shorted output and unhappy lump of silicon… (yes! I’ve done it myself).

    I reckon those Rubidium boxes LIKE to run hot! I’ve put mine into a smaller metal box, but I notice that if I applied EXTRA heat sinking, it merely draws MORE current, as it attempts to heat up my entire lab… So I DON’T think you need that front heatsink.

    I loved the use of the tiny PIC! A good demonstration of the idea. I just wired a Red/Green LED and some simple push/pull logic to my “locked” signal, so that the LED is always on (so you can see the power is OK), but Red for not locked, green for locked and ready. Always many ways of skinning the cat.

    I’ll bet the remainder of those video distribution amplifiers will now sell quickly! I’d have followed your example myself, but I’ve already squeezed mine into a small Hammond case.

    Yes – a nice satisfying project with a real end product. Can’t see you running out of buffered 10MHz reference signals, any time soon…


    • Hi Lawrence,

      It is definitely rare that to hack a bunch of thing so nicely together. I cannot take credit for the find of the video amp though. Someone that watched the previous article put me onto it, I had to buy a couple once i saw them. Cheap and really idea for this project. Yes, I should probably use the hold feature of the meter, I am a bot lazy and I have blown silicone too….:)


  2. Hi Gerry,

    1 The design is unique. I think that you have more of these video splitters ? why ? Others also want to do this myself so I have to buy it.
    2 PIC for a flashing LED? Crazy
    3 The fan outlet is, OK. But where’s intake of breath? Again ZONK :)
    Generally the whole idea OK (well, almost) but for viewers in general not useful.

    • Hi Marcin,

      1. Yes I bought two of them, I have a Thunderbolt GPSDO which also needs a nice enclosure and generates a precision 10Mhz reference.

      2. Yes perhaps, but cheap and easy…and I had them to hand. The code was no more complicated than a 2 minute hack…easy too.

      3. The intake is underneath, cutout of the bottom of the unit. The case has rubber feet which raise it about 9mm from the surface, plenty of room for a slow air inlet.


  3. Pingback: Turning a rubidium standard into a proper tool

  4. A very cool hack! I’ve been thinking of getting a rubidium standard for some time, but the thought of using a video distribution amp had never crossed my mind. Pure Genius! I’ll have to add this to the project list :)

  5. Hi Gerry,

    First, you did a nice job on the project, However ……

    Apparently you did not read the manual for that Rubidium unit. It is available on the web but I will send a copy via email.

    Yes they run hot, but they are designed that way AND DEFINITELY NEED A HEAT SINK. The physics package inside needs a certain temperature to cause the otherwise liquid Rubidium metal to go to the gaseous state. The electronics inside is unfortunately stressed by the heat, so to help that part you need the heat sink. The bottom plate of the Rubidium is the heat transfer surface and should be around 45 to 50 degrees C maximum. The nominal current draw at that point will be around 800ma. If you let the unit run hotter (i.e., lower current draw) it will eventually just fail due to excessive heat buildup inside the Rubidium. Because of this you should make sure you remove the paint from the reversed front panel. And use a lite coating of heat sink grease to ensure good heat conduction between the Rubidium to front panel on the one side and also on the other side for the heat sink.

    The metal container of the Rubidium is made of MU-metal for magnetic shielding. Excessive heat could cause the MU-metal function to reverse itself (also a problem when drilling holes in it) and become ineffective over a long time, not to mention increased failure of the integrated circuits inside.

    Finally, while it is an “Atomic” standard, it is not perfect, that is to say the Rubidium may not really be “spot” on (to borrow a phrase from that guy on EEblog). One of the two I have is off by 2e-10. The unit can be adjusted to be very close to “spot” on. Also, the Rubidium will drift, albeit at a very slow but observable amount, about 1e-11 per month. Its short term (less than 10 seconds) stability is not as good as a very high quality oven Quartz oscillator, although its long term stability (months) is better than Quartz (days).

    Starting down the path of having a frequency standard is a very deep hole from which you will never climb out of (just a word of caution). Your next step is to have a “Timing” GPS setup to watch (and perhaps correct) the drift on the Rubidium. A special GPS set up for timing (relatively inexpensive but more then the cost of the Rubidium) is quite noisy in the short term but is virtually a constant in the long term (years) because it is a direct derivative of a Ceasium frequency reference.

    Don’t forget to fix the front panel


    • Hi Bill,

      Thanks for the detailed information. I have to say I did not read the technical manual for these units, but my instinct was definitely to cool them. In fact, having tested my build now I am back I found the front panel alone seems to be sufficient to keep the temperature of the unit down to reasonable levels, but I am going to fit a heat and I was planning to use heat sink compound on both sides of the front panel. I will also check the heat transfer properties of the font panel and adjust if needed.

      I was aware that they drift a bit over time, I think thats over continuous use, I plan to only use mine when I need it. Also I have just bought a Trimble Thunderbolt GPSDO and I have a second Extron video amp so you can work out what my next frequency standard related project is likely to be :)

      Again, thanks for the info and the advice and the manuals, very helpful.


    • Hi Angus,

      After about 3 hours running, the front panel is warm to touch but is no where near as hot as a cup of tea. The case is mostly cold due to the light air flow.

      Thanks for the feedback.


  6. Pingback: 10MHz Rubidium Frequency Standard and Signal Distribution Amp Follow-Up |

  7. Hi Gerry. Nice build, looks really professional. Can I ask, where did you get the BNC blankers? I can’t find them anywhere.

  8. Pingback: DIY HP/Agilent 53131A 010 High Stability Timebase Option |

  9. I just found your site the other day. The Rb standard is a really excellent series. I’m just setting up a small home lab and have been thinking about a good frequency standard. It looks like your series should help solve that problem.

    I have attached a web site that I ran across today that you may have seen. More info on DIY Rb references. I’m sending it along anyway in case you haven’t.

    Keep up the excellent work. Your stuff is really useful.


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>