[HN Gopher] Converting a $3.88 analog clock from Walmart into a ...
       ___________________________________________________________________
        
       Converting a $3.88 analog clock from Walmart into a ESP8266-based
       Wi-Fi clock
        
       Author : tokyobreakfast
       Score  : 343 points
       Date   : 2026-02-09 16:26 UTC (6 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | kotaKat wrote:
       | Of note, having recently shopped at Walmart for a self-setting
       | alarm clock (what I once knew to be "atomic"):
       | 
       | Apparently the entity today known as Sharp sells "AccuSet(tm)"
       | branded clocks that "automatically set time"... but they're just
       | factory pre-set with a button cell and they include a slider on
       | the bottom to set a timezone offset (only for US timezones). If
       | you're lucky, the clock's battery is still good and the clock
       | "set itself" out of the box several minutes late.
       | 
       | If you're unlucky - surprise, you get to manually set the time
       | anyways.
       | 
       | https://www.amazon.com/Sharp-Digital-Alarm-AccuSet-Automatic...
        
         | relaxing wrote:
         | You want a self-setting radio clock that receives the LF
         | broadcast from WWVB.
         | 
         | There was a kerfuffle a few years back about the funding for
         | the station being cut, but luckily that did not come to be.
        
         | orev wrote:
         | These clocks are irritating because they show up in the results
         | when searching for "radio atomic clock" and similar, and it can
         | be very hard to figure out if they actually use the WWVB radio
         | signal. I've concluded that none of them do, because WWVB is
         | only reliable in (most parts) of the US, and companies only
         | want to make things that appeal to a global audience now. La
         | Crosse seems to be the only one that makes them, and
         | unfortunately most of their designs lack any style (i.e.
         | they're ugly).
        
           | geerlingguy wrote:
           | It's like they hired a design firm in the early 00's and
           | decided that design language is the peak of human horology...
           | I wish they'd make a couple new designs.
        
           | drivers99 wrote:
           | There are actually other time signals around the world.
           | 
           | I had a Casio wave ceptor (one with analog hands which it
           | doesn't look like they sell anymore; I should have kept it).
           | Anyway, looking at a model that's currently available
           | (WV-200R, but there are 2 other models available), its manual
           | says it gets signals from "Germany (Mainflingen), England
           | (Anthorn), United States (Fort Collins), [and] Japan."
           | 
           | I was curious so I looked those up:
           | 
           | Mainflingen DCF77 77.5 kHz
           | 
           | Anthorn 60 kHz
           | 
           | Fort Collins WWVB 60 kHz
           | 
           | Japan looks like they have Mount Otakayoda 40 kHz, and Mount
           | Hagane 60 kHz.
           | 
           | There are also some other countries that have time broadcasts
           | (e.g. France. Anywhere else?) but not that that watch uses.
        
         | jonathanlydall wrote:
         | Clocks which are designed to be able to auto set their time in
         | the US will actually also do the auto setting at least as far
         | away as Johannesburg, South Africa.
         | 
         | I know this because when my mother was visiting the US over a
         | decade ago, she found a clock she felt was aesthetically
         | perfect for her psychology practice room at her house.
         | 
         | Twice a year the clock changes its time to be 10 hours (or
         | thereabouts) behind, no doubt due to daylight savings change
         | over.
         | 
         | So she has to readjust the time whenever this happens which she
         | says she doesn't really mind.
        
       | DesiLurker wrote:
       | makes me wonder what if I just wanted to sync with nfc every once
       | in a while. wifi seems overkill for this. maybe it could be done
       | much cheaper with nfc sync witha phone twice a year?
        
         | yjftsjthsd-h wrote:
         | ESPs are so cheap that you couldn't possibly save _very_ much
         | money, and the way economies of scale work it may or may not be
         | cheaper to use NFC anyways.
        
         | phh wrote:
         | An ESP32-C3 Super Mini can be found for below 3$ (cheapest I
         | had was 1.58EUR). Since the original clock is 3.88$, it can't
         | be that much cheaper.
        
         | sowbug wrote:
         | We've been shopping for a simple bathroom clock to replace our
         | final Amazon Echo and leave that increasingly dystopian
         | ecosystem. There are some models that use Bluetooth on your
         | phone to sync the time. I could imagine BLE being a good low-
         | power and relatively stateless solution. But given our goals,
         | we're not going to install an app on a phone just to maintain a
         | wall clock. (I'd be fine if Android provided BLE time sync as a
         | built-in service.)
        
           | russdill wrote:
           | Home assistant has pretty good BLE capabilities. But
           | honestly, as has already been pointed out wifi is already
           | really cheap.
        
         | pantalaimon wrote:
         | You often have a radio clock source like DCF77 that all those
         | radio controlled clocks use
        
       | albertsikkema wrote:
       | Great idea!
        
       | teraflop wrote:
       | Cool project!
       | 
       | The most interesting part, IMO, is the "SRAM with EEPROM backup"
       | chip. It allows you to persistently save the clock hands'
       | positions every time they're moved, _without_ burning through the
       | limited write endurance of a plain old EEPROM. And it costs less
       | than $1 in single quantities. That 's a useful product to know
       | about.
        
         | sowbug wrote:
         | I'm not sure if this is the same technology, but regardless
         | it's also cool: https://www.adafruit.com/product/1897
        
           | mftrhu wrote:
           | Not quite - the chip the article refers to is the 47L04 [0],
           | which is "just" NVSRAM built out of a RAM + EEPROM. I _do_
           | agree on FeRAM being cool, though - I have a few I2C chips en
           | route, and I can 't wait to get my hands on them.
           | 
           | [0] https://www.microchip.com/en-us/product/47L04
        
             | qwertox wrote:
             | Thanks to both of you for bringing FRAM onto my radar!
        
             | summa_tech wrote:
             | You could also consider MRAM. Which is available in larger
             | sizes - up to 4 Mbit on SPI bus in the MR20H40, and 128
             | Mbit in EM128LXQ (but it gets unreasonably expensive when
             | this big).
             | 
             | https://www.everspin.com/family/mr20h40?npath=259
        
         | ssl-3 wrote:
         | That's really neat. TIL.
         | 
         | So the way this works seems to be this: It's an SRAM and an
         | EEPROM in one little package along with a controller that talks
         | with each, with a little capacitor (this clock uses 4.7uf)
         | placed nearby.
         | 
         | The SRAM part does all of the normal SRAM stuff: It doesn't
         | wear out from reading/writing, and as long as it has power it
         | retains the data it holds.
         | 
         | The EEPROM does all the normal EEPROM stuff: It stores data
         | forever (on the timescale of an individual human, anyway), but
         | has somewhat-limited write cycles.
         | 
         | The controller: When it detects a low voltage, it goes "oh
         | shit!" and immediately dumps the contents of the SRAM into
         | EEPROM. This saves on EEPROM write cycles: If there are no
         | power events, the EEPROM is never written at all.
         | 
         | Meanwhile, the capacitor: It provides the power for the chip to
         | perform this EEPROM write when an "oh shit!" event occurs.
         | 
         | When power comes back, the EEPROM's data is copied back to
         | SRAM.
         | 
         | ---
         | 
         | Downsides? This 47L04 only holds 4 kilobits. Upsides? For
         | hobbyist projects and limited production runs, spending $1 to
         | solve a problem is ~nothing. :)
        
           | bonsai_spool wrote:
           | What's the purpose of using an LLM to write a comment here?
        
             | ssl-3 wrote:
             | "Hey, someone _on the Internet_ used decent diction!
             | Obviously, this means I must accuse them of being a bot! "
             | 
             | (Hey Dang. Can we get a ban button? There's a few people
             | here that are impossible to conduct rational discourse
             | with. My sanity would improve if they were simply gone from
             | my view.)
        
               | ninalanyon wrote:
               | You could create a browser user script to do it locally.
        
               | ssl-3 wrote:
               | That's not a terrible idea.
               | 
               | An extra UI element or two should be enough. Maybe with
               | sticky options for collapse-by-default or hide-by-default
               | at the top of each HN comment section.
               | 
               | And the list of usernames can be stored and edited in the
               | purveyor's HN bio (in plain text, like a monster), so
               | that it works automatically across devices.
        
               | bonsai_spool wrote:
               | You've edited the response since you posted it. I think
               | there's a difference between diction and the standard
               | output of ChatGPT et al.
        
               | ssl-3 wrote:
               | I'd like to say that I'm sorry that you feel that way,
               | but frankly: My ability to feel anything empathetic about
               | you dwindles by the moment.
               | 
               | Please stop fucking with people in this way. It's
               | callous, unnecessary, and antithetical to the greater
               | good. We don't come here to get accused of things.
               | 
               | (edit: Today, I learned about the existence of a chip
               | that does a clever thing. That made me curious: After
               | all, I've been passively wondering for -decades- about
               | how electronic things remember their previous state
               | without power, and without hammering an EEPROM.
               | 
               | I could have learned more about this at any time over the
               | years, but I just never bothered with doing so.
               | 
               | And today, it was right in front of my face -- with a
               | part number! That gave me a very easy place to start, so
               | I started.
               | 
               | I read up on it a bit using the datasheet and a
               | whitepaper. I learned some about how it does that clever
               | thing, and I wrote a few sentences about this new-to-me
               | stuff in a way that I felt would be approachable and
               | appreciated by this particular audience.
               | 
               |  _That 's_ what we're here for -- to be curious, to share
               | ideas, and to learn stuff from others. Not for fucking
               | with people.)
        
             | Dachande663 wrote:
             | Upvoted because this stinks to high hell of an LLM
             | response. Half the GPs comments seem to be in a similar
             | vein. It's such a shame but you can't fight the trolls so
             | don't take it to heart.
        
         | monocasa wrote:
         | I do like the frams too for similar use cases.
         | 
         | Particularly I like that I can get those large enough to stick
         | a ring buffer from debug out on them as well and get crash logs
         | from embedded systems despite the debug uart not being tethered
         | to a dev machine.
        
       | jccooper wrote:
       | See also the "Ventinari clock":
       | https://github.com/iracigt/ventinari-clock
       | https://www.akafugu.jp/posts/products/vetinariclock/
        
       | sowbug wrote:
       | If you like this but don't want to get your hands as dirty, have
       | a look at the Crazy Clock:
       | https://www.tindie.com/products/nsayer/crazy-clock/
       | 
       | I got one for my daughter. The erratic ticking eventually became
       | a distraction when she was studying, so we have retired it for
       | now. But we got a lot of amusement out of it.
        
         | avidiax wrote:
         | > Early clock - keeps time anywhere between 0 and 10 minutes
         | fast. For those who like to set their watch ahead to avoid
         | being late. This clock keeps you from trying to "compensate,"
         | because you never know how early it is at the moment.
         | 
         | That's pretty genius for many ADHD-type folks. Only problem is
         | a modern household has many clocks in view, so you'd need to
         | commit to just not setting them.
        
           | javawizard wrote:
           | Oh now that would be a fun version 2 challenge: have all the
           | clocks in one household synchronize such that they're all
           | early by the same amount at any given time.
           | 
           | Easy enough for wifi enabled ones: a UDP broadcast to
           | discover other clocks on the network, then sync how you will.
           | 
           | For non-wifi-enabled clocks, perhaps something like a CH572
           | would do the trick: a $0.20 RISC-V microcontroller with BLE
           | support that all the clocks in the same vicinity could use to
           | talk to each other.
           | 
           | You could really mess with your neighbors if they had the
           | same clocks and you were within range...
        
             | seg_lol wrote:
             | You don't already do this with the NTP servers under your
             | control?
        
               | javawizard wrote:
               | If I had any NTP servers under my control, I probably
               | would :)
        
           | password4321 wrote:
           | Yes I'd have to convince Apple to play along on the iPhone
           | and watch.
        
       | Spivak wrote:
       | If you want a pure software solution get yourself an old atomic
       | clock and https://github.com/jj1bdx/WWV play some tunes to set
       | the time.
        
         | bityard wrote:
         | The repo you linked to is a WWV simulator, WWV broadcasts the
         | time via _audio_ (double-sideband amplitude modulation) at
         | various fixed HF frequencies. SOME clocks might be able to
         | automatically receive and decode this signal, but not many.
         | There is also a web version here: https://wwv.mcodes.org
         | 
         | Radio controlled ("atomic") clocks get their signal from WWVB,
         | a long-wave station in Colorado. Its signal is just a carrier
         | and data is encoded via pulse-width modulation and phase
         | modulation. People have built local, low-powered WWVB
         | transmitters to sync their watches and so forth in areas where
         | WWVB is hard or impossible to receive. It's not a good idea to
         | build one of these unless you REALLy know what you're doing
         | because radio signals can travel farther than you expect, and
         | the FCC takes a rather dim view of intentionally broadcasting
         | your own signal (to any distance) without a license to do so.
        
           | buescher wrote:
           | There's a digital code as part of the WWV transmissions (!)
           | but you're right that the typical "atomic" clock doesn't
           | sychcronize to the HF stations.
           | 
           | There are weak wwvb simulators out there as phone apps and
           | such that depend on using EMI to sync your clock. Like the
           | old AM radio bus noise music hack.
           | https://github.com/kangtastic/timestation?tab=readme-ov-
           | file...
        
       | riskable wrote:
       | I want to see someone convert one of those cheap projection
       | clocks like this: https://www.homedepot.com/p/La-Crosse-
       | Technology-5-in-Color-...
       | 
       | The red projection is _just_ the right brightness (at night) but
       | it sucks that it 's not wifi-enabled so you can't just get it to
       | NTP sync (or hook up a GPS receiver). The projector part of the
       | clock is a separate device that's attached to it via a ribbon
       | cable. I would reverse engineer it myself but I haven't got the
       | time.
       | 
       | Ideally, I'd want a matrix of LEDs projected on to the ceiling so
       | I could get more info than just the time. Such clocks exist but
       | they're super duper expensive! Example: https://buyfrixos.com/
        
         | lostlogin wrote:
         | Undermining the spirit of HN: By the time you've spent a few
         | hours hacking away and bought any parts, that price is probably
         | not too bad.
        
           | stavros wrote:
           | That's assuming you don't like hacking and would pay to not
           | have to do it, which is generally not the case around here.
        
             | lostlogin wrote:
             | I'm think you can go further than that.
             | 
             | Days spent modifying cheap electronics is absolutely
             | encouraged.
        
               | hackingonempty wrote:
               | Buy the premade thing and hack something new.
        
               | seg_lol wrote:
               | Cheap electronics are just the feed stock, the basis
               | function for your new creation. Why start with raw matter
               | when you can get fully formed matter for less.
        
         | mmsimanga wrote:
         | +1 I have a couple of digital.clocks from Temu. They look nice
         | but cannot keep the correct time. They slowly edge ahead and in
         | a month they are about a minute ahead. It is annoying having to
         | correct the clock and would be great if they time from WiFi
         | connected source.
        
         | stavros wrote:
         | If you're looking for something low brightness, I made one:
         | https://www.stavros.io/posts/i-made-another-little-bedside-c...
        
         | ElevenLathe wrote:
         | The one you linked claims to have "Atomic Time" which usually
         | means syncing by radio from WWV/WWVB. I have several cheap
         | wallclocks like this (though none with a projector) and they
         | are always accurate with no noticeable drift AFAICT. Have you
         | tried that particular one and found its accuracy wanting? I
         | think, in principle at least, there should be less jitter in
         | this method than using NTP over a computer network.
        
           | cptskippy wrote:
           | With a resolution of one second, I think most people would be
           | hard pressed to distinguish between NTP and WWV/WWVB time
           | keeping devices.
        
           | Animats wrote:
           | Right. WWVB clocks running off the 60KHz pretty much solve
           | the clock problem in the US. All my clocks at home are basic
           | LaCrosse analog clocks. They have the internal sensors needed
           | to tell when each hand is straight up, so they can set
           | themselves without user input. On power up, they step until
           | the hands are straight up, then sync when they get an update.
           | You have to set the time zone with a switch when installing.
           | Only the four US time zones are available. Battery life is
           | 1-2 years, which is pretty good for a device with a radio.
           | 
           | There are UK and Japan clocks that work similarly, but use
           | national time sources. There are G-Shock watches which
           | synchronize from multiple sources. While running on solar
           | power. Those keep accurate time with no maintenance. That's
           | an impressive achievement.
        
             | js2 wrote:
             | > WWVB clocks running off the 60KHz pretty much solve the
             | clock problem in the US.
             | 
             | YMMV depending upon location. I've never gotten a WWVB
             | clock to work in North Carolina. On the East Coast, the
             | signal maybe sorta works for a few hours overnight:
             | 
             | https://tf.nist.gov/tf-cgi/wwvbmonitor_e.cgi
             | 
             | They also don't transition DST automatically, so you're
             | pulling them off the wall twice a year unless you're in one
             | of the rare US locations that don't adhere to the DST
             | silliness.
        
               | zymhan wrote:
               | I'm fairly certain the radio time signal has a mechanism
               | to convey daylight savings, I've had alarm clocks that
               | managed DST without any input.
               | 
               | > The DST status bits indicate United States daylight
               | saving time rules.
               | 
               | https://en.wikipedia.org/wiki/WWVB
        
         | alnwlsn wrote:
         | Depending on how dark your room is you might get by with an
         | ordinary but bright LCD screen and a camera lens. There's a
         | pretty common 240x240px, 1-inch square TFT display on amazon or
         | other usual places you might start with.
        
         | btheconqueror wrote:
         | Some clocks also update over radio. Oregon Scientific used to
         | make the best bedside atomic clock ever. Super simple, with the
         | projector, was an atomic clock that updated automatically via
         | radio and had a pleasant, crescendo alarm that would start off
         | nice and get more aggressive. They don't make it anymore :/
        
       | avidiax wrote:
       | How does this keep track with DST?
       | 
       | Looking at the code [1], it looks like if the actual time is 1
       | hour ahead of the displayed time, then we get 10 pulses per
       | second to leap forward. Otherwise, the clock stops running for an
       | hour to fall back.
       | 
       | https://github.com/jim11662418/ESP8266_WiFi_Analog_Clock/blo...
        
         | sowbug wrote:
         | You have two choices: either assume everyone is asleep at 2 am
         | and won't notice when it happens, or else advance 11 hours. My
         | LaCrosse clock does the latter.
        
         | gspr wrote:
         | And that's pretty much fine for a project like this, seeing as
         | most (all?) locations jump you between DST and not DST at
         | night. So the clock will be off at most for an hour during the
         | night.
        
         | floatrock wrote:
         | Yeah, project needs a time-lapse video of their analogue DST
         | transition event.
        
       | Dachande663 wrote:
       | I'm currently making something similar but using a BKA30D-R5 (a
       | dual stepper motor used in car dashboards) and a hall sensor to
       | zero the hands.
        
         | russdill wrote:
         | Yes, this project screams for some kind of sensor to detect
         | when the hands reach some known position.
        
           | Dachande663 wrote:
           | Yeah, it's super quick to start with a MK I eyeball to set
           | them, but having a sensor just avoids any drift. I got away
           | with using one by taking a reading and moving the other hand
           | to check they weren't on top of each other already, and then
           | doing a full rotation between readings.
        
       | dheera wrote:
       | Some years ago I made a ESP-based clock that used 60 LEDs in a
       | circle that project RGB shadows via a cone at the center. I used
       | the same WeMos D1 Mini board.
       | 
       | https://github.com/dheera/shadow-clock/
        
         | bityard wrote:
         | I remember seeing this on Hackaday. Very clever idea!
        
       | MrVitaliy wrote:
       | Cute, but the original clock used to run on AA battery that needs
       | a replacement every two years or so, and now it needs a power
       | supply. Or some big battery recharge/replacement every few hours
       | maybe days.
        
       | debbiedowner wrote:
       | How different is this to something you can buy like:
       | https://www.amazon.com/ihreesy-Movement-Mechanism-Silent-Rep... ?
        
         | TechSquidTV wrote:
         | Well I notice that one is $36
        
         | xandrius wrote:
         | One is hacked and the other one is bought?
        
       | freedomben wrote:
       | Hell yeah, this is some badass hackery, and the type of stuff I
       | _love_ seeing on HN. In the last decade or so as more and more
       | stuff becomes locked down and hacker unfriendly, I 've found
       | myself longing for simple things I can hack on. If I ever get to
       | a point where I don't have to work for a living, one of the
       | things I'd like to do is build everything from little gadgets up
       | to major appliances that are simple, reliable, and hackable for
       | people who want to. It pains me that my appliances have full
       | computers driving them but I can't get access to them. Kudos for
       | this awesome work and phenomenal write-up!
        
       | ortichic wrote:
       | Sorry if this is a dumb question, but do you guys not have radio
       | controlled clocks outside of Europe? If I got it right, the only
       | purpose of this project is to always display the correct time.
       | Radio controlled clocks do exactly that. They are cheaper than
       | the one ESP board, and run years on a single AA battery. No WiFi,
       | tinkering, setup, or cables necessary
        
         | qwertygnu wrote:
         | Googled "radio controlled clock" and seeing results from
         | $20-$200, lots of inconsistency in what the product is.
        
           | alnwlsn wrote:
           | These are usually marketed as "atomic time" or "atomic clock"
           | here in the US.
        
         | jcalvinowens wrote:
         | If you think _this_ is overengineered, I built one that will
         | really offend you: https://github.com/jcalvinowens/wallclock :)
         | 
         | The point is to have fun and learn something, not really to
         | solve a problem in a practical sense. The radio controlled
         | clocks are _extremely_ unreliable where I live.
        
         | haunter wrote:
         | There are time signal stations all over the world, WWV is the
         | most prominent US one
         | https://en.wikipedia.org/wiki/WWV_(radio_station)
         | 
         | https://en.wikipedia.org/wiki/Radio_clock#List_of_radio_time...
        
         | js2 wrote:
         | We do, but I've never had a WWVB clock work for me in North
         | Carolina. I've tried a few of them. The US is a big place and
         | for whatever reason, there aren't that many clock signal
         | transmission towers (AFAIK, the only one in the US is in
         | Colorado).
        
           | moduspol wrote:
           | I'm in WV, but could only get my clock to set itself when put
           | on the correct SW-facing wall.
           | 
           | Obviously it defeats the purpose a bit if I need to move my
           | clock to a different wall and wait 12-24 hours for it to set
           | itself.
        
         | KaiserPro wrote:
         | There is (https://www.nist.gov/pml/time-and-frequency-
         | division/time-se...) and in some conditions you can receive the
         | time signal in the UK.
         | 
         | Our office manager bought some US tuned radio wall clocks, and
         | every now and then they would jump 8 hours forward. I assume it
         | was down to solar weather making propagation changes
         | (https://en.wikipedia.org/wiki/Sporadic_E_propagation)
        
       | gambiting wrote:
       | That is very cool.
       | 
       | As for the problem of detecting the current position of hands -
       | Casio solved in in watches with their Tough Movement mechanism,
       | where there is a tiny tiny hole in the dial with a sensor behind
       | it - the watch will check if the hands are over it when expected,
       | and if not, automatically adjust - so even if a watch suffers a
       | major impact that might move the hands, they will re-allign
       | themselves. Such a clever and simple solution.
        
       | js2 wrote:
       | This is great. I spent years looking for an affordable battery-
       | powered WiFi clock that syncs via NTP since where I am, the WWVB
       | clocks never pick up the radio signal.
       | 
       | I never considered making my own. Anyway, about two years ago
       | this option popped up on Amazon. I've been happy with it:
       | 
       | https://www.amazon.com/OCEST-Wall-Clock-12Inch-Auto/dp/B0DJS...
       | 
       | I'm guessing internally it's not much different than the DIY
       | clock in this submission.
        
         | moduspol wrote:
         | Thanks for sharing this. I, too, have spent years trying to
         | find an analog-style clock that is completely hands-off for
         | adjustments (power outage, DST, drift correction) and it looks
         | like this one handles it all.
         | 
         | It feels like in 2026 this should be something default and
         | assumable, but alas, it is not.
        
       | accrual wrote:
       | It'd be interesting to see the logs or data on how the physical
       | movement falls out of sync. It probably even correlates with
       | temperature and humidity.
        
       | retired wrote:
       | I'm curious how long it takes for the hands to drift to the point
       | where the time difference is perceivable. Luckily the 30
       | millisecond pulse time is configurable.
        
       | montroser wrote:
       | What I really want is one of these powered by gps. The time
       | already comes for free in the signal, and from your location you
       | can derive the time zone. That way DST is accounted for
       | automatically, but you don't have to set up and rely on wifi.
       | This would be truly zero-config and always correct.
        
         | womod wrote:
         | There's quite a few clocks available that get their time over
         | the air from the NIST WWVB radio station[0]. They usually have
         | a little switch on the back if your area does/doesn't observe
         | daylight savings.
         | 
         | [0] - https://www.nist.gov/pml/time-and-frequency-
         | division/time-di...
        
         | IncreasePosts wrote:
         | You would still need some kind of configuration because the
         | start of DST can change year to year, and this is not accounted
         | for in the time signal from GPS
        
           | montroser wrote:
           | Good point that DST dates can technically change -- but in
           | practice it doesn't really change on a year-to-year basis.
           | The current law establishing the start and end dates in the
           | US has been in effect unchanged for the last ~20 years.
        
         | ssl-3 wrote:
         | GPS isn't too hard, either.
         | 
         | The receivers are inexpensive ($5-$10 for the kind of accuracy
         | that's useful here) and it's not hard to parse the NMEA strings
         | and PPS they output into a spooky-accurate internal clock. It
         | only takes a few connections and an antenna to integrate GPS
         | into an MCU like an ESP (or an SBC like a Raspberry Pi or a
         | whatever).
         | 
         | Like, really: The hardware is ridiculously easy.
         | 
         | The only difficult part is the code. But as we can see from
         | this posting, the clock-driving bits are already written and
         | are available for use.
         | 
         | Just graft in the GPS parts instead of the NTP parts, add your
         | DST/location rules if you really must (hint: that part is
         | harder than it sounds), and send it.
         | 
         | (And if the code still seems arduous, then remember: This is
         | the kind of work that a reasonably-focused person who is armed
         | with a decent bot can put together over a cup of coffee or two,
         | even if they don't speak C. It may be popular here to poo-poo
         | the bot here, but it's completely OK to get some help. Don't
         | let pride get in the way of having fun, learning things, and
         | building neat stuff.
         | 
         | The tailor doesn't lament the invention of the cotton gin.)
        
       | SoftTalker wrote:
       | Now do a old fashioned mechanical pendulum clock. You'd probably
       | need some kind of worm gear drive to move the pendulum bob up and
       | down.
        
       | cyberax wrote:
       | I was looking at the way they did the position sync. And they
       | didn't :(
       | 
       | OK, here's how I'd do it: add small magnets at the bottom of the
       | clock hands, and use the ESP's built-in Hall effect sensor to
       | detect them. You can distinguish between hands using the magnetic
       | field orientation.
        
       | rballpug wrote:
       | Keeping time in terms of hash-sigs that are in 64 bit
       | architecture instance.
        
       | timonoko wrote:
       | On that note: _Converting EUR0 scrap into EUR400 video editing
       | deck_. https://www.youtube.com/shorts/KlWYC6mzVkQ
       | 
       | https://github.com/timonoko/Jogwheel
        
         | kfarr wrote:
         | What a great idea. Legacy VCR controls upcycled for digital
         | control! There's a lot of those old decks and LANC deck
         | controllers lying around...
        
           | timonoko wrote:
           | This is a hard problem. Solvable only with try and error.
           | 
           | Those signals are just weird mess of coils, switches and
           | resistors.
           | 
           | ESP32 clock speed may also be a contributing factor.
        
       | greenie_beans wrote:
       | lol i just bought this same clock cuz it was cheap and had no
       | tech except the clock
        
       | j45 wrote:
       | Keeping the clock analog was clutch.
        
       | ChuckMcM wrote:
       | Pretty awesome. The only thing I would change is to put a USB
       | battery between the usb wall power and the D1 mini. That way for
       | power outages of < a couple of days or so you're clock will be
       | fine.
        
       | diimdeep wrote:
       | I've tried similar project, as it turns out it is surprisingly
       | hard to reliably move second's hand and not wobble in place, you
       | need to drive quartz motor so precisely to make gears move.
       | 
       | Post don't go into detail about schematic, but resistors and
       | diodes around motor is to properly drive motor and protection
       | from Inductive kickback (Flyback)
       | https://www.microtype.io/blog/h-bridge-circuit-design
        
       | staplung wrote:
       | This is cool but it seems like it would be liable to drift. I.e.
       | it "knows" the correct time but doesn't have any way to figure
       | out that it's been driving the movement fast or slow by some
       | number of milliseconds. Eventually, that will pile up to the
       | point that it's not any better than running the thing off of
       | batteries.
       | 
       | As the author points out, the cheap quartz mechanism has no way
       | of reporting the position of the hands (other than the hands
       | themselves) and that you have to set the PULSETIME constant by
       | the right number of milliseconds. If you're off by even a
       | millisecond, that's going to accumulate quick enough that it
       | would make a difference over even a single day, wouldn't it?
       | 
       | EDIT: as some have pointed out, the Lavet stepper theoretically
       | accounts for this in that it steps exactly one tick after so many
       | oscillations. That number of oscillations does not change so
       | that's all you need to get right.
       | 
       | However, that basically just kicks the can down the road a bit in
       | that if each step is not exactly 1/60th of a circle or bits wear
       | down or get sticky or you have analog noise in there you will
       | presumably still have a source of biased drift that you won't be
       | able to detect. But maybe those affects are small enough that
       | they don't matter for a wall clock.
        
         | bazodedo wrote:
         | The pulsetime is just to advance the clockwork one step, and is
         | kept fixed, the advancement driven by the mechanism is
         | discrete. As long as you keep track of the count, you wont
         | accumulate drift. The adjustment is to get that stepping
         | working, if it doesnt miss a step, youre good.
        
           | mlhpdx wrote:
           | In a perfect world, yes. But mechanisms aren't perfect and
           | it's entirely possible if not likely that steps will be
           | missed as friction increases over time and things wear.
           | 
           | I'm not saying these things matter much in this context.
           | 
           | The clock will still be far more accurate than purely
           | mechanical version. And, re-synchronizing it is as trivial as
           | turning the knob, just as you would for the all mechanical
           | mechanism.
        
             | KaiserPro wrote:
             | its a fairly reliably stepper motor system. You're right it
             | will degrade over time, you'd be surprised how many steps
             | it can do before it degrades.
        
         | picture wrote:
         | The escapement is "synchronous" in that the motion is
         | controlled by the number of pulses applied to the motor over
         | time rather than the duration/width of each pulse. The
         | pulsetime constant is only to accommodate mechanical/analog
         | differences with the driving circuitry, from what I understand.
         | https://en.wikipedia.org/wiki/Lavet-type_stepping_motor
        
           | lelandbatey wrote:
           | That's fascinating; the Lavet-type stepping motor acts as an
           | escapement all on it's own by being a very simple stepper
           | motor, so you don't end up needing a miniature version of a
           | classic mechanical escapement, which is what I'd always
           | imagined in my head when thinking about how cheap quartz wall
           | clocks worked.
           | 
           | https://en.wikipedia.org/wiki/Escapement
        
       | PlatoIsADisease wrote:
       | I'm mostly interested in what goes wrong.
       | 
       | I've made enough of these projects to know that ~75% need
       | modifications that were not anticipated. For instance, I made a
       | freezer temp sensor to php email for cases where the freezer
       | stops working... but when I opened the freezer, it would send an
       | email. I needed to sample for 30 minutes or something.
       | 
       | Maybe this was simple and you will be part of the 25% that work
       | perfect and need 0 updating.
        
         | SoftTalker wrote:
         | Yes most things that monitor a sensor in the real world can't
         | react to instantaneous readings. They need to use an average of
         | samples over some time period. Also due to hysteresis, you have
         | to allow time to see any changes in state in response to
         | changes in inputs. Most real-world systems don't respond
         | immediately.
        
       | amelius wrote:
       | What's the best way to periodically get time and date if your
       | customers are big businesses with hostile IT departments?
        
         | btbuildem wrote:
         | GPS unit
        
         | Neywiny wrote:
         | A great solution I've used plenty of times is to query websites
         | like google.com. I use it whenever my rtc on my Linux laptop
         | gets reset (as long as it's still in my history. Otherwise I
         | just set it manually).
         | 
         | https://unix.stackexchange.com/a/400176
        
       | greenail wrote:
       | you can buy dual coaxial shaft steppers ( X40 ) for car
       | instrument panels open them and remove the hard stops. A very
       | small magnet and 2 hall sensors gets you end stops.
        
       | KaiserPro wrote:
       | If your budget is a bit more, and you want to hear a massive
       | clunk every 30 seconds rather than a soft tick _and_ you want to
       | drive 2 ' (60cm) hands, then you might want this:
       | https://waitingtrain.blogspot.com/2015/05/a-large-gents-turr...
       | 
       | The smaller ones look the same but are less beefy.
       | 
       | I used one to make this clock:
       | 
       | https://www.secretbatcave.co.uk/projects/electromechanical-c...
       | 
       | Which instead of using a well disciplined time source, uses a
       | tuning fork and 74xx logic to drive it
        
       | teekert wrote:
       | On this topic. Do WiFi signals contain time (unencrypted)? If so
       | why does my oven not pull time from the air and needs adjustment
       | every 2 months? If not, why are APs not defacto time beacons for
       | all sorts of non-smart appliances (and clocks)?
        
         | cardiffspaceman wrote:
         | I worked with CFG80211/MAC80211 on an old Linux kernel years
         | ago. I don't think time of day is in any packet.
        
         | ianburrell wrote:
         | I have thought that could use Matter for time sync. It works
         | with both Wifi and Thread. I don't think there is a time
         | message. I also don't know if it has public broadcast since
         | Thread needs pairing to work.
         | 
         | The advantage is that smart devices might have Matter support
         | already. People with Matter devices will have border routers,
         | which are perfect place for running NTP and broadcasting time.
        
       | cbdevidal wrote:
       | I've wanted to do this because there's a zillion cool clocks out
       | there that use a similar movement. I'd also wanted to make it
       | battery powered which means doing NTP update only once per day
       | (or less). Doubt that is realistic, tho.
       | 
       | Maybe embed Hall sensors and detect when the hands are in a
       | certain position and when all three line up wake the ESP32, do an
       | NTP update, tick it forward to where it should be, then go to
       | sleep. Probably still use too much power, especially the Halls.
        
         | cweagans wrote:
         | Use reed switches behind the clock face and magnets on the
         | (presumably) different length hands instead of hall sensors.
         | NTP sync once per day is more than adequate for household
         | timekeeping - it might drift a few seconds here and there, but
         | that's fine for most people?
        
           | cbdevidal wrote:
           | Yeah, reeds make more sense. I'd stagger them so that when
           | the hour is at 12, minute at 3, second is at 6, all three
           | reeds (wired in series) wake the microcontroller.
        
       | tanvach wrote:
       | Related - we have an atomic Seiko wall clock expecting to have
       | the time automatically adjusted by the WWVB LF atomic clock
       | broadcast. Turns out, the signal is very weak where we now live.
       | Manually setting the time on these atomic clocks is a HUGE pain
       | (beware!).
       | 
       | Turns out it's possible to emulate the atomic clock signal quite
       | easily with a Raspberry Pi, or in my case I put together Arduino
       | code that can emulate atomic clock broadcasts from around the
       | world using an ESP32 module using NTP servers:
       | https://github.com/tanvach/clocksync
       | 
       | The history of these atomic clock broadcast signals and their
       | differences in different countries is quite fascinating.
        
       ___________________________________________________________________
       (page generated 2026-02-09 23:00 UTC)