PlatformIO Build sfud.h: No such file or directory

Hi I have seen some stuff about this issue on the web and tried the solutions recommended:

Rename the #import <sfud.h> to <SFUD.h>. This did not work.

I have an existing Arduino project that Builds and Uploads to my WIO terminal in the Arduino IDE.

The following is the include section.

#include <Seeed_FS.h>
#include <cstdint>
#include "AtWiFi.h"
#include "DateTime.h"
#include "Free_Fonts.h"
#include "SD/Seeed_SD.h"
#include "TFT_eSPI.h"
#include "lcd_backlight.hpp"

It is quite a big .ino file so I thought I would use PlatforIO and VSCode.
I followed the WIKI at

I Imported the project but could not get very far until I updated the platformio.ini file with the absolute path to the Arduino libraries on my pc.

lib_extra_dirs = /home/stuart/Arduino/libraries

It was then able to find the libraries Seeed_FS.h etc. However!

I am now faced with this and I am unable to find a solution.

 Compiling .pio/build/seeed_wio_terminal/lib4e0/Seeed_Arduino_FS-master/SFUD/Seeed_SFUD.cpp.o
    Archiving .pio/build/seeed_wio_terminal/lib496/libSeeed_Arduino_atWiFi-master.a
    In file included from /home/stuart/Arduino/libraries/Seeed_Arduino_FS-master/src/SFUD/Seeed_SFUD.cpp:8:0:
    /home/stuart/Arduino/libraries/Seeed_Arduino_FS-master/src/SFUD/Seeed_SFUD.h:18:10: fatal error: sfud.h: No such file or directory

    * Looking for sfud.h dependency? Check our library registry!
    * CLI  > platformio lib search "header:sfud.h"
    * Web  >

     #include <sfud.h>
    compilation terminated.

I know this has been covered. I found some info here:
But it did not help.

Can any one assist please?


1 Like

Hi @stuartdd

Our Seeed_Arduino_FS also depends on this library:

Can you check if you have installed this library?

Also in platformIO the library dependency sometime can find each other so you may need to do the settings in ini files, you may check mine setup for reference:

lib_ldf_mode = deep is needed for some libraries

; PlatformIO Project Configuration File
;   Build options: build flags, source filter
;   Upload options: custom upload port, speed and extra flags
;   Library options: dependencies, extra library storages
;   Advanced options: extra scripting
; Please visit documentation for the other options and examples

platform = atmelsam
board = seeed_wio_terminal
framework = arduino
platform_packages = framework-arduino-samd-seeed@
lib_extra_dirs = /Users/ansonhe/Documents/Arduino/libraries
lib_ldf_mode = deep
1 Like


Thanks for your response, as usual it is always helpful and informative.

I copied your config, updated the path to my Arduino libraries and it is now working and uploading :slight_smile:

I had already checked the existence of the library and it was building in the Arduino IDE.

I think it was the lib_ldf_mode = deep that fixed it.

It did a lot of downloading when it first built. I assume that was the platform_packages which was not in my original config.

Once again, thanks.