Repository navigation
A unified EEPROM wrapper library for Arduino boards providing seamless compatibility between AVR (built-in EEPROM) and SAMD51 (QSPI Flash) platforms.
Features
- Unified EEPROM Interface - Same API works across AVR and SAMD51 platforms automatically
- Smart Backend Selection - Uses built-in EEPROM on AVR boards, QSPI flash on SAMD51 boards
- Full API Compatibility - Drop-in replacement for standard Arduino EEPROM library
- Template Functions - Type-safe
get<T>()andput<T>()functions for structured data - Configuration Management - Advanced configuration storage with versioning and validation
Installation
- Download the library from the releases page
- Extract to your Arduino libraries directory
- Include in your sketch:
#include <EepromShim.h>
Quick Start
#include <EepromShim.h>
void setup() {
Serial.begin(115200);
EepromShim::init(); // Initialize EEPROM/Flash
// Write a value
int myValue = 42;
EepromShim::put(0, myValue);
// Read it back
int readValue;
EepromShim::get(0, readValue);
Serial.println(readValue); // Prints: 42
}
void loop() {
// Your code here
}Examples Included
- BasicEeprom - Simple read/write operations demonstration
- ConfigExample - Basic configuration storage using simple data types
Access via Arduino IDE: File → Examples → EepromShim
Compatibility
- Architectures: AVR, SAMD51
- Boards: Arduino Uno, Mega, Leonardo, Adafruit Grand Central M4, Metro M4
- Optional: SD card support with SDCard library for data import/export
Documentation
Full API documentation and usage examples available in the README.
Issues & Support
Found a bug or need help? Open an issue
What's Next? Check out the examples and start storing your data reliably!