Articles Categories Tags About
Revisiting a Lost Art: A Clock That Never Loses Time
Smart Home · 19 min read

Revisiting a Lost Art: A Clock That Never Loses Time

Five years ago, I built an ESP8266 clock that sets itself. It still runs today—so what changed now that AI can help us build hardware?

The clock in my living room was slow again.

It wasn’t a serious problem. It barely qualified as something worth solving with code. But taking the clock down every so often and resetting it against my phone eventually got annoying.

I wanted a clock that could set itself and still look good in a living room, but I couldn’t find one.

So I built it myself.

Five years later, that clock—made from an ESP8266 and a strip of LEDs—is still hanging in my home, syncing with network time every five minutes and running just fine. Seeing AI spark a new wave of homemade ESP devices recently made me realize something: writing firmware with Google, Stack Overflow, and the Arduino IDE might now qualify as a lost art.

I also briefly documented the project in My Smart Home at the time.

Why the Living Room Clock Kept Drifting

You might ask: does a clock really need to be that accurate?

Honestly, no. A quartz clock drifting by a few dozen seconds each month isn’t going to ruin anyone’s life. The annoying part is not knowing how far off it is. If you glance at the clock on your way out and have to mentally add, “I think this is about three minutes slow,” the clock has already lost some of its usefulness.

I only needed two things:

  1. It should know the correct time without needing regular manual adjustments.
  2. It should look good enough for a living room—not like one of those red-on-black LED clocks in a bank or train station.

The first was a technical problem; the second was a design problem. At the time, products on the market usually solved only one of them. The attractive clocks couldn’t set themselves, while the ones that could looked like public infrastructure.

If You Can’t Find It, Build It

The clock itself is fairly simple:

PartPurpose
ESP8266 WeMos D1 miniConnect to Wi-Fi, fetch the time, and control the lights
WS2812B LED stripForm four seven-segment digits
Micro USBSupply power
Enclosure and diffuserTurn the electronics into something suitable for a living room

A seven-segment display is the familiar number shape used in calculators and digital clocks. Each digit consists of seven bars; lighting different combinations produces the numbers 0 through 9. Instead of buying a ready-made oversized display module, I cut an LED strip into pieces and arranged them into four digits.

LED strips and the ESP8266 inside the clock

The LED strip was cut into small sections, then soldered into four seven-segment digits.

Once connected to my home Wi-Fi, the ESP8266 fetches the correct time through NTP and resynchronizes every five minutes. On its first boot, it creates its own Wi-Fi hotspot so I can enter my home network details in a browser. After saving and restarting, it connects and begins displaying the time.

The 7-Segment Clock web configuration interface

The original configuration page controls Wi-Fi, the NTP server, brightness, and color.

Sounds simple, right? But there is a fair amount of work between “making the LEDs turn on” and “building an appliance you can use every day.”

Beyond the web interface, I also exposed an HTTP endpoint so Home Assistant could control the clock.

During the day, the clock displays the time at normal brightness. When I run the “Good Night” scene in HomeKit, Home Assistant switches it to a dimmer, warmer night-light mode. An automation restores it the next morning.

Those features directly answered the original need: the time had to be accurate, the clock couldn’t look out of place, and it couldn’t light up the room at night. I didn’t start with an ESP8266 and go looking for a use. I started with a minor everyday annoyance, and the clock grew out of it.

The Lost Art of Building Before AI

Back then, when I didn’t know how to implement something, the process usually went like this: search for a few keywords on Google, open some tutorials and Stack Overflow answers, guess which snippet was closest to my problem, paste it into the Arduino IDE, and see if it compiled.

If it failed, I tried another search. Even a successful compile didn’t mean the feature worked. I still had to flash the ESP8266, connect the LED strip, and see what happened. Firmware isn’t like a web page where you can press refresh and immediately see a change. Every attempt meant compiling, uploading, rebooting, and then observing how the hardware responded.

That was how I slowly assembled the Wi-Fi setup, NTP synchronization, EEPROM storage, web controls, and LED display: search, test, and repeat. Looking back, the code isn’t necessarily elegant, and some of it could probably be replaced by more mature libraries today. But it has been running for five years.

Five Years Later, It Is Still Running

The 7-Segment-Clock still running after five years

The fact that a side project has kept running for five years surprises me more than any extra feature would.

It has no cloud account and doesn’t depend on a vendor’s app. It gets the time from public NTP servers, serves its configuration page directly from the ESP8266, and communicates with Home Assistant over the local network. As long as my home Wi-Fi and NTP still exist, the clock can keep working.

Of course, it isn’t maintenance-free. It needs to be reconfigured when the network changes, the LEDs and power supply will age, and its old firmware hardly meets today’s security expectations. But so far, it hasn’t turned into electronic waste because a company shut down its service, removed an app, or introduced a subscription.

That may be a benefit I never deliberately designed: it has few features and few dependencies, so there are fewer things that can break.

Does the Market Have an Answer?

Looking again five years later, there are certainly more clocks that set themselves. Beyond traditional radio-controlled clocks, there are now Wi-Fi wall clocks, NTP digital clocks, and smart displays that also show weather and notifications.

If the only requirement is “never drift,” there are plenty of answers. But once appearance, price, display style, nighttime brightness, and local-network control all become requirements, the list quickly gets shorter. The attractive options may cost too much; the feature-rich ones can still look like office equipment or public signage. Some appear to do everything, but rely on a vendor’s app and cloud service.

So the answer is yes: I could buy one now. But I might still choose to build it myself.

Afterword

What began as a weekend project to solve a minor annoyance in my living room ended up running for five years. It taught me something: technology becomes obsolete, but something that genuinely solves an everyday problem doesn’t necessarily share the same fate.

The original 7-Segment-Clock project banner

As AI advances, the technical barrier to building things will keep falling, but the needs in our lives don’t change with it. When more of the implementation can be handed to AI, what matters may be whether we notice the problem in the first place—and whether we have the initiative to turn an idea into something real.

Reference



Logan

Senior software engineer, passionate about coding and smart home 🏠

Licensed under CC BY-NC 4.0


Share:


Related Articles


Type to search articles