Select your cookie preferences

We use essential cookies and similar tools that are necessary to provide our site and services. We use performance cookies to collect anonymous statistics, so we can understand how customers use our site and make improvements. Essential cookies cannot be deactivated, but you can choose “Customize” or “Decline” to decline performance cookies.

If you agree, AWS and approved third parties will also use cookies to provide useful site features, remember your preferences, and display relevant content, including relevant advertising. To accept or decline all non-essential cookies, choose “Accept” or “Decline.” To make more detailed choices, choose “Customize.”

Updated Jun 2025

FreeRTOS-Plus-FAT

DOS Compatible Embedded FAT File System

NOTE: FreeRTOS-Plus-FAT is a FreeRTOS Labs project. It is fully functional, and quite mature, but as an originally acquired (rather than authored) product it does not necessarily meet our production code or testing standards. It is available from the Lab-Project-FreeRTOS-FATexternal_link repository on GitHub.

FreeRTOS-Plus-FAT is an open source, thread aware and scalable FAT12/FAT16/FAT32 DOS/Windows compatible embedded FAT file system which was recently acquired by Real Time Engineers ltd. for use with and without the RTOS.

FreeRTOS-Plus-FAT is already used in commercial products, and is the file system used in the FTP and HTTP server examples that are documented on the FreeRTOS-Plus-TCP pages.

The standard C library style API includes a thread local errno value, and the lower level native API provides a rich set of detailed error codes.

We are currently working hard on improving the embedded file system's documentation, adding additional scalability options, and updating the source code to ensure it conforms with our strict coding standards. We encourage you to download FreeRTOS-Plus-FAT to try the embedded FAT file system for yourself while we continue this work.

Why use FreeRTOS-Plus-FAT

  • Fully thread aware
  • Scalable
  • Optional long file name support
  • Optional directory name hashing for speed
  • FAT12, FAT16 and FAT32 support
  • Task specific working directories
  • Task specific errno support
  • Additional comprehensive error reporting
  • Standard and comprehensive API
  • Supported technology