EEPROM lets your Arduino save information even when it is turned off. This is useful for keeping settings or data that you want to remember later.
0
0
EEPROM for storing settings in Arduino
Introduction
You want to save user preferences like brightness or volume.
You need to keep track of scores or progress in a game.
You want to store calibration data for sensors.
You want to remember the last state of a device after power loss.
Syntax
Arduino
#include <EEPROM.h>
EEPROM.write(address, value); // Save a byte
byte val = EEPROM.read(address); // Read a byteAddress is the location in EEPROM memory (0 to 1023 on many Arduinos).
Value is a byte (0-255) to store.
Examples
This saves the number 123 at EEPROM address 0.
Arduino
#include <EEPROM.h> void setup() { EEPROM.write(0, 123); // Save 123 at address 0 } void loop() {}
This reads the saved value from address 0 and prints it.
Arduino
#include <EEPROM.h> void setup() { Serial.begin(9600); byte val = EEPROM.read(0); // Read value from address 0 Serial.println(val); // Print the saved value } void loop() {}
Sample Program
This program saves the number 42 in EEPROM at address 10, then reads it back and prints it to the Serial Monitor.
Arduino
#include <EEPROM.h> void setup() { Serial.begin(9600); // Save a setting EEPROM.write(10, 42); // Store 42 at address 10 delay(1000); // Wait a bit // Read the setting back byte setting = EEPROM.read(10); Serial.print("Stored setting: "); Serial.println(setting); } void loop() { // Nothing here }
OutputSuccess
Important Notes
EEPROM can only store bytes (0-255). For bigger data, you need to split it into bytes.
EEPROM has a limited number of writes (about 100,000), so avoid writing too often.
Always check your Arduino model's EEPROM size to avoid writing outside its range.
Summary
EEPROM stores data that stays saved even when power is off.
Use EEPROM.write() to save and EEPROM.read() to get data.
Good for saving settings, scores, or calibration data.