{"id":23773979,"url":"https://github.com/gogovega/rfidtoeeprom","last_synced_at":"2025-09-05T18:31:36.194Z","repository":{"id":38822932,"uuid":"487480950","full_name":"GogoVega/RFIDtoEEPROM","owner":"GogoVega","description":"Library to write an RFID code in the EEPROM in order to check if the code corresponds to a code already saved.","archived":false,"fork":false,"pushed_at":"2022-11-12T17:59:48.000Z","size":546,"stargazers_count":7,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-05-25T08:02:27.449Z","etag":null,"topics":["arduino","eeprom","mfrc522","platformio","rfid","rfid-rc522"],"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/GogoVega.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null}},"created_at":"2022-05-01T08:11:05.000Z","updated_at":"2023-12-19T01:43:25.000Z","dependencies_parsed_at":"2022-08-26T20:00:34.425Z","dependency_job_id":null,"html_url":"https://github.com/GogoVega/RFIDtoEEPROM","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/GogoVega/RFIDtoEEPROM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GogoVega%2FRFIDtoEEPROM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GogoVega%2FRFIDtoEEPROM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GogoVega%2FRFIDtoEEPROM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GogoVega%2FRFIDtoEEPROM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/GogoVega","download_url":"https://codeload.github.com/GogoVega/RFIDtoEEPROM/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/GogoVega%2FRFIDtoEEPROM/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273799071,"owners_count":25170308,"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","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["arduino","eeprom","mfrc522","platformio","rfid","rfid-rc522"],"created_at":"2025-01-01T05:47:21.654Z","updated_at":"2025-09-05T18:31:35.917Z","avatar_url":"https://github.com/GogoVega.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# RFID to EEPROM\n\n\u003cp align=\"left\"\u003e\n  \u003ca href=\"https://github.com/GogoVega/RFIDtoEEPROM/releases/latest\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/release/GogoVega/RFIDtoEEPROM.svg?include_prereleases\" alt=\"GitHub Release Version\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://registry.platformio.org/libraries/gogovega/RFID to EEPROM\"\u003e\n    \u003cimg src=\"https://badges.registry.platformio.org/packages/gogovega/library/RFID to EEPROM.svg\" alt=\"PlatformIO Registry\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://discord.gg/rYgzexA9u4\"\u003e\n    \u003cimg src=\"https://img.shields.io/discord/928317454516641802?color=8ed6fb\u0026label=Discord\u0026logo=discord\" alt=\"ArduiChar Discord\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nLibrary to write an RFID Code in the [EEPROM](https://docs.arduino.cc/learn/built-in-libraries/eeprom) in order to check if the Code corresponds to a Code already saved.\n\n## Usage\n\nThis library is used for saving an RFID Code to your Arduino's EEPROM or I2C EEPROM rather than your Code to avoid **showing your RFID Code**. To then check if the Code corresponds to a Code already registered.\n\n**Warning:** you must use the same number of bytes in your functions as defined in the Constructor!\n\n## How To Use\n\nGo to the Libraries Manager on [PlatformIO](https://platformio.org/platformio-ide) and search for `RFID to EEPROM`. Then you just have to install it in your project.\n\n![PlatformIO](https://raw.githubusercontent.com/GogoVega/RFIDtoEEPROM/master/docs/platformio.png)\n\nOr use `platformIO Core CLI` and paste the following command:\n\n```bash\npio pkg install --library \"gogovega/RFID to EEPROM@^1.1.0\"\n```\n\n## How It Works\n\n### Constructor\n\n- Internal EEPROM\n\n```cpp\nRFIDtoEEPROM(uint8_t byteNumber);\n```\n\n#### Set emulated EEPROM size (only needed for ESP32 and ESP8266)\n\n```cpp\nvoid begin(uint32_t eepromSize);\n```\n\n- I2C EEPROM\n\n```cpp\nRFIDtoEEPROM_I2C(eeprom_size_t eepromSize, uint8_t address, uint8_t byteNumber);\n```\n\n#### Set I2C BUS Speed\n\n```cpp\nvoid begin(twiClockFreq_t twiFreq);\n```\n\n#### Enumerations\n\nUse one of the enumerations below to set EEPROM Size:\n```cpp\n{\n  KBITS_1,\n  KBITS_2,\n  KBITS_4,\n  KBITS_8,\n  KBITS_16,\n  KBITS_32,\n  KBITS_64,\n  KBITS_128,\n  KBITS_256,\n  KBITS_512,\n  KBITS_1024,\n  KBITS_2048\n}\n```\n\nAnd use one of the enumerations below to set twiClock (Wire) Frequence:\n```cpp\n{\n  TWICLOCK100KHZ,\n  TWICLOCK400KHZ\n}\n```\n\n### Enable Debugging\n\nDebugging makes it easier to find errors in a program. To use it, add the following function below your Serial begin and then open your [Serial Monitor](https://docs.arduino.cc/software/ide-v2/tutorials/ide-v2-serial-monitor) in order to receive error messages if there are any.\n\n```cpp\nvoid beginDebug(Stream \u0026debugPort);\n```\n\n### Functions\n\nThis library contains several functions:\n\n| Name | Description |\n|---|---|\n| `CardNumber()` | Returns the number of Cards already registered. |\n| `SaveCard()` | Stores the RFID Code of a Card in the EEPROM. Returns `true` if the write succeeds. Otherwise returns `false` and restores the old Card. |\n| `CardCheck()` | Checks if the Code received corresponds to a Code already stored in the EEPROM. Returns `true` if a Card matches. |\n| `ClearCardNumber()` | Resets the number of recorded Cards to 0. |\n| `EraseAllCards()` | Resets all Cards to 0. |\n| `MaxCards()` | Returns the maximum number of recordable Cards. Currently **set to 255**. |\n\n**Note:** The EEPROM memory has a specified life of 100,000 write/erase cycles (depends on models), so you may need to be careful about how often you write to it.\n\n## Tested On\n\n- Atmel AT24C256\n- Microchip 24C65/P\n\n## Future Features\n\n- Be able to use the internal memory of the Raspberry Pi Pico.\n- Increase the number of recordable Cards (currently set to 255).\n\n## Limitations\n\n- It is not possible to use the internal memory of the Raspberry Pi Pico, you must add an external I2C EEPROM.\n- The Number of recordable Cards is fixed at 255.\n\n## Getting Started Link\n\n- [Change Log](https://github.com/GogoVega/RFIDtoEEPROM/blob/master/CHANGELOG.md): whats changed?\n\n## License\n\nMIT License\n\nCopyright (c) 2022 Gauthier Dandele\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgogovega%2Frfidtoeeprom","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgogovega%2Frfidtoeeprom","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgogovega%2Frfidtoeeprom/lists"}