Seen here is version 4. The power consumption is 160 microamps except for a few seconds once an hour and the parts count is remarkably (to me anyway) low! I'll list the more important improvements that got me here from version 1.
The prototype version worked but had a hideously difficult method of setting the time using two buttons for input and only the hour hand for display. When I remembered daylight savings time was a thing, I knew I had to start over. It was also consuming 100s of milliamps.
The first change was to add a RTC module which gave me lower power than using a cpu timer, interrupt capability, battery backup, and eeprom in case the eventual processor choice didn't include eeprom.
I hadn't considered using wifi because of the power requirement; but that wasn't necessarily high when using a RTC and only occasionally turning on wifi. That, however, made the input problem of setting up even worse. I didn't want to rely on changes to the source code for every adjustment.
At some point the blindingly obvious penetrated, that if one is building this, they have a usb connection to program it. Therefore they also have a serial connection, so can configure the network and edit the angles that way when they program it.
I added a high-side mosfet switch to turn off all power to the servo when it wasn't actually moving. The circuit was designed to keep overall current draw to a minimum. I used surface mount mosfets but through hole 2n7000 and BS250 should work as well. The circuit is now so simple a printed board is not really needed except for the surface mount mosfets.
Last of all I found the ESP32-C3 super mini which was able to replace the combination of cpu and ESP32 board I had been using. And it consumes less power. (why use an esp32 AND a different controller? I could use a slow and low powered cpu and turn off all power to the ESP32 when it wasn't needed.
The ESP32-C3 has a problem however. It seldom connected to the router despite being only 15 ft away in the same room. This was fixed by adding a 31.2 mm wire to the end of the antenna component nearest the oscillator. BTW said component is installed reversed on some board including the ones I received. It doesn't matter just add the wire.
The led on the RTC has to be disabled as well as the charging circuit if a standard 2032 is used instead of a rechargeable or none at all.
Likewise the leds, or at least the red one, has to be disabled on th ESP32-C3.
Savo
Rohit Gujarathi
victor-chew
After returning to this project mentally for a couple of times, I came to the conclusion that the WiFi approach is OK-ish for a person who uses it themselfs, but overly complex especially when gifted to people in psychology which are typically not so tech.
My take therefore would be to rely on the RTC clock, and one or two buttons for setting the time like on any other clock. This in turn means that minute-timer also is controlled by the ESP. But this is missing something simple like a 360° servo, so need to get funky with the minutes as well.