littlefs

A little fail-safe filesystem designed for embedded systems

Features

  • Bounded RAM/ROM - The littlefs is designed to work with a limited amount of memory. Recursion is avoided and dynamic memory is limited to configurable buffers that can be provided statically.
  • Power-loss resilient - The littlefs is designed for systems that may have random power failures. The littlefs has strong copy-on-write guaruntees and storage on disk is always kept in a valid state.
  • Wear leveling - Since the most common form of embedded storage is erodible flash memories, littlefs provides a form of dynamic wear leveling for systems that can not fit a full flash translation layer.

Resource

  • esp_littlefs. LittleFS port for ESP-IDF.
  • SimpleFTPServer. A simple FTP server for Arduino, ArduinoSAMD WiFiNINA, esp8266, esp32, stm32 and Raspberry Pi Pico W.
  • PineTime-apps. Firmware for the PineTime based on RIOT, NimBLE and LittleVGL.
  • LittleFS-Explorer-for-Windows. LittleFS Explorer for Windows.
  • esp-fs-webserver. ESP32/ESP8266 webserver, WiFi manager and web editor Arduino library.
  • ESPxWebFlMgr. Manage your ESP8266/ESP32 SPIFFS/LittleFS files with a simple web based interface.
  • ESP_DoubleResetDetector. ESP_DoubleResetDetector is a library for the ESP32/ESP8266 Arduino platform to enable trigger configure mode by resetting twice..
  • littlefs2. Idiomatic Rust API for littlefs.
  • littlefs-python. Python wrapper for littlefs.
  • LittleDB. Little Sql like Database for ESP32 boards.
  • watch. lunokWatch (lilygo twatch2020 series).
  • tinyfs. Embedded filesystems for TinyGo. Currently supports FATfs and LittleFS on microcontrollers with either SDCard or Flash RAM..
  • OFMon. Offline-first smart energy monitoring platform using Rust, ESP32, Thingsboard, and a fork of Thingsboard Mobile flutter app..
  • RTCMemory. An intuitive library to simplify read and write operations on RTC memory of ESP8266 and its backup on flash memory..
  • Blynk_Async_WM. Simple WiFiManager for Blynk and ESP8266/ESP32 (including ESP32-S2, ESP32-C3) with or without SSL, configuration data saved in either LittleFS, SPIFFS or EEPROM. This library, using AsyncWebServer instead of (ESP8266)WebServer, for configuring/auto(re)connecting ESP8266/ESP32 modules to best or available MultiWiFi APs and MultiBlynk servers at runtime. Enable adding dynamic custom parameters from sketch and input using the same Config Portal. Config Portal will be auto-adjusted to match the number of dynamic parameters. Optional default Credentials to be autoloaded into Config Portal to use or change instead of manually input. Static STA IP and DHCP Hostname as well as Config Portal AP channel, IP, SSID, Password can be configured. Multi or Double DetectDetector feature permits entering Config Portal as requested..
  • AsyncWebServer_RP2040W. Asynchronous WebServer Library for RASPBERRY_PI_PICO_W using CYW43439 WiFi with arduino-pico core. This library, which is relied on AsyncTCP_RP2040W, is part of a series of advanced Async libraries for RP2040W, such as AsyncTCP_RP2040W, AsyncUDP_RP2040W, AsyncWebServer_RP2040W, AsyncHTTPRequest_RP2040W, AsyncHTTPSRequest_RP2040W, etc. Now can display programmed WiFi country-code and support using CString to save heap to send very large data.
  • littlefs-disk-img-viewer. Memory-efficient web application for viewing littlefs disk images in a web browser..
  • ESP8266-MyWidget-Demo. This project can be used as a framework, learning tool or as a template for starting a new ESP8266 project. It contains many many UI and API components to build a ESP8266 project. This project includes: ESP8266 Development, mDNS - multicast DNS (mywidget.local), Asynchronous Web Server (ESPAsyncWebServer), Asynchronous Web Services (ESPAsyncWebServer), Asynchronous MQTT (PangolinMQTT), LittleFS File System, Embedded Bootstrap (3.4.1), Embedded jquery (3.5.1), Save/Load Config File (text), OTA (Over the Air) Updates, HTTP API Supports HTTP GET/POST, Auto Updating Web Site (Web Services using JS), Interrupt Timer (Flash Onboard LED), Plus much more….
  • ULP_Temp_logger. An Ultra Low Power temperature logger based on the ESP8266 MCU..
  • Timezone_Generic. Library to facilitate time zone conversions and automatic daylight saving (summer) time adjustments. For ESP8266, ESP32, WT32-ETH01 (ESP32 + LAN8720), SAMD21, SAMD51, nRF52, STM32F/L/H/G/WB/MP1, Teensy, SAM DUE, RTL8720DN, RP2040-based (Nano_RP2040_Connect, RASPBERRY_PI_PICO), Portenta_H7 (Ethernet or WiFi) boards, etc. using W5x00/ENC28J60/LAN8742A Ethernet, ESP or ESP-AT WiFi or WiFiNINA. Ethernet_Generic library is used as default for W5x00..
  • LittleFS_Mbed_RP2040. Wrapper of LittleFS for Arduino MBED RP2040 boards. This library facilitates your usage of LittleFS for the onboard flash. LittleFS supports power fail safety and high performance.
  • DS323x_Generic. Library for DS3231/DS3232 Extremely Accurate I2C-Integrated RTC/TCXO/Crystal. For nRF52, SAMD21/SAMD51, STM32F/L/H/G/WB/MP1, Teensy, Portenta_H7 boards, RP2040-based, etc. besides ESP8266/ESP32, using ESP WiFi, Portenta_H7 WiFi, WiFiNINA, Portenta_H7 Ethernet, Ethernet W5x00, ENC28J60, LAN8742A, ESP8266/ESP32 AT-command WiFi. Ethernet_Generic library is used as default for W5x00 Ethernet.
  • FS_Nano33BLE. Wrapper of FS (LittleFS or not-advisable FATFS) for Arduino MBED nRF52840-based boards, such as Nano_33_BLE boards. This library facilitates your usage of FS (LittleFS or FATFS) for the onboard flash. FS supports power fail safety and high performance.
  • ESP_MultiResetDetector. Library to detect a multi reset within a predetermined time, using RTC Memory, EEPROM, LittleFS or SPIFFS for ESP8266 and ESP32, ESP32_C3, ESP32_S2, ESP32_S3. An alternative start-up mode can be used. One example use is to allow re-configuration of device WiFi credentials.
  • Blynk_Async_GSM_Manager. Library, now using AsyncWebServer instead of (ESP8266)WebServer, for enabling GSM/GPRS and WiFi running simultaneously as well as configuring/auto(re)connecting at runtime GSM shields to Internet and Blynk and ESP8266/ESP32 WiFi modules to best or available MultiWiFi APs and MultiBlynk servers. Enable adding dynamic custom parameters from sketch and input using the same Config Portal. Config Portal will be auto-adjusted to match the number of dynamic parameters. Optional default Credentials to be autoloaded into Config Portal to use or change instead of manually input. Static STA IP and DHCP Hostname as well as Config Portal AP channel, IP, SSID, Password can be configured. DoubleDetectDetector feature permits entering Config Portal as requested..
  • SnowRadio. Internet radio with or without gesture control , touchscreen, neo pixels and open weather map data. .
  • FTP_Server_Teensy41. FTP Server for Teensy 4.x using SD, LittleFS, etc. with QNEthernet, NativeEthernet, W5x00 with Ethernet_Generic Library or Adafruit Airlift Featherwing using WiFiNINA_Generic Library.
  • WiFiManager_RP2040W. MultiWiFi/Credentials Manager for RP2040W boards using built-in CYW43439 WiFi. Powerful-yet-simple-to-use feature to enable adding dynamic custom parameters. Library to configure MultiWiFi/Credentials at runtime for RP2040W boards, using CYW43439 WiFi. You can also specify DHCP HostName and STA IP. Use much less memory compared to full-fledge WiFiManager. Config Portal will be auto-adjusted to match the number of dynamic custom parameters. Optional default Credentials to be autoloaded into Config Portal to use or change instead of manually input. Credentials are saved in LittleFS. New powerful-yet-simple-to-use feature to enable adding dynamic custom parameters from sketch and input using the same Config Portal. DoubleDetectDetector as well as Virtual Switches feature permits entering Config Portal as requested. Now using WiFiMulti_Generic library.
  • LittleFS_Portenta_H7. Wrapper of LittleFS for Arduino MBED Portenta_H7 boards. This library facilitates your usage of LittleFS for the onboard flash. LittleFS supports power fail safety and high performance.
  • Blynk_WiFiNINA_WM. Simple WiFiNINA Manager for Blynk and AVR, UNO WiFi Rev2, SAMD, SAM DUE, STM32, Teensy, RP2040-based boards, with or without SSL, configuration data saved in EEPROM, FlashStorage_SAMD,FlashStorage_STM32 or LittleFS. .
  • timekeeper. This project is about an electronic timekeeper with esp8266. It uses LITTLEFS to store the time and time is updated via a webserver .
  • Blynk_Esp8266AT_WM. Simple WiFiManager for Blynk with MultiWiFi Credentials, for Mega, SAM DUE, SAMD21, SAMD51, nRF52, STM32, RP2040-based, etc. boards running ESP8266 AT shields. Configuration data saved in EEPROM, SAMD EEPROM-emulated FlashStorage, SAM-DUE DueFlashStorage or nRF52/RP2040 LittleFS.
  • MultiResetDetector_Generic. Library to detect a multi reset, using EEPROM, DueFlashStorage, FlashStorage_SAMD, FlashStorage_STM32 or LittleFS/InternalFS. For AVR, Teensy, SAM DUE, SAMD21, SAMD51, STM32F/L/H/G/WB/MP1, nRF52, RP2040-based (Nano_RP2040_Connect, RASPBERRY_PI_PICO), Portenta_H7, etc. boards. Now using efficient FlashStorage_STM32 library and supporting new STM32 core v2.0.0 as well as v1.9.0.
  • WiFiManager_RP2040W_Lite. Light-Weight MultiWiFi/Credentials Manager for RP2040W boards using built-in CYW43439 WiFi. Powerful-yet-simple-to-use feature to enable adding dynamic custom parameters. Library to configure MultiWiFi/Credentials at runtime for RP2040W boards, using CYW43439 WiFi. You can also specify DHCP HostName and STA IP. Use much less memory compared to full-fledge WiFiManager. Config Portal will be auto-adjusted to match the number of dynamic custom parameters. Optional default Credentials to be autoloaded into Config Portal to use or change instead of manually input. Credentials are saved in LittleFS. New powerful-yet-simple-to-use feature to enable adding dynamic custom parameters from sketch and input using the same Config Portal. DoubleDetectDetector as well as Virtual Switches feature permits entering Config Portal as requested. Now using WiFiMulti_Generic library.
  • Arduino-LittleFS-SpiMemory-Wrapper. A simple LittleFS wrapper and example implementation using the SpiMemory library. .
  • Moonlight_8266. ESP8266 WebSocket server to control a single RGB . With a moon themed web interface for use with a 3-D printed Moon lamp..
  • DevFsUploadESP. ESP32 ESP8266 file-system upload development aid with SPIFFS or LittleFS file-system.
  • DoubleResetDetector_Generic. Library to detect a double reset, using EEPROM, DueFlashStorage, FlashStorage_SAMD, FlashStorage_STM32 or LittleFS/InternalFS for AVR, Teensy, SAM DUE, SAMD21, SAMD51, STM32F/L/H/G/WB/MP1, nRF52, RP2040-based (Nano_RP2040_Connect, RASPBERRY_PI_PICO), Portenta_H7, etc. boards. Now using efficient FlashStorage_STM32 library and supporting new STM32 core v2.0.0 as well as v1.9.0.
  • mklfs. A tool for make a LFS file system image.
  • embedded-fs. embedded-fs wrappers a generic FAT/exFAT filesystem (like FatFs and little-fs) for embedded systems.
  • ESP32_BitlashTBP. ESP32 project with QEspNow & Bitlash & TinyBasicPlus.
  • PIC32MZW1_LittleFS_over_FTP. FTP server implementation using littlefs filesystem with Wi-Fi link for WFI32-IoT board.
  • 107-Arduino-littlefs. Arduino library providing a modern C++ wrapper around littlefs..
  • ArduinoJson_LittleFS_parse_json. Code blocks that use ArduinoJson and LittleFS to parse JSON objects saved as a .txt file.
  • littlefs-ringbuffer. Circular buffers backed by littlefs files, for resource-constrained devices.
  • filesystem-uploader. Arduino IDE extension for creating filesystem images and uploading them to the board.
  • ESPChat. Simple Wifi chat on ESP32 controller.
  • james_rocket_controller. Control firmware for a rocket project built with Raspberry Pi Pico. Turn a servo when an accelerometer enters a free fall, use button for activation/restart, provide visual and audible feedback and log + retrieve/parse data in flash memory..
  • esp8266-reactjs-web-page. Webpage built in ReactJS for a countdown timer using the ESP8266 module..
  • micropython-sdcard-boot. SDCard bootloader with OTA support.
  • ESP8266-WebServer-Chat. ESP8266 LittleFS Websocket HTTP Webserver Chat.
  • ESP8266_LittleFSFileHandler. A Little Libary to create and use JSON Config(s).
  • esp8266-countdown-relay. ESP8266 module with countdown timer and page built in ReactJS to trigger fireworks..
  • MeinDataLogger. Customer defined data is added to circular buffer and then dumped to LittleFS/SPIFFS (ESP8266/ESP32) file..
  • Esp8266Starter. A basic starter system for use in Esp8266 based projects.
  • EyeSpy. ESP32-WROVER cam to catch a fleet-footed feathered friend at my bird-feeder.
  • pico-w-connection-manager-demo. Run LwIP webserver on a Pico W using a C++ Pico_w_connection_manager class and command line interface to manage connection to the AP.
  • rtox. An IoT development platform based on NUM487KM_DEVB board, incorporating FreeRTOS, LittleFS, Ethernet, lwIP, uLog, and Segger SystemView RTT for visualizing RTOS behavior..
  • ESP8266_W5100_Manager. (ESP8266 + LwIP W5100 / W5100S) Connection and Credentials Manager, with enhanced GUI and fallback Web ConfigPortal. This Library is used for configuring (ESP8266 + LwIP W5100 / W5100S) Credentials Manager at runtime. You can also specify static DNS servers, personalized HostName, static or DHCP IP.
  • AsyncESP8266_W5500_Manager. (ESP8266 + LwIP W5500) Connection and Credentials Manager using AsyncWebServer, with enhanced GUI and fallback Web ConfigPortal. This Library is used for configuring (ESP8266 + LwIP W5500) Credentials Manager at runtime. You can also specify static DNS servers, personalized HostName, static or DHCP IP. .
  • AsyncESP8266_W5100_Manager. (ESP8266 + LwIP W5100 / W5100S) Connection and Credentials Manager using AsyncWebServer, with enhanced GUI and fallback Web ConfigPortal. This Library is used for configuring (ESP8266 + LwIP W5100 / W5100S) Credentials Manager at runtime. You can also specify static DNS servers, personalized HostName, static or DHCP IP.
  • AsyncESP8266_ENC_Manager. (ESP8266 + LwIP ENC28J60) Connection and Credentials Manager using AsyncWebServer, with enhanced GUI and fallback Web ConfigPortal. This Library is used for configuring (ESP8266 + LwIP ENC28J60) Credentials Manager at runtime. You can also specify static DNS servers, personalized HostName, static or DHCP IP.
  • ESP8266_ENC_Manager. (ESP8266 + LwIP ENC28J60) Connection and Credentials Manager, with enhanced GUI and fallback Web ConfigPortal. This Library is used for configuring (ESP8266 + LwIP ENC28J60) Credentials Manager at runtime. You can also specify static DNS servers, personalized HostName, static or DHCP IP.
  • ESP8266_W5500_Manager. (ESP8266 + LwIP W5500) Connection and Credentials Manager, with enhanced GUI and fallback Web ConfigPortal. This Library is used for configuring (ESP8266 + LwIP W5500) Credentials Manager at runtime. You can also specify static DNS servers, personalized HostName, static or DHCP IP.

Website: https://github.com/geky/littlefs

Source code: https://github.com/geky/littlefs

License: Apache License