A project to convert a cheap analog clock into a Wi-Fi analog clock



GitHub user jim11662418 has published a project to convert a cheap analog

quartz clock into an 'analog clock that gets the time via Wi-Fi' by equipping it with a small Wi-Fi microcomputer.

GitHub - jim11662418/ESP8266_WiFi_Analog_Clock: Uses an ESP8266 module and an Arduino sketch to display the local time on a inexpensive analog quartz clock.
https://github.com/jim11662418/ESP8266_WiFi_Analog_Clock



While a typical battery-powered watch uses an internal quartz crystal oscillator to keep time, the time displayed on a quartz watch can gradually become out of sync over time. To address this issue, jim11662418 has created an analog watch that automatically synchronizes the hands by retrieving the accurate time over the internet.

First, prepare the ESP8266 microcomputer and install the development software to write the program. After entering your home Wi-Fi information into the program, you can use the Network Time Protocol (NTP) client library to obtain the current time from the Internet.

Attach the ESP8266 to the back of the analog clock as shown below.



The internal mechanism of the analog clock is modified, and the motor's internal coil is removed from the quartz, then a wire is soldered in place of the quartz and connected to the ESP8266.



The ESP8266 rotates the motor by sending alternating positive and negative pulses to the clock's motor coil. The time shown on the analog clock is controlled by the angle: 1 hour of the hour hand = 30 degrees, and 1 minute of the minute hand = 6 degrees. The time displayed on the analog clock is obtained in this way and compared with the actual time obtained from the NTP server 10 times per second, adjusting the analog clock to keep accurate time. The ESP8266 connects to the NTP server every 15 minutes to maintain the accuracy of its internal time, ensuring that the time does not easily become out of sync even with long-term use.

By modifying the internal mechanism, the ESP8266 is able to interfere with the motor that moves the hands, but it can only move the hands forward, so if the displayed time is ahead of the actual time, it will wait until the time catches up to adjust it.

According to jim11662418, the problem with using cheap analog clocks is that they don't provide any feedback on the position of the hands. Therefore, if the power to the ESP8266 controlling the clock is interrupted even for a moment, the ESP8266 will forget the position of the hands. Therefore, the position information of the hands is updated every second and stored in Microchip's 47L04 Serial EERAM, a special memory that can retain its contents during a power outage. This means that even if the power is interrupted, the last recorded hand position can be read upon restart and the correct time display can be restored.



Project details and circuit diagrams are available on GitHub.

GitHub - jim11662418/ESP8266_WiFi_Analog_Clock: Uses an ESP8266 module and an Arduino sketch to display the local time on a inexpensive analog quartz clock.
https://github.com/jim11662418/ESP8266_WiFi_Analog_Clock

in Hardware,   Software, Posted by log1e_dh