Hacking Time: Spoofing Atomic Clocks with Audio Harmonics
The Texture of Time
Time is a fundamental anchor of physics, social life, governance, and business. Humanity’s relentless pursuit to measure time under challenging conditions has shaped history—culminating in innovations and incentives like the Longitude Act of 1714 for marine timekeeping. Early mechanical clocks, driven by weight-based escapements that clicked gears forward one tooth at a time, emerged in the late 13th century, but their fragility limited their practicality. For everyday, robust timekeeping, people relied on ingenious analog methods. For example, nails were stuck into candles so that as the wax melted, each nail would fall and clatter onto a metal plate, audibly marking the passage of hours.
The sand-glass (or hourglass), which appears in written records between 1338 and 1345, became a highly portable alternative to early mechanical clocks. As A.J. Turner notes in his history of the instrument (see also Balmer 1978), hourglasses found use in courts, schools, and homes—and were especially suited to the ocean, where their accuracy was unaffected by a ship’s motion. Sailors would count knots on a rope let out into the sea while a small sand glass emptied, which is where we get the term "knot" for nautical speed. Today, by contrast, incredibly precise (and secure) timing is the invisible bedrock of modern digital and Internet infrastructure.
Personally, I swear by Coordinated Universal Time (UTC). Since our work at the Internet Society (ISOC) spans the globe, I rely on UTC to instantly understand the time for teammates, collaborators, and partners across continents.
This desire to have the undisputed "true" time on my wall recently led me to purchase a Marathon CL030079-BK-00-NA "atomic" digital clock. These clocks promise simplicity: inside, a tiny antenna seeks out a very specific radio broadcast—the WWVB signal—from the National Institute of Standards and Technology (NIST) station in Fort Collins, Colorado. It listens for this broadcast and automatically syncs its display to the national atomic clock.
There’s just one problem: the physics of radio wave propagation makes receiving that signal on the East Coast incredibly difficult.
The East Coast Dead Zone
The WWVB transmitters in Colorado pump out 70 kilowatts of power—about as much as a major commercial AM radio station. But the WWVB signal operates at 60 kHz, an extraordinarily long wavelength. The "ground wave" from this transmitter peters out after 600 to 1,000 miles and never reaches me in Takoma Park, Maryland. So, the East Coast depends entirely on the "skywave"—the portion of the signal that bounces off the Earth’s ionosphere.
But the ionosphere is fickle. During the day, solar UV energizes the lower "D-layer" of the atmosphere, turning it into an electromagnetic sponge that absorbs long radio waves. At night, when the sun’s radiation fades, this sponge dissipates. The radio waves can then bounce off the higher, more reflective "E-layer," skipping across the continent and finally reaching Maryland. That’s why these clocks are programmed to wake up and attempt a sync at 2:00 AM.
Even at night, the signal is exhausted and must compete with the dense electronic "noise" of urban life. Every Wi-Fi router, power line, and humming monitor adds interference. The East Coast is practically a dead zone for low-power signals. As a result, my Marathon clock was essentially deaf—unable to calibrate with the atomic clock broadcast, it slowly drifted seconds and then minutes away from true UTC.
Bridging the Gap
Everywhere else, I have accurate time courtesy of the Internet’s Network Time Protocol (NTP)—the gold standard for syncing phones and laptops to the millisecond. But my wall clock remained an isolated analog island.
I needed a bridge. Enter Clock Wave, a smartphone app that turns your phone into a tiny, localized WWVB transmitter. That’s right: spoof the signal to calibrate!
I’ll admit, when I first heard about this, I was skeptical. How can a smartphone spoof a 60 kHz atomic radio broadcast? Audio hardware in phones is designed for human ears, which can only hear up to about 20 kHz. To cover this range efficiently, standard audio chips (and formats like CDs) operate at 44.1 or 48 kHz sample rates. According to the Nyquist-Shannon theorem, a 48 kHz system cannot physically generate or output frequencies above 24 kHz without severe digital distortion ("aliasing"). It’s simply impossible for a phone’s audio pipeline to play a 60 kHz tone.
So how does the app fool the clock into thinking it’s receiving a 60 kHz WWVB signal? The answer: it cheats, using physical analog distortion.
Audio Harmonics and Voice Coils
Instead of attempting to play a smooth 60 kHz tone, the Clock Wave app outputs a harsh 20 kHz square wave at maximum volume. This intentionally overdrives the phone’s analog amplifier, causing the circuitry to "clip" the signal. The resulting distortion produces mathematical echoes—harmonics. Conveniently, the 3rd harmonic of 20 kHz is exactly 60 kHz.
Here’s the real magic: The smartphone isn’t broadcasting a radio wave at all. The speaker uses a "voice coil"—a tiny electromagnet. By pulsing this coil with the clipped signal, the phone generates a rapidly fluctuating, highly localized magnetic field right next to the device.
The clock’s internal receiver—a tuned ferrite loopstick antenna—is designed to resonate with magnetic fields (inductive coupling) and is deaf to acoustic sound. It ignores the loud 20 kHz audio and "feels" only the faint 60 kHz magnetic echo, successfully decoding the time data hidden within.
Emulating the Broadcast
Because this trick relies on a localized magnetic "near-field" instead of a radiating radio wave, it only works at extremely close range. Radio waves detach from antennas and gradually weaken (inverse-square law), but near-field magnetic energy clings tightly to its source and drops off much more sharply (inverse-cube law). Move your phone even an inch away and the signal vanishes.
Here is my workflow for syncing the Marathon CL030079-BK-00-NA:
- Open the Clock Wave app, ensure it has fetched the exact Internet time, and set it to Transmit.
- Turn your smartphone volume up to the absolute maximum (this drives the clipping and powers the electromagnet).
- Rest the speaker of the smartphone directly against the bezel of the wall clock to overcome the near-field drop-off.
- Press the Sync and Wave buttons on the back of the clock at the same time to force it to listen.
You’ll see the antenna icon on the clock start blinking. Leave the phone in place until that icon goes solid—meaning the clock has locked in and its LCD now perfectly matches Internet time.
Crucial last step: Once synced, I immediately turn off the WWVB auto-receive function on the clock. If left on, the clock will wake up at 2:00 AM, try (and fail) to hear Colorado, pick up random static, and sometimes display a wildly incorrect time.
The Analog Thread
We tend to think of modern time—UTC, NTP, digital synchronization—as intangible data. But getting that precise time into an isolated wall clock required bypassing the digital world entirely. It meant intentionally distorting an amplifier to pulse a microscopic copper coil 20,000 times per second, casting a tiny magnetic field.
The 14th-century sailor relied on the physical flow of sand because the ocean was hostile to delicate gears. I rely on the vibration of a voice coil because the East Coast is hostile to longwave radio. We’ve modernized the art of timekeeping, but sometimes we still need a deeply analog hack to pin it—accurately—to the wall.