ATmega's EEPROM has a lifetime of 100k write/erase cycles. The program stores current time every 10 minutes, giving it ~2 years of lifetime. It looks like the clock will die long before you.
A colleague once told me about a bug in it's audi where it would write the current volume of the radio to an EEPROM after every volume change. So, after a few years, the car stopped remembering the last volume setting when turning the radio off and on, because the EEPROM died.
It's much worse: on every knob turn, modified value is written to EEPROM, and then real volume is set to value immediately read from EEPROM. So after some time volume control stopped working at all! (Audi Concert, Chorus)
Why does the thing store the current time every 10 minutes? Seems like it needs your DOB, and whatever the current clock time is - and even a few minutes of drift isn't going to be a problem for an application like this. If it's ever connected to the tubes, it can adjust its clock from a time server.
Arduino (ATmega328) without additional boards does not have RTC nor any network connectivity. Using other microcontroller, such as ESP8266, one could fetch time from NTP, parse life expectancy tables from WWW, use GeoIP for checking which country you live in.
Yeah, if you are doing something like this you have to figure out some way to spread out the writes over the available EEPROM. Since we are just storing a time it would be pretty easy to do, just always write to the next location and pick the largest value on restore.
Thanks! I've updated the code to only save twice a day giving the EEPROM an estimated lifetime of 137 years. It's a little more inconvenient, but (maybe) less inconvenient than having to buy a new EEPROM (or likely a new Arduino) every couple years.
A colleague once told me about a bug in it's audi where it would write the current volume of the radio to an EEPROM after every volume change. So, after a few years, the car stopped remembering the last volume setting when turning the radio off and on, because the EEPROM died.