It is possible to build a pretty accurate Rugby Radio clock using a few bits and pieces from Maplin. This page describes a number of clocks designed by Ian Dowse. The unusual components you need from Maplin are MK68Y (MSF Rcvr Module) and MK72P (MSF Antenna). In addition you'll need some other common components. Note, you don't need the RS232 module.
We process the signal using the PPS API, designed for use by NTP.
A version of Ian's code, which I added a few options to is
available. This program attempts to feed
the data it collects to
ntpd's SHM clock driver.
We usually find the clock runs a little slow with respect to a GPS
unit, and so run it with options like
pps_shm -o 0.019 -d
/dev/cuaa1, though you could set the offset in
ntp.conf. I usually use something like:
# SHM Rugby Radio clock. Fudge down the stratum a little. server 127.127.28.0 minpoll 5 fudge 127.127.28.0 stratum 5in
ntp.confand configure the offset on pps_shm's command line.
Note that Jonathan Buzzard has an exclient page on building clocks like this, and also has code which decodes the signal without the PPS API.
Here is Ian's description.
I think I redesigned the circuit each time I made a receiver :-) The one that you have at home has an op-amp chip that I think might be a better design than the transister version I've used elsewhere. Basically there are two parts - one uses a few diodes, resistors and capacitors to generate a +/- ~8v and a +3v supply from some of the modem-control signals; the other part converts the output signal from the receiver into a +/- ~8v signal that goes into the DCD line. I think you use the TXD line for the ~-8v supply, and DTR/RTS for ~+8 and +3v. The basic +/- 8v supply looks like: DTR --|>|--+ | RTS --|>|--+---o ~+8v | + --- ~10uF --- | GND -------+ | | + --- ~10uF --- | TXD --|<|--+---o ~-8v Then there's the +3v supply which comes from the +8v above: 1k +8v --\/\/\--+---------------+---o +3v | | /---/ Zener | + / \ diode, --- ~1uF --- 3.3v-4.0v --- | | GND ---------+---------------+ That gives you the power for the rugby module. An alternative to the Zener diode is to use a few LEDs and diodes in series to get about the same voltage drop, e.g a red LED (~1.5v) and 3 normal diodes (0.6v). Then the output from the rugby module needs to be turned into +/-8v levels (this is a bit fuzzy): +8v --+ 10k | +-\/\/\-- +3v | (+)| 10k |/|---+-\/\/\-- GND DCD --< | |\|--- Output from Rugby module | (-) | -8v --+ The two inputs to the op-amp are called the inverting (-) and non-inverting (+) inputs. With this simple use of an op-amp, you can invert the signal by swapping them - I think the way it's drawn is what I did before.