Deep in the Colorado foothills, there are two radio transmitters that control the time on millions of clocks all across North America. It’s WWVB, the NIST time signal radio station that sends the time from several atomic clocks over the airwaves to radio controlled clocks across the continent. You might think replicating a 70 kW, multi-million dollar radio transmitter to set your own clock might be out of reach, but with a single ATtiny45, just about everything is possible.
Even though WWVB has enough power to set clocks in LA, New York, and the far reaches of Canada, even a pitifully underpowered transmitter – such as a microcontroller with a long wire attached to a pin PWMing at 60kHz – will be more than enough to overpower the official signal and set a custom time on a WWVB-controlled clock. This signal must be modulated, of course, and the most common radio controlled clocks use an extremely simple amplitude modulation that can be easily replicated by changing the duty cycle of the carrier. After that, it’s a simple matter of encoding the time signal.
The end result of this build is an extremely small one-chip device that can change the time of any remote-controlled clock. We can guess this would be useful if your radio controlled clock isn’t receiving a signal for some reason, but the fact that April 1st is just a few days away gives us a much, much better idea.
[Josh] and his lab partner [Eric] needed a final project for their Embedded Systems Design class, and thought that designing an Arduino shield would be a cool idea. They noticed that there are plenty of ways to get an Arduino to keep time, though none that they knew of utilized WWVB (Atomic Time) signals directly.
The Chrono-tomic Arduino shield uses a C-MAX radio to demodulate the WWVB signal, demodulating it and passing it along to a PIC16F1824 microcontroller. The PIC decodes the data frame and verifies it is valid, sending the time to an MCP79410N real-time clock module.
We can hear the “Yo dawg I herd you like microcontrollers so I put a microcontroller on your microcontroller shield” jokes already, but the pair says that they offloaded the time processing to the PIC in order to let the Arduino focus on whatever tasks it has been delegated. The Arduino code merely needs to request the time from the RTC whenever it is required, rather than deal with the decoding itself.
Is it overkill? Perhaps – though we think it heavily depends on your application and configuration. We can certainly conjure up situations where it would be useful.
[Mark Gibson] sent us a load of details on his build, a WWVB atomic clock using a pinball machine marquee (PDF). This is the upright portion of an old machine that used electromechanical displays instead of digital electronics. It’s big, noisy, and seeing it running might make you a bit giddy. Luckily he included video that shows it working on both the outside and the inside.
It took a bit of probing to discover the connections for relays that control the display. From there he used optoisolation to drive them with an Arduino. With this hurdle behind him, [Mark] set out to add atomic clock accuracy. He picked up a WWVB module and added it to the mix.
Check out his build log in PDF form linked above. He went out of his way to explain how the original parts work, and the processes he used during prototyping. For more of those juicy details we’ve added a photo gallery and his video after the break.
Didn’t get enough pinball goodness from this project? Check out the this digital gas plasma display pulled and reused from a much more modern pinball machine. Oh, and there’s always Bill Paxton Pinball.
Continue reading “Atomic pinball clock”
[Chris Kuethe] shows how to scavenge what could be a pricey WWVB module from a radio controlled clock. WWVB is a special radio station in Colorado that transmits an atomic-clock-derived signal to RC clocks. The clock model he uses, the Atomix 13131, goes for less than twenty bucks. He also shares the link to another tear down of a Sony branded radio controlled clock for similar purposes. So if you’re looking for a cheap way to obtain a WWVB module, the scavenging method could be the thrifty solution you seek.
(Disclaimer: A sticker for an event I organize is in the background of the photos, it’s not meant to be there as product placement.)