Introduction
There are many DIY versions of WWVB clock designs available on the web. Commercial “atomic” clocks are inexpensive and widely available, but I wanted to try my hand at designing one to gain insight into WWVB reception and to learn a little about programming a PIC microcontroller. My version is not the simplest available, but it works well and I think it offers a few unique features.
-
-
Receives time broadcast from WWVB, Fort Collins, CO
-
-
Auto synchronizes internal time with WWVB time
-
Maintains local time when WWVB signal is lost
-
This version is for Pacific Standard Time, and auto detects/corrects for Daylignt Savings Time
-
6-digit display of hours, minutes, seconds using 1″ seven-segment LED displays
-
WWVB sync indicator
-
Time display is in 12-hour format
-
PIC 16F628 microcontroller
-
Software written in C
-
All tools (schematic editor, C compiler, PCB layout software, PIC programmer are free and available for download on the web.
A complete description and specification for the WWVB broadcasts is available (free), document # 432, at tf.nist.gov/general/pdf/1383.pdf The WWVB signal is broadcast as a 60 kHz carrier that is AM modulated with a time code frame that is updated once per minute. The data rate is one bit per second. Along with time code information, the data frame also contains synchronization bits, calendar data, UT1 correction, leap year, and leap second data. The clock design presented here only decodes the time data and daylight savings correction data. The software could easily be modified to include decoding of the other information bits, if desired. The the low frequency WWVB signal strength is weak and reception can be problematic. Signal acquisition time is variable, depending on location and atmospheric conditions. Reception is usually best at night between 8pm – 4am. To use the clock, just apply power and wait for reception of the WWVB signal. When the clock receives a complete error-free frame of data, it will automatically reset the display to show the correct time. After the initial time correction, the clock will maintain time even if WWVB reception is lost.

For more detail: PIC based WWVB clock
