retentive memory

Provide a way to "reset" the value at the user's discretion, in the code. For example, a button to save the configuration/counter, or a jumper that indicates that the configuration/counter should be initialized, or a command that your serial port routines can detect to trigger a reinitialization of the value.

The factory usually initializes everything to 0xFF or 0x00, so it's tempting to put a magic unlikely value into EEPROM that says "hey, I'm initialized already!" but it's far more robust to provide a user button. That's why even the tiniest of watch-battery toys will offer such a button on the back. :slight_smile: