logoalt Hacker News

I wanted a clock that never needed setting. Things escalated

164 pointsby lee_arslast Thursday at 12:01 PM152 commentsview on HN

Comments

Frost1xtoday at 12:13 AM

I’ve had a Phillips “atomic” alarm clock beside my bed for 23 years that just sets based on radio signal and auto restores if the power is lost, to which it has a backup 9v battery.

There’s a time zone setting offset slider and a DST slider. I basically touch it twice a year, maybe another if I move time zones. I’ve only had to touch it for DST (never switched time zones). Takes me conservatively 10 seconds to find and flip, so it’s taken me 460 seconds or a little under 8 minutes in the past 23 years to do time adjustments.

While these efforts are definitely fun hobby projects, there are cheap reliable solutions out there with minimal intervention that consume the NIST radio signal for time.

Just for anyone interested who wasn’t aware there’s some “old school” time broadcast solutions out there too besides NTP: https://www.nist.gov/pml/time-and-frequency-division/time-di...

show 4 replies
deweywsutoday at 8:28 PM

Here, the author used a much less domain-specific LLM and it sounds like it produced good results. This made me wonder about other's experiences using LLMs to produce both CAD and schematics/pcb layout. Are there any good references people could leave of the tools people are using for this kind of AI-assisted design that are producing acceptable results today?

