{"id":22886517,"url":"https://github.com/init-io/doeep","last_synced_at":"2025-06-10T14:12:08.127Z","repository":{"id":263239646,"uuid":"889766808","full_name":"Init-io/DoEEP","owner":"Init-io","description":"A simple EEPROM library for reading, writing, and managing key-value pairs.","archived":false,"fork":false,"pushed_at":"2025-02-04T18:07:44.000Z","size":47,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-04T18:40:37.474Z","etag":null,"topics":["ard","eeprom","eeprom-library","eeprom-programmer","eeprom-reader","esp32","esp8266","nodemcu","nodemcu-esp8266"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Init-io.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-17T07:07:17.000Z","updated_at":"2025-02-04T18:07:48.000Z","dependencies_parsed_at":"2024-11-19T08:38:21.558Z","dependency_job_id":"67f74219-114b-4f4e-a98e-24aade5dea26","html_url":"https://github.com/Init-io/DoEEP","commit_stats":null,"previous_names":["init-io/ebase","init-io/doeep"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Init-io%2FDoEEP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Init-io%2FDoEEP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Init-io%2FDoEEP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Init-io%2FDoEEP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Init-io","download_url":"https://codeload.github.com/Init-io/DoEEP/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246523045,"owners_count":20791431,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ard","eeprom","eeprom-library","eeprom-programmer","eeprom-reader","esp32","esp8266","nodemcu","nodemcu-esp8266"],"created_at":"2024-12-13T20:19:03.373Z","updated_at":"2025-03-31T18:45:06.547Z","avatar_url":"https://github.com/Init-io.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# EEPROM Manager Library DoEEP\n[![Arduino Library](https://img.shields.io/badge/Arduino-Library-blue.svg)](https://docs.arduino.cc/libraries/doeep/?_gl=1*1n8024i*_up*MQ..*_ga*OTc3MDE5NDYxLjE3Mzg2OTIzNDg.*_ga_NEXN8H46L5*MTczODY5MjM0Ni4xLjEuMTczODY5MjM1My4wLjAuNDU4ODMyODky)\n![GitHub Release](https://img.shields.io/github/v/release/init-io/DoEEP?label=release)\n[![License](https://img.shields.io/github/license/init-io/DoEEP)](LICENSE)\n\nThis Arduino library provides a simple interface to manage key-value pairs stored in EEPROM memory. It allows you to store, retrieve, update, and delete data from the EEPROM in a structured and efficient manner.\n\n## Features  \n- **Key-Value Storage**: Store and retrieve data using unique keys.  \n- **EEPROM Management**: Flash (clear) EEPROM with a single command.  \n- **Easy-to-Use API**: Simple methods to write, read, and manage data.  \n- **Memory Efficiency**: Automatically finds the next available space for new keys and values.  \n\n## Installation  \n\n### Using Arduino IDE  \n1. Download the ZIP file of this library.  \n2. Open Arduino IDE.  \n3. Go to **Sketch \u003e Include Library \u003e Add .ZIP Library...**.  \n4. Select the downloaded ZIP file.  \n\n### Manual Installation  \n1. Clone or download this repository.  \n2. Place the `DoEEP` folder into the `libraries` folder in your Arduino directory:  \n   ```\n   Documents/Arduino/libraries/\n   ```\n\n## Usage  \n\n### Initialize the Library  \nInclude the library and initialize it with the desired EEPROM size (in bytes).  \n\n```cpp\n#include \u003cDoEEP.h\u003e\n\n// Initialize the library with 512 bytes of EEPROM\nDoEEP eeprom(512);\n```\n\n---\n\n### Writing Data to EEPROM  \nStore data by providing a key and a value.  \n\n```cpp\neeprom.write(\"email\", \"user@example.com\");\neeprom.write(\"wifi_password\", \"WiFiPass123\");\n```\n\n---\n\n### Reading Data from EEPROM  \nRetrieve data by providing the key.  \n\n```cpp\nString email = eeprom.read(\"email\");\nString wifiPassword = eeprom.read(\"wifi_password\");\n\nSerial.println(\"Email: \" + email);\nSerial.println(\"WiFi Password: \" + wifiPassword);\n```\n\n---\n\n### Flash (Clear) EEPROM  \nErase all data from EEPROM.  \n```cpp\neeprom.flash();\n```\n\n---\n\n## Examples  \n\n### Basic Example  \n```cpp\n#include \u003cDoEEP.h\u003e\n\n// Initialize EEPROM with a size of 512 bytes\nDoEEP eeprom(512);\n\nvoid setup() {\n  Serial.begin(9600);\n\n  // Write data to EEPROM\n  eeprom.write(\"ssid\", \"MyWiFiNetwork\");\n  eeprom.write(\"password\", \"SecurePassword123\");\n\n  // Read data from EEPROM\n  String ssid = eeprom.read(\"ssid\");\n  String password = eeprom.read(\"password\");\n\n  // Print data to the Serial Monitor\n  Serial.println(\"SSID: \" + ssid);\n  Serial.println(\"Password: \" + password);\n}\n\nvoid loop() {\n  // Add continuous logic here if needed\n}\n```\n\nMore examples can be found in the `examples/` folder.  \n\n## API Reference  \n\n### `DoEEP(size_t size)`  \n- **Description**: Initializes the library with a specified EEPROM size.  \n- **Parameters**:  \n  - `size`: Size of EEPROM in bytes.  \n\n### `void write(String key, String value)`  \n- **Description**: Stores or updates a key-value pair in EEPROM.  \n- **Parameters**:  \n  - `key`: The unique key to identify the data.  \n  - `value`: The value to be stored.  \n\n### `String read(String key)`  \n- **Description**: Retrieves the value associated with a key.  \n- **Parameters**:  \n  - `key`: The unique key to identify the data.  \n- **Returns**: The value associated with the key.  \n\n### `void flash()`  \n- **Description**: Clears all data from the EEPROM.  \n\n## Contributing  \n\nContributions are welcome! If you have suggestions or improvements, feel free to submit a pull request.  \n\n## License  \n\nThis library is licensed under the MIT License. See the `LICENSE` file for more details.  \n\n## Support  \n\nIf you encounter any issues or have questions, feel free to create an issue in the [GitHub repository](https://github.com/init-io/DoEEP).  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finit-io%2Fdoeep","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finit-io%2Fdoeep","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finit-io%2Fdoeep/lists"}