It has been 2 years since I worked on ESPCLOCK V1. I actually started the design for V2 shortly after that, and bought all the required parts, but stuff happened, and I didn't get to spend much time on the project. But things are getting back on track now, and it feels great to pick up this idea again.
Here's a partial link dump of the posts I wrote while working on the project:
- Initial design
- ATtiny85 - Using capacitor for backup power to persist clock time to EEPROM
- geolocation.getCurrentPosition() only works with HTTPS
- Switching ATtiny core
- ESPCLOCK2, Part 1 - Getting timezone and local time
- ESPCLOCK2, Part 2 - Interrupt-driven time keeping
- ESPCLOCK2, Part 3 - Reading VCC using interrupt
- Measuring current draw with LTC4150 + ESP-12E
- ESPCLOCK2, Part 4 - Implementation
In summary, the current draw for the circuit has been reduced to about 2.5mA. A battery pack of 4 x 2300 mAH NiMH will be able to last approximately 38 days. This is a massive increase over the ~26 hours using only the ESP8266. Also persistence of the clock time to EEPROM with limited number of writes has been dealt with by only writing when VCC is low.
Interestingly, when researching recent projects that are of a similar nature, I found SynchroClock, which shares a lot of ideas with my initial design. It also gives me some ideas to try for the next iteration of the project (eg. using a DS3231 RTC for clock pulse, and using a power regulator with a "power good" pin to check for power loss).
I am not sure if I got the current draw measurements and calculations 100% correct using the LTC4150, although I spent a lot of time to make sure I got the figures right. I get the feeling that the numbers that are cited in other projects are overly optimistic (maybe because they are estimated through oscilloscope readings).
I will continue to work on the project, and will be happy if I can hit a 3-month runtime on a 2300mAH power source.