Buy the components
eeprom-string-arduino.ino
#include <EEPROM.h> String greeting = "hello"; int addr = 0; void setup() { Serial.begin(115200); Serial.println(""); Serial.println(""); Serial.print("Word to write: "); Serial.println(greeting); Serial.print("Word length to write: "); Serial.println(greeting.length()); // Write to EEPROM for (int index = 0; index < greeting.length(); index++) { EEPROM.write(addr, greeting[index]); delay(10); Serial.print("Writing "); Serial.print(greeting[index]); Serial.print(" in address "); Serial.println(addr); addr++; } EEPROM.write(addr, '\0'); EEPROM.read(addr); Serial.println(""); Serial.println("Begin reading back the array: "); int currentAddr = 0; char readChar = ""; String readGreeting = ""; while (readChar != '\0') { Serial.print("Reading "); readChar = EEPROM.read(currentAddr); delay(10); if (readChar != '\0') { readGreeting += readChar; } currentAddr++; Serial.print(readChar); Serial.print(" in address "); Serial.println(currentAddr); } Serial.print("Final string read from EEPROM: "); Serial.println(readGreeting); } void loop() {}
.PHONY: lint compile upload clean flash: lint compile upload clean lint: cpplint --extensions=ino --filter=-legal/copyright *.ino compile: arduino-cli compile --fqbn arduino:avr:uno ./ upload: arduino-cli upload -p /dev/cu.usbmodem14* --fqbn arduino:avr:uno ./ clean: rm -f .*.hex rm -f .*.elf
Serial output from the firmware.
Read and write a word in the EEPROM with a null-terminated string to detect the end of word.