M3S-TFAT-Tiny (TFAT) is a FAT file system that only requires a small amount of memory. TFAT supports FAT16 and FAT32. This is based on open source FatFs open_in_new. In addition, this is also Firmware Integration Technology (FIT) and can be combined with other FIT modules.

Renesas has various MCUs, including the RX Family, that are suitable for use in applications such as single-function home appliances and compact industrial equipment, where the incorporation of more sophisticated functionality or the newest technology, with a negligible increase in cost, is desired. To support such development activities, Renesas offers software libraries with only the essential features for application, at low cost.

Use TFAT in any device incorporating a target microcontroller for functions such as accumulating measured or archived data, or rewriting a stored program via memory card. Although TFAT is a FAT file system, and PC data exchange capability enable analysis and management of data by a PC application.

TFAT supports various types of memory devices: SD memory card, USB memory, eMMC, and Serial Flash memory. The supplied sample programs include sample software for reading/writing files to SD Memory card and USB Flash drive on the CPU board which comes with the Renesas Starter Kit.


TFAT V.4.02 (FatFs R0.13c) for RX family allows to the format feature for SD memory card and USB memory in addition to eMMC and Serial Flash memory.

Learn More (Application Note: Open Source FAT File System M3S-TFAT-Tiny Module Firmware Integration Technology Rev.4.02 (PDF | English, 日本語))


  • File system software
  • Sample program that supports Renesas integrated development environment.
  • API function user's manual and other documents in a complete set
Modular Composition

Modular Composition

RX Family Open Source FAT File System M3S-TFAT-Tiny Module Firmware Integration Technology
TFAT driver FIT:
M3S-TFAT-Tiny Memory Driver Interface Module Firmware Integration Technology


  • Compact design tailored for embedded systems
    Realizable using the internal memory of the microcontroller
    Approx. 8.9KB ROM and approx. 900B RAM (for the RX Family)
  • Supported CC-RX, IAR and GCC compilers
  • Supported both of non RTOS and RTOS (FreeRTOS and RI600V4)

Release Information

Target Device Software Name Version/Release Date Status
RX Family M3S-TFAT-Tiny for the RX Family Latest Version: V.4.02
Released: Feb. 15, 2021
Download: Open Source FAT File System M3S-TFAT-Tiny Module Firmware Integration Technology Rev.4.02 - Sample Code (ZIP)

Upgrade Details: Open Source FAT File System M3S-TFAT-Tiny Module Firmware Integration Technology Rev.4.02 (PDF | English, 日本語)
Operating Environment
Related Application Notes

Target Devices

Design & Development

Additional Details


Function Name Description
f_mount Mounts a volume
f_open Opens a file
f_close Closes a file
f_read Reads from a file
f_write Writes to a file
f_lseek Moves the read/write pointer
f_truncate Truncates a file
f_sync Flushes the cache
f_opendir Opens a directory
f_readdir Reads a directory
f_getfree Gets free area
f_stat Gets file status
f_mkdir Makes a directory
f_unlink Deletes a file or a directory
f_rename Renames or moves a file or a directory
f_tell Get current read/write pointer
f_eof Test for end-of-file
f_size Get file size
f_error Test for an error
f_mkfs Format a volume as FAT file system
disk_initialize Initializes a drive Note
disk_read Reads from a drive Note
disk_write Writes to a drive Note
disk_ioctl Controls drive I/O Note
disk_status Gets drive status Note
get_fattime Gets date and time Note

Note: The TFAT module is not designed for use with a specific piece of hardware and therefore does not include these functions (drivers). In fact, the M3S-TFAT-Tiny memory driver interface module Firmware Integration Technology (TFAT driver FIT) includes these functions.

Operating Environment

Target Device RX Family
Applicable Compiler
Occupied ROM Size Approx. 8.9KB
Occupied RAM Size Approx. 0.9KB *including the stack


Examples of application field:

  • Data preservation and data logging in various types of equipment
    • Preservation of number of revolutions, temperature and other data in industrial equipment
    • Preservation of a history of operations and settings alteration for remote equipment failure diagnostic
  • Preservation of personal information in health equipment and similar other equipment used individually
    • Preservation of heart rate and blood pressure data in health equipment
    • Preservation of physical exercise data in training equipment
  • Updating of programs and data in various types of equipment
    • Flash memory rewriting with programs or data stored in a memory card in places where equipment is installed