Skip to content

An ESP8266 Module and an Arduino sketch replace the WWVB radio receiver in an Atomic Clock to synchronize the clock using NTP.

License

Notifications You must be signed in to change notification settings

jim11662418/Atomic-Clock-NTP-Modification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

77 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Atomic Clock NTP Modification

The problematic WWVB radio receiver inside an atomic clock is removed and replaced with an ESP8266 Module and an Arduino sketch which synchronize the clock using the Network Time Protocol. Although the details show here are for an 'Atomix' brand atomic clock, this hack should be applicable to many clocks that use the older amplitude modulated format.

After connecting to WiFi, the ESP8266 then connects to an NTP server. Once it's synced with the NTP server, the ESP8266 sends a digital time signal to the clock controller that mimics the signal the controller would recieve from its radio. Thus the clock controller thinks that it's receiving the WWVB time signal from Fort Collins, Colorado. The ESP8266 flashes an LED on the face of the clock as a visual indication that it's updating the clock.

Atomic.Clock.3.mp4

The 'WAVE' icon on the clock face stops flashing when the clock is synced


'Atomix' Atomic Clock Internals


WWVB Receiver and Antenna Removed from Clock


RobotDyn WiFi NodeM ESP8266 module and 'Atomix' Clock Controller


There are three connections between the ESP8266 and the clock controller PCB (see below). One connection is an digital output from the ESP8266 to the 'TCO' input of the clock controller. This ESP8266 output provides the signal that would normally come from the radio reciever to indicate the WWVB signal is being received. The second connection comes from the 'PON' output on the controller to an digital input on the ESP8266. The clock controller pulls this line low to turn on its radio receiver. This input signals to the ESP8266 that the clock controller is actively seeking the WWVB signal. Most clocks turn on their radios and look for a signal only once every 24 hours, usually at night when the reception is better. The third connection is ground.


Connections between RobotDyn WiFi NodeM ESP8266 module and the 'Atomix' Clock Controller


Version 2

In version 2 of the modification the project's hardware was completely revamped. The goal was to make the ESP8266 run from the clock's 2 AA batteries instead of requiring an external connection for power. To that end the power hungry RobotDyn WiFi NodeM ESP8266 module was replaced with a more frugal ESP-01 module. The red LED on the ESP-01 module that lights up to indicate power is applied was removed to reduce current consumption.

The revised sketch (AtomicClock2.ino) puts the the ESP8266 module into 'Deep Sleep' mode when the 'PON' input from the clock controller is high. The ESP8266 wakes from deep sleep when the clock controller pulls the 'PON' line low looking for a radio signal from WWVB. The ESP8266 wakes up, connects to WiFi, interrogates the NTP server, sends the time data to the clock controller and then, when the clock controller signals that it's been updated by setting the 'PON' input high, returns to deep sleep. The whole process happens at midnight and takes but a few minutes. The ESP-01 and the clock controller together consume about 75 mA when the ESP-01 is awake. The current drops to about 60 µA when the ESP-01 goes into deep sleep.

'Atomix' Atomic Clock Internals Version 2


ESP-01 and 'Atomix' clock controller


ESP-01 Mounted on a Piece of Perfboard


Connections between ESP-01 and the 'Atomix' clock controller. Note the use of a resistor, capacitor and CD4049 CMOS Hex Inverter to generate a 'RST' signal to wake the ESP-01 from Deep Sleep mode.


Atomic.Clock.4.mp4

Monitoring the first 30 seconds of the time signal output from the ESP8266 to the clock controller


About

An ESP8266 Module and an Arduino sketch replace the WWVB radio receiver in an Atomic Clock to synchronize the clock using NTP.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages