Skip to content

EepromShim 1.0.0

Latest

Choose a tag to compare

@breadbakerman breadbakerman released this 21 Sep 19:33

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>() and put<T>() functions for structured data
  • Configuration Management - Advanced configuration storage with versioning and validation

Installation

  1. Download the library from the releases page
  2. Extract to your Arduino libraries directory
  3. 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!