Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/wollewald/eeprom_spi_we
Arduino library for SPI based EEPROMs
https://github.com/wollewald/eeprom_spi_we
25aa256 25aa512 25aa640 25aa640a 25lc256 25lc512 25lc64 arduino arduino-library eeprom pagewrite spi
Last synced: about 2 months ago
JSON representation
Arduino library for SPI based EEPROMs
- Host: GitHub
- URL: https://github.com/wollewald/eeprom_spi_we
- Owner: wollewald
- License: mit
- Created: 2022-03-18T10:59:15.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-06-09T05:56:57.000Z (7 months ago)
- Last Synced: 2024-06-09T06:40:46.241Z (7 months ago)
- Topics: 25aa256, 25aa512, 25aa640, 25aa640a, 25lc256, 25lc512, 25lc64, arduino, arduino-library, eeprom, pagewrite, spi
- Language: C++
- Homepage: https://wolles-elektronikkiste.de/en/eeprom-part-3-external-spi-eeproms
- Size: 347 KB
- Stars: 7
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EEPROM_SPI_WE
Arduino library for SPI based EEPROMsWith this library you can write data to and read data from SPI based EEPROMs of the 25 series, including small EEPROMs like the 25LC0x0A or ST950x0 with x = 1,2,4,8. Although it uses page writing, you don't have to worry about the page limits. You can directly write bytes, integers, floats and arrays. Furthermore, I have implemented functions to read and write strings. I have adopted the method of handling different variable types for put() and get() from Sparkfun's great library SparkFun_External_EEPROM_Arduino_Library for I2C EEPROMs.
I have implemented the protection options for the storage and and the status register.
The functions for erasing pages or sectors only work with the larger EEPROMs. Check the data sheet if you are not sure.
I have tested several EEPROMs (25LC512, 25A512, 25LC640, 25LC040A) using various MCU boards, such as the ESP32 development board, WEMOS D1 mini (ESP8266) and the Arduino Nano.
The library can now also deal with EEPROMs that use 24 bit addressing such as the 25CSM04. You need to set the memory size before accessing the EEPROM using the method `setMemorySize`. Note that this particular EEPROM25CSM04 does not support erase operations.
Here you find the detailed documentation:
https://wolles-elektronikkiste.de/en/eeprom-part-3-external-spi-eeproms (English)
https://wolles-elektronikkiste.de/eeprom-teil-3-externe-spi-eeproms (German)