• 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...

    • I have 4 Seiko wall clocks that are radio wave controlled. They look beautiful and other than changing the battery need 0 intervention from me. Couldn't recommend them highly enough.

      Pity they don't seem to make them any more, the newer ones use GPS and don't look quite as nice (in my opinion at least).

      https://www.rigbyjewellers.co.uk/products/radio-controlled-r...

    • I tried atomic clocks but they wouldn't work unless they were on the southwest corner of the house. It even said in the manual that if it's not working, to try putting it there. Kind of defeats the purpose setting itself if I have to move it to a specific corner of my house twice a year.

      Though I didn't want a digital clock--my goal was an analog-style clock that never needed any maintenance. And it ends up there are some reasonably priced ones on Amazon that just connect to WiFi once a day and adjust if necessary, including to account for DST. I have it set to run at 4am each day, so any DST adjustment happens while I'm still sleeping.

      The only final step is to run hardwired power to it so I don't need to change batteries, but I haven't pulled that trigger yet. Often with projects like this, it's more fun to prove out the difficult parts and I lose interest once only the easy parts remain.

    • My solution to this is to not have clocks in my house at all.

      This has nothing to do with the fact that I still haven't figured out how to set the time on my microwave. :D

      • Clocks on microwaves seems to be a curiously American custom, driven by the fact that US outlet sockets generally don't have switches.

        In Europe, and the UK particularly, every socket has a switch so the microwave is turned off after each use.

        • It might be switched off after each use in your household but it’s definitely not in others. Neither is the toaster, nor kettle.
    • I was going to mention an Atomic Clock. I use one in an RV and it sets itself even outside of cell phone range. I know it uses a radio signal of some type but I have no idea how it works. It rights itself within a few minutes of time changes, battery loss, or the like.
    • m463
      I did went GPS+ntp route.

      I have a few raspberry pis on my lan that serve NTP time. (you need more than one)

      Over the years I've experimented with various flavors.

      Right now I have a mix:

      1) a pi3 with a gps hat and a battery backup for the pi itself. It uses ntp 127.127.20.20 for gps time, and 127.127.20.28 for PPS. The SMA antenna goes to receiver at the window

      2) a pi3 with USB gps on a cable going to the window

      3) a pi4 same as above, but with a tiny battery backup rtc attachment

      4) a pi5 with usb gps + the new RTC with an added rechargable battery backup

      usually, when power goes out, a few reboot, but #1 stays up if <1hr without power. If power outlasts the pi with battery backup, the RTC battery backups take over. strangely #1 doesn't reboot when it has power, some artifact of the battery backup hat - I have to manually reset it.

      I've also kind of wondered if GPS might be able to give you a time less accurately but quicker. Sometimes I look at the NMEA GPS output, and it sometimes doesn't have a position fix, but it does give out a time + week number

      (this is all for no good reason, just yak shaving.)

      • > I've also kind of wondered if GPS might be able to give you a time less accurately but quicker. Sometimes I look at the NMEA GPS output, and it sometimes doesn't have a position fix, but it does give out a time + week number

        No. Accurate time is one of the prerequisites for acquiring a position fix, and it's the one that's the easiest and fastest to obtain from the sky. Typically a receiver should be able to get time within seconds from cold start if there's enough sky visibility, and once it does it is as accurate as it gets regardless of position fix status (unless you care about sub-nanosecond precision, but you need to be able to somehow consume that anyway and you won't with a Pi).

        That said, NMEA output will usually contain the time from the module's internal clock that gets synchronized with GPS time when available rather than GPS time directly. Some modules can be configured to report when they have synced their time though, and you could pay attention to the time jumping to infer it too.

        • >Typically a receiver should be able to get time within seconds from cold start if there's enough sky visibility, and once it does it is as accurate as it gets regardless of position fix status.

          It'll be good to far better than seconds when it first gets a signal and will get more accurate (microseconds to nanoseconds) once it has a position fix because it can then compensate for the delays in the signal propagation (you can think of a gps fix as a 4d fix because it also needs to solve for time). You will probably need to use the PPS output to resolve this, though.

          • What I meant was that it will take seconds to get an accurate time from the sky (as accurate as it gets without specialistic techniques or equipment to consume it, and better than NTP already).
            • For a cold start, you have to wait 30 seconds for the whole ephemeris data to be broadcast unless you have another data path getting you A-GPS data. (it's literally just broadcast that slowly)

              You can still get pretty accurate time (microseconds) with the GPS almanac which is broadcast over ~15 minutes and only updated every few months.

              Doing really fast time acquisition isn't a hard problem but it's a hardware problem, you can't really change how an ordinary GPS receiver operates, you have to have a custom receiver.

        • > if there's enough sky visibility

          Which is a thing we shouldn't be requiring here. Picking up a single satellite without any position data is enough to drive a clock.

          • You need enough sky visibility to discern signal from a single satellite from the background noise without having accurate time and recent enough almanac already.
          • That 'three words' grid-hex system seems a lot cheaper and doesn't rely on time-space constraints in this light
    • Floridian here. WWVB has never worked for me indoors (never tried outdoors). I've tried multiple vendors' clocks in multiple houses (wood frame and concrete). I assume the coverage is fine outdoors or with a sufficiently large antenna, but none of the clocks I've seen even have a mechanism to connect such an antenna. I could hack one, but then it would probably stop being cheap and reliable.

      I'd love to buy an off-the-shelf WiFi+NTP clock, but everything I've seen is very expensive, intended for commercial timing applications or synchronizing clocks across a campus.

      • Ditto in NC. I got this WiFi/NTP clock a couple years ago. Works great if you want an analog clock:

        https://www.amazon.com/OCEST-Wall-Clock-12Inch-Auto/dp/B0DJS...

        • I just deleted my sibling comment because I was recommending the same clock. I set it to do its daily WiFi time sync at 4am so that any DST adjustment happens before I wake up. No issues so far.

          I have two of them. One project on my list is to see if I can modify the face of it to a different style without breaking it.

      • You can spoof the wireless signal if you don't get coverage. There are surely more and better Android options, but I used Clock Wave to set a clock from Germany back in the US.

        https://cw.rzapps.com/

        It's really clever! It uses the speaker as the low frequency transmitter. It doesn't sound right, but it only needs the coil to radiate EM waves.

    • Australia here, no radio time as far as I know. Lately I've been wondering whether accurate time could be derived from terrestrial digital TV signals.
      • You can set your clock with an iPhone app or a computer with a pair of speakers. https://timestation.pages.dev
        • This site is really cool! Thanks for sharing

          > Because it works by exploiting this leakage, Time Station Emulator works best with a built-in speaker of a phone or tablet.

          > In some cases, wired headphones or earbuds may also be suitable.

          > Higher-frequency harmonics are considered artifacts beyond the range of human hearing, so they are routinely suppressed by audio compression algorithms and better equipment.

          > Bluetooth devices and audiophile-grade equipment are therefore less likely to work.

    • Yeah stuff like this fits the "old school" definition https://en.wikipedia.org/wiki/Time_signal#Electrical_time_si...
  • 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).

  • 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.

    • I'm close to DIYing it also. I have two of the la crosse clocks. One works well. The other consistently fails to update. It would be cheaper to buy a new one to see if it's a dud or that location, but I already gave up on it and modified it to have a programmable LED strip integrated into it to visually indicate to my son when it was ok to get up for the day (before he could read a clock).

      So, ironically, I've ended up with a non-automatic atomic clock that instead contains a raspberry pi pico w that speaks ntp and has a programmable LED strip. That I have to manually set every DST transition, although the LED controller handles it just fine.

    • There is a charming "Literary Quote" clock:

      https://www.uncommongoods.com/product/literary-clock

      and I've often wished that it had a set of quotes for such approximate times.

    • I'm with you. I like the DIY, take-things-into-own-hands drive and exploration. I think the next iteration would be nice as a back-to-basics learning journey, to see how less can be more, and explore the possible tools. (e.g. likely settling on a more elegant setup as you imply)
    • It's not quite the same, but your prose clock solution reminded me of this: https://www.authorandco.com/products/author-clock.
    • I mean, I made a clock with remote updating. No command line or HomeKit... Internet is handy because it reads an iCal feed to set the alarm.

      I thought the remote updating would be more convenient than bringing it to the dev computer, but I dunno, it's really not... Except for the one I sent to a friend, but I think she politely stopped asking for help cause it didn't really work for her.

      It has issues, but it might be a useful start for someone else...

      https://github.com/russor/ClockThing/tree/main

    • I feel like if you were gonna overthink this, you could’ve done something really cute and clever.

      Like an AI that stares at the window and figures out which angle the sun is coming in, then makes a determination on what time it must be.

      Then while it’s not sunny or can’t figure it out, it has dead reckoning, but it’s constantly looking at angles of shadows that determine if the time has drifted.

      • It would just start counting
        • Perhaps you weren’t familiar with how training and AI works.
  • 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.

  • "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?

  • 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...

    • Unfortunately, being a weak VLF signal, it's very susceptible to interference and screening.

      My MSF clocks at the front of the house keep perfectly synced, the ones deeper in the house wander hopelessly

  • 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...)
    • My La Crosse wall clock does support the DST bit, the switch on the back only sets whether you live somewhere that recognizes it or not. Twice a year I try and stay up to watch the clock hands zoomin around during the changeover
  • 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.

    • Casio also has cheaper "wave ceptor" models that do this. If you get one from Japan you can get a nice-looking rectangular model.
      • I mentioned this specific model because it also has Tough Solar which should mean much longer between battery replacements!
  • 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_...

    • Fascinating, can you share why you need a 10Mhz reference?
      • 10 MHz is the usual frequency that test equipment uses for external reference. If I could get more than one cheap enough I could do some very interesting home physics experiments.

        For example, does time pass differently inside a can at a million volts potential relative to ground? Both positive and negative rate measurements.

        What about inside a large "A" field at the heart of a large toroid?

        I suppose I could trim them to the same frequency before the experiments, but still $1000 for hone lab experiments is out of my price range.

      • (for me) Sometimes your job might make you run reference time for a large service provider... and then you need multiple reference signals... and then you realize you have spares that are going to be thrown away... and suddenly your home lab becomes way too geeky for you to admit to 99.999999989% of your friends... unless they also are on the same time email list as you ;)
  • 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)

    • I've had the same struggle. There are some decent LED clocks with up to 1" displays (high), but any further and you get weird colors or glaringly-bright displays.

      The best options are expensive clock displays from like Time Machines, MasterClock, etc... but they are not cheap and not meant for consumers.

      • I knew if I scrolled through the comment section I'd find geerlingguy!
    • I think too bright would be an issue with any LED display. Even lights on my modem in a different room are a bit much, I turn it off at night.
      • I use the clock feature on my iPhone (pretty sure there's equivalents for android), where if your phone is horizontal and charging, the lock screen shows one of several large clock face options. I 3d printed a phone stand for it. It's sensitive to both light levels and motion - so it's completely black when there is no motion detected. If you happen to wake up at night and open your eyes, everything remains dark. If you turn to look at your phone/nightstand, it usually turns on the display. Sometimes I need to wave my hand a bit. The balance is pretty good. I choose the giant Comic Sans type numerals as I wear glasses and that makes it still legible for me. [edit - it's called 'standby mode']
    • My parents rely on mechanical clocks, adjusting and ‘winding’ weights almost every day, they take great joy and pride from the fiddling. It’s fun to hear the clocks announce the hour and slowly hear them drift over time.
    • I found the following that works quite well

      https://www.amazon.com/dp/B0CWKYRS84

      (the LEDs come in different colors)

    • Did you look at memory clocks?
  • 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.

  • 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.

  • 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.
  • 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

  • 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?

    • The shortwave WWV, not so much, except to check if your shortwave radio is working. Canada's shortwave CHU was shut down last month.

      The 60 kHz WWVB, yes. Plenty of cheap wall clocks have "atomic time" as it is marketed over here, meaning it has a radio receiver. You can pick one up at the grocery store. It depends on where you live if it actually works though. Where I live it works pretty well, but I've heard it does not work so well if you live on the east coast. That's quite a ways from Colorado.

    • It's less common now, but you used to see them frequently. Most people didn't really know how they worked though, and had never heard of WWV or WWVB.
  • 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.

    • You can use this webpage on your phone to set an "atomic" clock.

      https://timestation.pages.dev/

      I use it when the daylight saving time switch occurs as not all of my clocks will get the time every night. But this isn't so useful if you never can receive the signal.

  • >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.

  • 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
  • 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.
  • 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)

    • The clock you've linked is not an atomic clock. It has a pre-programmed clock with a battery keeping it going. If that battery dies, you still have to set the time manually.
      • Oh you're right! I was tricked by "AccuSet technology automatically sets the correct time when plugged in. No programming, no confusing buttons"
        • I read up the manual before realizing the vaunted tech is simply a battery backup and setting the clock in the factory.
  • 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).
  • 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?

    • Nice!! Excellent job. I like the idea of using one of the side dots to show NTP sync status, too.
  • 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.
  • Aye, but you do still need to set it. You just set the ssid and load the SD card instead of the time.
  • 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.

  • The project is impressive, but a beginner-friendly guide would help more people recreate it.
    • Did you peek at the project's repo? The Ars piece is more of a narrative write-up; the repo has the step-by-step runbooks that I tried to ensure were beginner-friendly.
  • 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.
    • Indoor GPS reception is spotty, especially in urban / high-rise environments, so I don't think that's a realistically marketable product. Not unless you some have some window- or balcony-mounted probe, which would then require battery changes (although I suppose you could make it solar-powered).
    • This is what I’m working on right now. It lasts about 3 months on battery updating every minute, except every five at night. I’ve been meaning to switch to a word clock to make it last longer.
    • Depending on your trust of societal infrastructure, I got a DAB radio clock that sets time from the radio.
    • Indoor signal reception problems though
  • 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

    • Nixie tubes are cool but they're also significantly more expensive, take up more space, and are more prone to failure.
  • You can also use GPS as time source
  • 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.

    • I like my bedside LED clock. It produces very little light, but allows me to figure out what time it is when I wake up--handy in the winter months when it's pitch black until well after I should be at work. Did I wake up in the middle of the night and so should go back to bed, or did I wake up close to my alarm and might as well start getting ready? I can check without blasting my retinas with my phone which, even at the lowest screen setting is still incredibly bright by comparison. It also gives me a beacon back to my bed if I get up to use the toilet. During the new moon my bedroom gets very, very dark, and it's useful to help me get my position.

      I have two clocks in my living room, they're nice because I don't want to wear my watch at all times. I have two because the previous owners of my house just left one, and I thought it looked nice so I left it up. It's actually been handy because wherever I am, wherever I'm facing, I can just glance up and know what time it is.

      Do I need any of these clocks? I guess not any of the specifically, but I use them frequently.

    • A random thing I'm remembering, but can't remember where or when I read it:

      - Clocks started becoming a big deal when factory/shift work started being a thing in the early days of the Industrial Revolution.

    • I find value in it as a bedside clock, primarily for the alarm.
    • At this point it is almost pure nostalgia. Having one in the classroom or living room was crucial in my childhood because almost nobody have watches or any electronics that can tell time for that matter (computer? pfft, the school don't even have a single computer).

      Later on, when everyone has their own (which are also highly accurate due to tower/network regular syncing) on their phone, I noticed that moving to a new place/classroom/office no longer involve ensuring that we have a wall clock. Nice if there's one, but otherwise we don't care, and if the battery run out, we can't be arsed to buy one and just put it in the shelf.

      At this point appliances with accurate clock would only be those connected to the internet (because otherwise TLS won't work if they drifted long enough), dumb devices won't have battery-backed clock because that will cut a single cent of profit which obviously a tragedy that must be prevented at all costs.

  • 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.
    • But a smartphone's time is set how? Via the mobile network (NITZ) or NTP (SNTP)! And what protocol is going across the Bluetooth connection but SNTP? In NTP terms, your alarm clock is now in a stratum below the smartphone, and with only one source of truth, not a good situation.
      • I meant the clock itself doesn’t need an internet or local network connection, with which it could do things other than syncing the time.
        • Then I think this is a trap to get some kind of proprietary app onto your phone.

          The clock could set itself from radio signals: standards-compliant.

          The clock could have WiFi or Ethernet and use [S]NTP: standards-compliant.

          The clock could have a SIM and use NITZ: standards-compliant.

          But BT it is. So now rather than having a dependency on standard or generic resources, it requires a BT pairing with the right kind of phone Ridiculous.

          • > Then I think this is a trap to get some kind of proprietary app onto your phone.

            This was my thinking as well, and why I rejected the idea. I'm not installing some rando company's information-harvesting data-selling garbage app on my phone to do something that the clock should do itself.

      • Given that most alarm clocks only show hours and minutes, I'm not sure micro or nano second accuracy really matters. Provided my alarm clock is within a few minutes of the correct time I don't really care.
  • 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.

    • > 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.

      RTC ICs are for use in bigger systems where main CPUs have other things to do. If you design a clock around a microcontroller dedicated to the task, that microcontroller can do the timekeeping all by itself. No extra IC needed.

      Also quartz oscillators (ones built from discrete parts) can be trimmed. If you'd take the trouble, a cheapo quartz oscillator can go from 20..50 ppm to perhaps a few ppm worst case. Which as you point out is in the order of a minute per year. If that's not good enough AND power budget is available, an oven-controlled quartz oscillator improves on that.

      All that online / GPS / radio controlled stuff is for convenience only (daylight saving!). Not needed just to have an accurate clock.

      Oh and there's using AC mains frequency as timebase.

  • 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 . . .

  • 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?

  • Wouldn’t it make more sense to build a GPS clock?
    • It wouldn't be a long HN post then. With very little coding on an ESP32 + NEO-6M GPS Module and a small screen, you'd have a GPS clock in less than 30 minutes of work.
  • 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.
    • How does it handle DST?
    • These aren't even self-setting, let alone self-adjusting. They are merely self-winding.
    • +/- 1 minute for month? holy smokes. does not qualify as self setting.
    • Hooking that up to NTP would be quite a project.
    • What are you talking about, those will drift out of accuracy in a month

      "setting the clock" means adjusting time, not powering

  • Things can escalate further… PTP and/or PPS/GPS
  • >"...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

  • 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...

    • To be fair, I did the research, the BOM, the systemd service and timers, the packaging, most of the installer, and the deployment pipeline myself. It's just the python and the Fusion modeling I needed LLM help with. Coding beyond bash scripting is just not something I'm good at, and at 48, I've kind of accepted that it's not ever going to be no matter how hard I try.
    • Edit: retracted, but left up for context

      The article itself appears to have had help from an LLM, too.

      • Go look at the editorial policy from Ars. Lee just writes like that; it's his style, it always has been.
      • nope. i was using em-dashes and semicolons before they were cool.
        • I believe you (and sorry, I do think I was wrong), but for the record I wasn't judging based on punctuation.
          • Look at it this way: LLMs are trained, among other things, on quality professional prose. I've been writing for Ars for almost 14 years at this point.

            I don't sound like LLMs. LLMs sound like _me,_ lol.

            • fwiw the article doesn't sound LLM to me whatsoever, so opinions def vary!
    • The line between programmers/SWE people and non-programmers got blurred thanks to LLMs.
  • 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.
  • 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

    • Apparently at least Bluetooth has something called Current Time Service (CTS) (BLE GATT service 0x1805). If you pair a cheap "smartband" to a phone, it'll set itself, even without using any apps. Neat! I guess it uses CTS?
    • Nokia proposed using SIB9 5G time transmission as time syncing in clocks, the idea being that transmission is available openly even for non-subscriber. Softbank later proposed commercializing the service, which is unclear to me since surely the public transmission would be enough for casual users and anyone requiring more would already use full 5G to control the device anyway.
    • Why bloat Wi-Fi with a clock signal when we already have a perfectly cromulent network time protocol?
      • I assume you don't need to implement a full network stack just to read a discovery packet and it would be easy to add to future wifi routers
    • But how do you make it secure? Add a signature with a fixed key?
      • The issue is which time signature do you trust without selecting an SSID, maybe by power? But I agree this can be an issue albeit small one in my opinion
  • Joke's on you, my Garmin Instinct syncs with GPS automatically, and I never set it.
  • If you think you need your alarm clock to be accurate down to the subsecond, you need to talk to someone about your anxiety.
  • 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.
    • POE clocks are SURPRISINGLY expensive.

      https://www.american-time.com/shop/?fwp_product_brand=power-...

      Someday, my precious, someday. (My dream clocks would have a smooth-sweeping second hand, no ticking (silent) and be PoE and NTP.)

      • I have these, which has the feature-combination you asked for: https://www.bodet-time.com/products/clocks/metal-analogue-cl...

        My main gripe with them is that they reset at midnight (plus every now and then), and take 5 minutes to adjust themselves.

        Unfortunately I’ve caught them a few times just showing a seemingly arbitrary time as well. This has always corrected itself after a few hours, but still..

        It’s very nice looking clocks, but the reliability is just too low for my liking, as I don’t feel confident enough just looking at them that they currently show the exact actual time.

  • so basically NTP!
  • Could it not just be an iPhone on its side at this point?!
    • Asked and answered in the article comments, but briefly, I don't keep my phone in the bedroom at night, so no.
  • [dead]
  • [flagged]