A lightweight FTP server for MicroPython on ESP8266, ESP32, and Pyboard D devices.
uftpd is a lightweight FTP server implementation for MicroPython-based embedded devices like ESP8266, ESP32, and Pyboard D. It allows developers to transfer and manage files on these devices over FTP, providing a convenient way to interact with the filesystem without physical access. The server runs in the background, supporting basic FTP operations while respecting the limitations of non-multitasking hardware.
Embedded developers and IoT hobbyists using MicroPython on ESP8266/ESP32/Pyboard D who need a simple, network-accessible file management solution.
It offers a minimal, dedicated FTP server optimized for MicroPython's constrained environments, with broad client compatibility and easy integration—either as frozen bytecode or as a loaded module.
Small FTP server for ESP8266/ESP32/PYBD on the MicroPython platform
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Runs as a background service, freeing the main thread for other tasks, as highlighted in the key features for non-blocking device operation.
Works with dedicated FTP clients, file managers, and browsers across Linux, macOS, Windows, and mobile, with extensive test results documented in the README.
Offers easy start/stop control via uftpd.start() and uftpd.stop() functions, making it straightforward to integrate and manage.
Prioritizes minimal footprint and reliability on constrained hardware like ESP8266/ESP32, as stated in the philosophy for embedded environments.
Lacks user authentication, allowing any user to log in without a password, which is a significant security risk for networked devices.
Only one session command is served at a time with busy responses for others, reducing true concurrency and causing issues with clients like Mac Finder.
On ESP8266, no foreground tasks should run while the server is active, as it can cause system crashes, limiting usability for multi-tasking applications.
Not all FTP commands are implemented and only binary mode is supported, restricting functionality compared to full-featured FTP servers.