I have uploaded the final code for ESPCLOCK4 to GitHub. Full details and schematic at the repository.
I have also created 2 prototypes, 25cm and 38cm clocks:
I am quite happy with this version. It is much easier to debug (by using a dev board with the UART intact during development, and switching to one with the UART removed to save power for production), and very straightforward to implement on a prototype board. It also uses very few external components, but is equally power efficient.
Future enhancements will include:
- Adding an external clock crystal to eliminate the RTC_SLOW_CLK drift.
- Using C to write the ULP code. Assembly code is tedious and error-prone.
Have you seen the recentish wifi clock movements from china? I think someone at a movement manufacturer might've been following your work ;)
ReplyDeleteNo I haven't! Must have been a recent development. At ~$75 for the 12-inch model, it's a little too rich for my taste. I will hunt around for reviews and try to figure out how it works. Very interesting! Thanks for the info.
DeletePreliminary research shows:
Delete1) WiFi clock movement uses 2 x AA alkaline
2) Claimed battery life of 1 year
3) Uses sweeping clock movement
4) Synchronizes once a day
5) Stops at midnight every day to preserve battery life, and restart next morning. Can be changed through web interface.
6) Connects to NTP for network time
Yeah they're about $28 here out of the bay, I got one on the way just to see how it works. But your new 4 design is probably gonna work better. Out of interest why did you stop doing NTP queries?
DeleteNTP is the easy part, since that just gives you the UTC time. You still need to convert it to local time based on your timezone, and _that_ is the big hairy monster. No easier way then to outsource this task to a machine running a full OS that takes care of NTP + TZDB + DST info all in one place.
Delete