Can EEPROM be made read-only?

Hi all....

Thought just went through my mind that it would be handy to be able to write some identifying data into a few EEPROM locations- in case of confusion because "they all look the same to me", one would know which UNO was which.

But of course the whole point of EEPROM is that it is indeed EE 8) .

Is there any way that an EEPROM location can be made read-only? I guess even if there is such a way, it would need to be reversible in the long run.

Any thoughts, anybody?

(Or is the easiest way just to write my name on the thing with a marker?)

Marker(s) & CRC is the usual technique. If the data is especially important include a two-phase commit when writing.

What might work would be to write some identifying bytes into the end of the bootloader. Most bootloaders will have a couple of spare bytes (it would be unusual if they fitted exactly into 512/1024/2048/4096 bytes).

You could grab the bootloader file for your current board, add an extra line to put those bytes in (get the sumheck right) and burn that on.

Under normal circumstances, and without special hardware, the bootloader is not changed.

Here's a couple of possible tricks/strategies that should work.

If the data to be preserved is known the first time the flash program is run and the EEPROM cleared with the program able to determine that it has not initialized those bytes then sure you could safeguard that data.

I forget if EEPROM starts as all bits set or cleared but a program that only uses that state to check or erase bytes, perhaps limiting valid data to 7 bits or either 0-254 or 1-255 could 'know where the data ends'.

EEPROM starts as 0xFF (255 DEC).

I think I'll just use a marker...

Thanks for the replies.

Note to Messrs Arduino- leave space on the board for a "This board belongs to ....." label 8)