# EEPROM - Arduino

In my recent project, I want to store values permanently. So for that, I want to use the EEPROM. I searched for it and read about it. Now, I have some questions.

Questions:

1. How many locations are there in the EEPROM? (For Arduino Uno & Mega)

2. I read that an EEPROM has a limit of 100,000 write cycles per single location. That means if one location is used 100,000 times then we can use another after that? Or overall the EEPROM has a limit of 100,000 write cycles?

3. So, what about reading the contents of the EEPROM? Does it have the same limit?

4. And what is the starting location (address) of the EEPROM? (For Arduino Uno & Mega)

EDIT:1

1. Suppose I store the HIGH value of LED in one location and the LOW value of LED in another one. Then now read the value from that locations. Now how many times I can read this value? So what about write cycle? It just uses for only one time maybe?

Any better option for storing data permanently?

(1) How many locations are there in EEPROM? (For ARDUINO UNO & MEGA)

Read the datasheet for the chip on the board. It tells you how many bytes or kilobytes the chip has for EEPROM. For instance the ATMega328P on the Uno has 1024 bytes (1k).

(2) As I read out EEPROM has a limit of 100,000 write cycles per single location. That means If one location is used 100,000 times then we can use another after that? Or Overall EEPROM has a limit of 100,000 write cycle?

Each cell has at least a 100,000 write limit. Or more specifically a 100,000 erase limit (since a cell must be erased before writing).

(3) So, what about reading the content from EEPROM? Has it maybe same limit?

No, no limit - the limit as I mentioned is on erasing: you don't erase when reading.

(4) And what is starting location(address) of EEPROM? (For ARDUINO UNO & MEGA)

Zero. It's not really part of any address space, it uses special instructions and registers to get at it.