EEPROM for initiation program

Not quite the same , but this might be useful …

I had something like this and in my setup I just read two locations of Eeprom (as a flag )and if they were a certain number then I conclude that this isn’t the first run of the program .
If the numbers don’t align , then I upload into eeprom all my default numbers and save the flag number .Next time it boots it sees the numbers and doesn’t change any eeprom values .

(It relies on the chances of those numbers but being randomly the same).
( used this with, for example a voltmeter calibration , where I could adjust the calibration if need be and those calibration factors would not be overwritten next time the Arduino fired up .

You can use part of the version number to set that flag value , so if you mid the code , it starts over .

There is also something in the register setting of the processor to erase Eeprom - true ??

.