

I am not concerned because I don’t care to use a rechargeable battery. Apparently, it is designed for use with an LIR2032, but note that some do not think charging would work well depending on Vcc. That is, it sends Vcc to the battery through a diode and 200 ohm resistor. "The big issue with the board is, fortunately, well known… it has a charging circuit for the battery on board. Not trying to start and argument, everyone finds their own way and all that, but my feelings have not changed. The disadvantage is that you have to connect to a time server and make sure that error and recover routines are hardened. The advantage of the latter approach is that if power does go out, the time is set when it is restored - I also assume that the data logger is not running when the power is off. Completely different controller, but you get the idea. I used that approach recently ( see here). If you did not want to add another board and work with I2C, AND it is an IOT project, an alternative that might work is to contact a Time Server on power up (and other times if greater accuracy is needed) and use that accurate time to set/reset the STM RTC. I would speculate that the STM RTC does as well.

I should add though, that those RTC chips may lose some accuracy over long periods of time and that could be a consideration. They are convenient and easily used with a battery back up. I have used both of those - building the simple circuit as well as buying very cheap boards. The MCP7940 was already mentioned and I would add to that the DS3231. I do not, however, see any provision for a battery backup on just the RTC. It appears to me to be very efficient and flexible and with many features. I have not used an STMF0 controller and I was browsing this Application Note on the RTC. It all depends on what you mean by "efficient"?
