The design of two closely-related clock projects #Yet Another (Discrete) Clock and #Clockwork germanium uses a medium-stability oscillator. Until the accuracy is precisely measured, this is suitable for one day or one week but the drift might be perceptible in a month. And it's a clock and you don't want to have to correct the clock all the time !
I need a convenient, energy-saving, economic way to reset the clock at midnight, with just one pulse.
- Low-cost is important, yeah.
- It should be able to run on batteries for a long time. Spending its day in sleep mode, waking up every day or two, to check the time and send that pulse then go back to deep sleep...
- Convenient, should survive battery loss
As discussed in https://hackaday.io/project/9376-yet-another-discrete-clock/log/34710-integrated-32khz-clock-source the DS3231 is good but fails on convenience because 1) battery loss resets the chip to default state (no external alarm pulse) and 2) there needs to be a way to set the clock easily (with another midnight pulse ??) so an external µC is required.
What are the other solutions ?
- DCF77 would be good but receivers are not available or cheap anymore and a µC is still required to analyse the noisy pulses, when the receiver is in a good reception spot.
- GPS doesn't work indoors. Clocks live indoors. Too bad. I'm sure you won't install a long antenna cable and a patch antenna on your window, just to get accurate time at midnight.
- GSM/GPRS/xG works indoors and somehow carries timestamps. How ? Is it possible to get the timestamps without the need of a SIM card ? I'm not a GSM guru, please enlighten me!
- Wifi is often mentioned but then comes the hard/complex question of configuring the client devide. The ESP8266 is mentioned everywhere and would work as a NTP client but 1) power consumption 2) convenience (how do you tell it to connect to a particular AP ? how do you provide it credentials ?)
Until I get a reasonable answer, all I can do is make the oscillator as stable as possible, and reserve an open collector/drain input to clear all the counters...
1. Got Rb ?