Add edge-impulse-sdk into platformio for esp32 failed

Hello, I have C++ micro speech project generated. I want to deploy it to esp32 with external microphone INMP441. I’m using platformio for my project.
Here is my platformio.ini file:

platform = espressif32
board = nodemcu-32s
framework = arduino

lib_deps =

monitor_speed = 115200
upload_port = COM[6]

And here is my project architect

| |–edge-impulse-sdk
| |–model-parameters
| |–tflite-model
|-- src

When build prject, I receive warning that edge-impulse-sdk cannot found:

Verbose mode can be enabled via -v, --verbose option
PLATFORM: Espressif 32 (3.5.0) > NodeMCU-32S
HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash
DEBUG: Current (esp-prog) External (esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)

  • framework-arduinoespressif32 3.10006.210326 (1.0.6)
  • tool-esptoolpy 1.30100.210531 (3.1.0)
  • toolchain-xtensa32 2.50200.97 (5.2.0)
    LDF: Library Dependency Finder ->
    LDF Modes: Finder ~ chain, Compatibility ~ soft
    Library Manager: Installing edge-impulse-sdk
    Warning! Could not find the package with ‘edge-impulse-sdk’ requirements for your system ‘windows_amd64’
    Found 30 compatible libraries
    Scanning dependencies…
    Dependency Graph
    Building in release mode
    Compiling .pio\build\nodemcu-32s\src\main.cpp.o
    Generating partitions .pio\build\nodemcu-32s\partitions.bin
    Compiling .pio\build\nodemcu-32s\lib2fe\tflite-model\trained_model_compiled.cpp.o
    Archiving .pio\build\nodemcu-32s\libFrameworkArduinoVariant.a
    Indexing .pio\build\nodemcu-32s\libFrameworkArduinoVariant.a
    Compiling .pio\build\nodemcu-32s\FrameworkArduino\Esp.cpp.o
    Compiling .pio\build\nodemcu-32s\FrameworkArduino\FunctionalInterrupt.cpp.o
    Compiling .pio\build\nodemcu-32s\FrameworkArduino\HardwareSerial.cpp.o
    Compiling .pio\build\nodemcu-32s\FrameworkArduino\IPAddress.cpp.o
    lib\tflite-model\trained_model_compiled.cpp:26:64: fatal error: edge-impulse-sdk/tensorflow/lite/c/builtin_op_data.h: No such file or directory
    Compiling .pio\build\nodemcu-32s\FrameworkArduino\IPv6Address.cpp.o
    compilation terminated.
    Compiling .pio\build\nodemcu-32s\FrameworkArduino\MD5Builder.cpp.o
    *** [.pio\build\nodemcu-32s\lib2fe\tflite-model\trained_model_compiled.cpp.o] Error 1

I don’t know where is the problem, please help me. Thanks in advance

Hi @HuyYuh,

If you are using the Arduino framework in PlatformIO, could you download the Edge Impulse firmware as an Arduino library (.zip file) and include it that way? Here is an example project demonstrating how to include the .zip Arduino library in a PlatformIO project for the ESP32:

1 Like