Firmware synchronous tinyml project compilation error

For the firmware-syntiant-tinyml project, I executed the update_libraries_windows file according to the instructions of README file, and then compiled it. However, the project compilation failed.
Errors are reported as follows:

E:\Desktop\firmware-syntiant-tinyml\src\QCBOR\src\UsefulBuf.c:56:10: fatal error: UsefulBuf.h: No such file or directory
#include “UsefulBuf.h”
compilation terminated.
exit status 1

Can you tell me how to solve it?
The arduino-cli uses version 18.0, and the Arduino IDE uses version 1.8.19. I also tried the Arduino IDE of version 1.8.15, but still reported the same error. I don’t know what the problem is.

Thanks for your question. We will get back to you shortly.

Try rolling back the samd board to 1.8.9 in Arduino IDE:

I got this error when I tried to compile the project directly in the Arduino IDE. But then I found out that’s probably not the way to do it.
Did you compile the project using the “arduino-win-build.bat” script that you ran directly in the command line? More details are described here:

At least this worked for me.

Yes, you need to build with the CLI (arduino-win-build.bat).


I am facing the same issue. I ran the arduino-win-build.bat --build command on Command prompt. I made arduino-cli a PATH variable. Can you please help me figure out how to fix this issue?


Please note that Edge Impulse firmware cannot be compiled in Arduino IDE. Please follow the README instruction to complete the tasks in a shell.

There are some other threads, eg. Writing firmware from scratch using Arduino IDE, TinyML Low Power operation provide a firmware which can be compiled in Arduino IDE.