This is the documentation for the latest (main) development branch of Zephyr. If you are looking for the documentation of previous releases, use the drop-down menu on the left and select the desired version.

FAT Filesystem Sample Application


This sample app demonstrates use of the filesystem API and uses the FAT file system driver with SDHC card, SoC flash or external flash chip.

To access device the sample uses Disk Access.

Requirements for SD card support

This project requires SD card support and microSD card formatted with FAT filesystem. See the Disk Access documentation for Zephyr implementation details. Boards that by default use SD card for storage: arduino_mkrzero, esp_wrover_kit, mimxrt1050_evk, nrf52840_blip and olimexino_stm32. The sample should be able to run with any other board that has “zephyr,sdmmc-disk” DT node enabled.

Requirements for setting up FAT FS on SoC flash

For the FAT FS to work with internal flash, the device needs to support erase pages of size <= 4096 bytes and have at least 64kiB of flash available for FAT FS partition alone. Currently the following boards are supported: nrf52840dk_nrf52840

Requirements for setting up FAT FS on external flash

This type of configuration requires external flash device to be available on DK board. Currently following boards support the configuration: nrf52840dk_nrf52840 by nrf52840dk_nrf52840_qspi configuration.

Building and Running

Boards with default configurations, for example arduino_mkrzero or nrf52840dk_nrf52840 using internal flash can be build using command:

west build -b nrf52840_blip samples/subsys/fs/fat_fs

Where used example board nrf52840_blip should be replaced with desired board.

In case when some more specific configuration is to be used for a given board, for example nrf52840dk_nrf52840 with MX25 device over QSPI, configuration and DTS overlays need to be also selected. The command would look like this:

west build -b nrf52840dk_nrf52840 samples/subsys/fs/fat_fs -- -DEXTRA_CONF_FILE=nrf52840dk_nrf52840_qspi.conf -DDTC_OVERLAY_FILE=nrf52840dk_nrf52840_qspi.overlay

In case when board with SD card is used FAT microSD card should be present in the microSD slot. If there are any files or directories present in the card, the sample lists them out on the debug serial output.


In case when mount fails the device may get re-formatted to FAT FS. To disable this behaviour disable CONFIG_FS_FATFS_MOUNT_MKFS .