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.
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?
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.
Meh. The room-temperature endurance of modern EEPROMs (e.g., ST M95256) is something like 4 million cycles. If you use a simple ring buffer (reset on overflow, otherwise just appending values), you only need to overwrite a cell once every 32k ticks, which gives you a theoretical run time of 250,000 years with every-minute updates or 4,100 years with every-second updates.
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.
> The erratic ticking eventually became a distraction
Yeah, the main problem with this project is you have to find a silent 3.88 analog clock to attach it to.
Last cheap clock i've tried was silent on half the circle and kinda buzzy on the other half. It had seconds so that meant the ambient noise changed every 30 seconds...
Oh wait. Maybe I should open it up and remove the seconds needle. Time for a totally analog project!
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/
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.
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.
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.
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!
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
An already radio controlled clock would probably be a better starting point to GPSify or NTPify too - at least the one I have already has the feature that it can move the hands to an arbitrary position (when you replace the battery and it syncs again).
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.
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:
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.
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.
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.
61 comments
[ 3.4 ms ] story [ 70.1 ms ] threadApparently 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...
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.
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.
Yeah, the main problem with this project is you have to find a silent 3.88 analog clock to attach it to.
Last cheap clock i've tried was silent on half the circle and kinda buzzy on the other half. It had seconds so that meant the ambient noise changed every 30 seconds...
Oh wait. Maybe I should open it up and remove the seconds needle. Time for a totally analog project!
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/
Now if only I could turn off the clocks on my oven and microwave...
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...
https://github.com/dheera/shadow-clock/
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.
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.
It has automatic timezone. The article also explains why it isn't as simple as it seems
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.
https://github.com/timonoko/Jogwheel