I tried Flux.ai for electronics for example, and found it too confusing and not as helpful as I'd hoped. I'm hopeful that I can lean on generic AI tools in the future to augment some of the detailed design (while still applying thorough oversight and review of what's produced based on experience).

Animatstoday at 12:25 AM

It's a clock. Does it really have to have remote updating, a command line interface, an Internet connection, and HomeKit integration? That's too IoT.

I have three La Crosse clocks that run off the NIST time signal out of Boulder, CO, and need their AA battery replaced maybe once a year. The real challenge is running such a thing on a small battery for a year.

I once made a small clock that displayed "A LITTLE AFTER SIX" and such, changing its text every five minutes. Needed a power connection, though.

show 3 replies
hn_submittoday at 7:26 PM

I find it wasteful to make a simple clock running a full-scale Linux distro just to fetch and display the time. And it's running Python too, which is an interpreted language which is a 100 times slower than C or assembly.

I didn't look at the code but if it's not interrupt driven it will be wasting even more power.

sasaf5today at 12:32 AM

"One, the path not taken, started with an Arduino or Arduino-like microcontroller. The other began with a Raspberry Pi or Pi-like computer-y thing. I went with the Pi, variously using both a Raspberry Pi Zero W and Zero 2 W."

Ok, so instead of bumping your clock +- one hour twice a year you preferred distro upgrades?

bArraytoday at 9:41 AM

If you're in the UK, just use the MSF radio signal to sync your clock [1].

> The end result exactly matched my expectations—the best criterion for success that I can think of. With an LLM providing the heavy code lifting and the CAD work, I think I spent more time waiting on supplies to arrive than on anything else—something attributable to my lack of planning and the ease of next-day delivery.

I think the author robbed themselves of a deeper understanding.

[1] https://www.npl.co.uk/products-services/time-frequency/msf-r...

show 1 reply
linehedonisttoday at 2:05 AM

The atomic time radio station WWVB does in fact broadcast a daylight saving time bit. A good atomic time clock should accurately update for DST (though Amazon reviews for a clock like this one is pretty mixed: https://www.amazon.com/Crosse-Technology-617-249-Curved-Atom...)

show 1 reply
sudbtoday at 12:32 AM

This reminded of this other clock project: https://mitxela.com/projects/precision_clock_mk_iv

Also: I reckon the closest best-value watch alternative that ticks most(?) of the author's boxes is the Casio GW-M5610-1ER, so long as you are inside a radio-controlled time area.

show 1 reply
mikewarottoday at 5:33 AM

I too find myself going down the time-nut rabbit hole. I want a perfect 10 Mhz reference, not necessarily a time of day clock.

I was tempted to go the Atomic Clock route, based on actual cesium oscillators, having found a cheapish ($999) used CSAC on ebay[1]. However, once I started digging into the data sheets[2], I found something unacceptable, Pin 1, labeled "Tune", an analog tuning input.

It was then that I learned that while the Cesium vapor cells were accurate, they aged, and drifted, unlike a properly degaussed and Zeeman harmonic calibrated Cesium Beam atomic clock, which is a primary standard.

Further demotivating was learning they have a 5-10 year service life. That's a lot of money to pay for what's essentially a better OXCO.

I'll stick with GPS disciplined oscillators for now.

[1] https://www.ebay.com/itm/327134074179

[2] https://www.mouser.com/datasheet/2/523/Microsemi_CSAC_Space_...

show 1 reply
mjevanstoday at 12:13 AM

I feel this article's premise too much. That's exactly the sort of clock I wanted to get my mom as a gift.

Why is it so dang impossible to find a not trash simple LED clock that's 'large print', 'the right color', and not annoyingly too bright?

A deluxe model might include a day of the week bar or dot and a month / day in month number (smaller than the time, mostly people care about the time)

show 5 replies
mrheosupertoday at 5:31 AM

Using a supercomputer to power a clock, now that is overengineering.

I made a LED matrix clock using esp32 syncing time with ntp server every hour and an external RTC to do time keeping if my network is down, and it runs perfectly for years, with accuracy +-1s to time.is. Never have to do setting except the first boot to setup wifi.

pudgywalshtoday at 3:50 AM

The author's primary lament is clocks that cannot withstand power flickers, yet every sub-$10 mains voltage clock from Walmart and Target that I've ever seen will take a 9V battery to make them resilient against such power interruptions.

Might want to flip the clock over and check for a battery door before starting next time.

johann8384today at 4:06 PM

Building this on a custom PCB with an STM32F104 type MCU wouldn't be too much of a stretch from all the work that was already done here. I've done Nuttx on these for custom PX4 flight controllers and it wasn't that hard to work out.

miladyincontroltoday at 12:29 AM

I just use one those awtrix clones made by ulanzi, multiple open source firmwares for it since esp32 based. NTP, http api for displaying alerts, and mqtt support

No need for me to reinvent the wheel, works a treat mounted above my monitor

MrGilberttoday at 12:52 PM

While diving deep into DCF77, I noticed there is something similar for the US:

https://en.wikipedia.org/wiki/WWV_(radio_station)

It just doesn't seem to get used that much, I suppose?

show 2 replies
wpollocktoday at 6:22 AM

In 1982 I purchased a GE analog alarm clock which plugs into an electric socket, has a gentle backlight and a snooze button. It cost 4-5 dollars.

This clock still sits on my nightstand. The backlight stopped working years ago, the cheap plastic case is cracked, the numbers on the dial from 12 to 5 have crumbled away. But it keeps perfect time! It is also silent (no ticking at all, no quartz crystal) and has no battery to charge or worry about leaking

I'd pay quite a bit for a replacement, but such clocks haven't been made in over 30 years. An "atomic" clock is cool, but the signal doesn't reach where I live.

show 1 reply
bux93today at 9:01 AM

>damned if I could find one with a red seven-segment display that I liked (maybe someone else’s search kung-fu is better than mine?).

The secret to finding an inexpensive radio-controlled clock/alarm/watch of your liking it to be German. They LOVE their Funk-Uhren! Sadly they typically only support Germany's DCF77 signal. You can also trivially find DCF77 receivers as components to use in a project.

show 2 replies
russdilltoday at 12:31 AM

This really screams esp32/esphome, and as you'd expect, there are already dozens upon dozens of such projects https://github.com/mfactory-osaka/ESPTimeCast

kjjohnsentoday at 1:06 PM

I too am fascinated by clocks and how hard it is to get one with the features you want. I settled into two solutions. One is the Bangle JS2, which is the most perfect smartwatch ever made if you use android phones. The other is any rooted Android phone. You get all of the power of the internet and infinite customizability. The only problem with the Android phone solution is battery life if the power goes out. For those looking at e-ink, the M5 paper is really solid as a clock.

craftkillertoday at 12:39 AM

Edit: I was wrong! original post below:

> Battery-backed self-setting “atomic” clocks that get their updates via the cosmic ether have been a thing for years and get me most of the way there, but damned if I could find one with a red seven-segment display that I liked (maybe someone else’s search kung-fu is better than mine?)

I found this with ~5 minutes of searching. I think it meets your critera: https://www.amazon.com/Sharp-Digital-Alarm-AccuSet-Automatic...

(Regardless, cool project! I think yours still looks better than this one)

show 1 reply
autarchtoday at 12:32 AM

I've been using an old iPad as a clock for a while. The "Clocks" app I installed lets me configured 5 different alarms (quite handy since my week varies a lot).

modinfotoday at 1:25 PM

As I saw you using raspberry pi zero w for just display clock, I though this is over engineering, simple Attiny18 with RTC can do this, but adding HomeKit makes this project somehow very interesting and thanks to NTP you have truly clock that never needs setting.

Nice fun project!

Edit: Maybe you can add speaker for internet radio to wake up?

haritha-jtoday at 9:07 AM

its a lovely ritual for me, setting the clocks twice a year. Makes you appreciate the passage of time (arguably a key feature of a clock), plus I enjoy the slight confusion in the morning, my phone says one thing, my bedside clock another, did I wake up an hour late or hour early? who knows.

nancyminusonetoday at 3:15 PM

Aye, but you do still need to set it. You just set the ssid and load the SD card instead of the time.

esttoday at 1:07 PM

I wonder if there's a chip that gathers time from LTE and GPS signals and time only.

No complete protocol or handshake, just grab some close-enough time.

show 1 reply
madhu_ghalametoday at 7:23 AM

The project is impressive, but a beginner-friendly guide would help more people recreate it.

show 1 reply
montrosertoday at 12:44 AM

I want a beautiful eink clock that gets its time from gps/gnss. It seems too much to have to collect a clock to wifi. Just turn it on and it should work.

show 4 replies
JoeDaDudetoday at 12:51 AM

LED segments may be nice, but why not go full out Nixie tube? There are several kits out there, but for the DIY ethic, you can add WWV sync - and even watch the synchronization process - with this fellow's project:

https://www.youtube.com/watch?v=smUwbzA9SEo

regnulltoday at 3:04 PM

You can also use GPS as time source

bambaxtoday at 7:29 AM

Those kinds of projects are super fun, and the writing here is good, so congrats to the author.

That said, why do people need clocks? I usually know the time, day or night, within 30 minutes or so, and if I need to know the exact time (which happens rarely if ever), I look at my watch. There are zero clocks in my home. I would find it quite aggressive to have a big display that tells me exactly what time it is.

Come to think of it there is one clock in the kitchen, on the oven. It's usually never correct because it resets after any power flicker and nobody takes the time to set it back properly. This is a recent oven; it's surprising kitchen appliances still are so dumb.

show 4 replies
dabinattoday at 2:10 AM

There are lots of modern alarm clocks that pair via Bluetooth to your phone and auto-set the time from the phone’s time. No internet connection or NTP server needed.

show 1 reply
MathMonkeyMantoday at 4:56 AM

This is a harder problem than it seems. I've been thinking and reading about it for a side project, but haven't done much testing yet.

There are a few places to get the current time:

- on-board real-time clock (RTC) connected to a continuous power source (e.g. button battery)

- GPS

- Colorado WWVB signal (60 KHz), Frankfurt DCF-77 (77.5 KHz), Cumbria NPL (60 KHz)

- the internet (NTP, HTTPS servers, etc.)

- mobile internet (e.g. LTE)

- estimate time elapsed between power cycles by tracking and storing IEEE 802.11 timing synchronization function (TSF) timestamps from nearby wifi routers.

All of these are potentially problematic.

The best option is the RTC. Buy a DS3231, hook it up to your microcontroller and a button battery, and forget about it for a few years. The only problem with these (besides the battery) is that they can drift pretty badly. The fancy ones account for temperature fluctuations and are accurate to ~2 ppm, which is one minute per year. Aside from the drift, it sucks to need an always-on dedicated IC just to know the time, especially if you don't always need to know the time.

GPS is nice but it's hard to get a signal indoors, especially in a skyscraper far away from a window, as can happen here in New York. You also need a relatively bulky component and an antenna.

The longwave radio signals (WWVB, DCF-77, and NPL) are neat and old and what "atomic clocks" use, but the signal is tiny and you need a sensitive long-running receiver, either with a gigantic antenna or a slightly less gigantic ferrite rod. Even then, one of those cheap atomic clocks might not sync at all unless it's placed near a window. The WWVB signal is also very weak in certain parts of America and at certain times of day, so your circuit might only get a bit of signal over the noise once or twice a day, which might or might not be enough to deduce the time.

The plain old internet works fine, but then your power budget involves a wifi radio, though you only need to run it for a few hundred milliseconds per hour. You also need a wifi password, which is a pain to configure in an IoT device. Also, you wanted a clock, why does it need the internet? GTFOOH.

Mobile internet is way overkill.

The last idea is something I haven't tested fully, since my microcontroller (raspberry pi pico w) can't keep up with the "promiscuous mode" unofficially offered by its wifi chip. It's a neat idea, though: you're in an environment with wifi routers all around, and you want to guess the time elapsed since you last checked by listening, without credentials, to the chatter. With enough routers and some flash storage you can probably keep track of time, assuming the whole area doesn't get a power outage.

That's my very long way of saying that keeping time is a solved problem but all of the solutions have drawbacks and none works perfectly.

show 1 reply
fuzzfactortoday at 3:10 PM

I can appreciate this project even though for me I wanted a setting that never needed a clock ;)

And things can escalate from there too . . .

t-writescodetoday at 2:56 AM

All these other responders. Goodness. It’s a clock. It’s a fun little project they made *FOR FUN!*.

Did everyone forget that hackers and engineers like to have fun? Seriously.

Someone at Open Sauce this year made a friggin CRT-based VR headset. Why? Why not.

Did we forget where we came from? Does everything have to be optimal?

tonmoytoday at 1:47 AM

Wouldn’t it make more sense to build a GPS clock?

show 1 reply
pseudohadamardlast Friday at 5:17 AM

There have been mass-produced don't-need-setting clocks for just under a hundred years now, the first Jaeger-LeCoultre Atmos clock, https://atmos-atelier.de/en/atmos-uhr/, being produced in 1928. You don't wind them up, you move a lever across to unlock them and then they keep running by themselves. The du Millénaire model won't need resetting until 3000AD, although perhaps that range may be a tiny bit optimistic.

show 5 replies
eqvinoxtoday at 9:36 AM

Things can escalate further… PTP and/or PPS/GPS

FpUsertoday at 12:56 AM

>"...but damned if I could find one with a red seven-segment display that I liked..."

Funny but I have one which updates time "via the cosmic ether", has big red 7-seg LEDs and as cherry on top it has laser LED based projector that displays same big red 7 seg digits on whatever surface one points it to - ceiling in my case. I bought it decades ago in RadioShack

skippyfishtoday at 12:06 AM

I can't decide how I feel about this article. On one hand, it's great. It's great that the author wanted to get something done, and thanks to the marvels of modern tech, they could do it with very little effort.

But on the other hand... gosh, this was about the simplest software engineering challenge imaginable (toggle some I/O pins) and the simplest design task imaginable (make a featureless rectangular box). And the author - a technologist! - isn't just saying "I wanted to try out some new tech". They're saying "this was too hard, I needed help from an LLM" ("would absolutely not be able to meet this challenge", "hit another wall").

And that... I mean, I just don't know what to make of this. Were we always like this? Are LLMs making us like this? Is it good? Is it bad?... and don't give me the calculator analogy...

show 3 replies
stavrostoday at 7:45 AM

This is a great writeup. I guess this is a common complaint, because I made the same thing! Mine is ticking, though, I used a clock with hands to do it. Also it doesn't tick regularly, so it's more of a Vetinari clock, but all clocks are God's children.

breppptoday at 6:46 AM

I don't know how practical but I always thought of extending the Wifi protocol with a clock broadcast

That way all the microwaves of the world could listen in and update their clocks accordingly

show 5 replies
system2today at 5:47 AM

Joke's on you, my Garmin Instinct syncs with GPS automatically, and I never set it.

weedfroglozengetoday at 12:50 AM

If you think you need your alarm clock to be accurate down to the subsecond, you need to talk to someone about your anxiety.

rekabistoday at 1:57 AM

I think a single clock-output-only microcontroller would be nifty. Something where you can save settings, such as NTP servers and an all time change dates, but that’s it. Pair it with PoE Ethernet and you wouldn’t even need a power supply, only an Ethernet jack in the wall. With the right display you could make it super thin.

show 1 reply
x86x87today at 12:12 AM

so basically NTP!

lowbloodsugartoday at 6:43 AM

Could it not just be an iPhone on its side at this point?!

show 1 reply
codedumptoday at 3:32 PM

[dead]

Haley_076today at 12:03 PM

[flagged]