{"id":15647764,"url":"https://github.com/tobozo/esp32-psramfs","last_synced_at":"2026-02-15T23:07:55.629Z","repository":{"id":46858636,"uuid":"362971255","full_name":"tobozo/ESP32-PsRamFS","owner":"tobozo","description":"🐏 💾 RamDisk for ESP32-Arduino using PsRam and fs::FS","archived":false,"fork":false,"pushed_at":"2025-10-07T12:21:35.000Z","size":209,"stargazers_count":55,"open_issues_count":7,"forks_count":14,"subscribers_count":8,"default_branch":"main","last_synced_at":"2025-10-07T12:25:23.928Z","etag":null,"topics":["arduino","esp32","filesystem","hacktoberfest","psram","ramdisk","vfs"],"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/tobozo.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":"https://www.paypal.me/tobozo"}},"created_at":"2021-04-29T23:18:27.000Z","updated_at":"2025-10-07T12:21:38.000Z","dependencies_parsed_at":"2025-10-07T12:13:55.175Z","dependency_job_id":"2f6f0792-abce-4ef0-958c-9660c3b45498","html_url":"https://github.com/tobozo/ESP32-PsRamFS","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/tobozo/ESP32-PsRamFS","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobozo%2FESP32-PsRamFS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobozo%2FESP32-PsRamFS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobozo%2FESP32-PsRamFS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobozo%2FESP32-PsRamFS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tobozo","download_url":"https://codeload.github.com/tobozo/ESP32-PsRamFS/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobozo%2FESP32-PsRamFS/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29491999,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T19:29:10.908Z","status":"ssl_error","status_checked_at":"2026-02-15T19:29:10.419Z","response_time":118,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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","esp32","filesystem","hacktoberfest","psram","ramdisk","vfs"],"created_at":"2024-10-03T12:20:59.075Z","updated_at":"2026-02-15T23:07:55.615Z","avatar_url":"https://github.com/tobozo.png","language":"C","funding_links":["https://www.paypal.me/tobozo"],"categories":[],"sub_categories":[],"readme":"# ESP32-PsRamFS\n\n[![arduino-library-badge](https://www.ardu-badge.com/badge/ESP32-PSRamFS.svg?)](https://www.ardu-badge.com/ESP32-PSRamFS)\n[![PlatformIO Registry](https://badges.registry.platformio.org/packages/tobozo/library/ESP32-PSRamFS.svg)](https://registry.platformio.org/packages/libraries/tobozo/ESP32-PSRamFS)\n\n\n![](extras/logo.jpeg)\n\n\n\n\nCoding Horror\n-------------\n\nESP32-PsRamFS id a pseudo RamDisk library for Arduino-ESP32, with vfs compliance.\n\nIt provides a `fs::FS` style filesystem using the psram of an ESP32-Wrover or any ESP32 equipped with PSRam.\n\nSome unit tests are available in the example folder, consider setting the debug output level\nto DEBUG to see what's happening.\n\nDirectory support is still partial but the API is now vfs compliant.\n\nUsage\n-----\n\nOnly use this if your situation *requires* a filesystem, otherwise consider dropping the\nfilesystem and use Streams instead with the excellent [arduino-BufferStream](https://github.com/IndustrialShields/arduino-BufferStream) library.\n\n\n```C\n\n#include \u003cPSRamFS.h\u003e\n\n\nvoid setup()\n{\n\n  Serial.begin(115200);\n\n  PSRamFS.setPartitionSize( ESP.getFreePsram()/2 ); // use half of psram\n\n  if(!PSRamFS.begin()){\n    Serial.println(\"PSRamFS Mount Failed\");\n    return;\n  }\n\n}\n\n\n```\n\n\nHardware Requirements:\n---------------------\n\n- ESP32 with PSRam\n\nActually PSRam is optional, but strongly recommended.\n\nFor very low memory situations that still require some abstraction to access file data,\n\n\n\nTested on:\n----------\n\n- ESP32-Wroom\n- ESP32-Wrover\n- ESP32-S2\n- ESP32-S3\n- ESP32-C3\n\n\n\nKnown issues:\n------------\n\n- Broken support for `file::position()`\n- Unimplemented `fs::open(dirname);` (fake support)\n- Partial support for `file::isDirectory();`\n- No support for `dir::openNextFile()`\n\n\n\nCredits/thanks:\n--------\n\n- [lbernstone](https://github.com/lbernstone) special thanks for assisting me in this experience\n- [espressif](https://github.com/espressif)\n- [Ivan Grokhotkov](https://github.com/igrr)\n- [Bill Greiman](https://github.com/greiman/RamDisk)\n- [lorolol](https://github.com/lorol)\n- [sharandac](https://github.com/sharandac)\n- [Rob58329](https://github.com/Rob58329)\n- [whiteaxxe](https://github.com/whiteaxxe)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftobozo%2Fesp32-psramfs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftobozo%2Fesp32-psramfs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftobozo%2Fesp32-psramfs/lists"}