ESP-IDF Installation Errors

I am trying to compile the reference project for the Olimex ESP32-POE-ISO. I did not find a PlatformIO project so I am trying to install ESP-IDF into Platformio and I am running into an error:

“c:\Espressif\tools\idf-python\3.11.2\python.exe -m pip” is not valid. (ERROR_INVALID_PIP)

Previously I had an error about spaces in the Python path. Is there a concise set of instructions to install ESP-IDF extension into PlatformIO?

No need to install Espressif’s ESP-IDF!
ESP-IDF is part of espressif32 platform.

If you create a new project choose Espidf as framwork:

If you have an existing project set framework = espidf in your platformio.ini

This IDE is very different than Keil and Segger.

I created a new platformio project and it eventually imported the Olimex ESP32_PoE_Ethernet_IDFv5.3ESP-IDF project. I now have a missing file, esp_eth_driver.h.

Where are the esp-idf/components installed for the project? I don’t see any of the ethernet source or header files in the project.

Please see documentation: Espressif IoT Development Framework — PlatformIO v6.1 documentation

I have been reading the documentation. I cannot get the example project to configure:

PIO Core Call Error: “Resolving esp32dev dependencies…\r\nAlready up-to-date.\r\nUpdating metadata for the vscode IDE…\r\n\n\nUserSideException: Processing esp32dev (platform: espressif32; board: esp32dev; framework: espidf)\r\n--------------------------------------------------------------------------------\r\nVerbose mode can be enabled via -v, --verbose option\r\nCONFIGURATION:\r\nPLATFORM: Espressif 32 (2023.10.4) > Espressif ESP32 Dev Module\r\nHARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash\r\nDEBUG: Current (cmsis-dap) External (cmsis-dap, esp-bridge, 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)\r\nPACKAGES: \r\n - framework-arduinoespressif32 @ 2.0.14 \r\n - framework-espidf @ 3.40405.0 (4.4.5) \r\n - tool-cmake @ 3.21.3 \r\n - tool-esptoolpy @ 1.40700.0+dev (4.7.0) \r\n - tool-idf @ 1.0.1 \r\n - tool-mconf @ 1.4060000.20190628 (406.0.0) \r\n - tool-mklittlefs @ 3.2.0 \r\n - tool-mkspiffs @ 2.230.0 (2.30) \r\n - tool-ninja @ 1.9.0 \r\n - toolchain-esp32ulp @ 1.23500.220830 (2.35.0) \r\n - toolchain-xtensa-esp32 @ 8.4.0+2021r2-patch5\r\nError: Detected a whitespace character in project paths.\r\n========================== [FAILED] Took 3.33 seconds ==========================\r\n\r\nEnvironment Status Duration\r\n------------- -------- ------------\r\nesp32dev FAILED 00:00:03.334\r\n==================== 1 failed, 0 succeeded in 00:00:03.334 ====================”

Did you notice? Please check the projects path name.

This is/was very frustrating. I finally did a clean reinstall of PlatformIO and I was able to finally build the ESP-IDF project with only the espidf framework. I cannot get the project to build with framework = espidf, arduino. When I add arduino to the framework, I got an error:

esp32-arduino requires CONFIG_FREERTOS_HZ=1000 (currently 100)

I changed the value in sdkconfig.esp32-poe-iso to:


and the build progressed to this error:

Compiling .pio\build\esp32-poe-iso\src\components\ethernet_init\ethernet_init.o
In file included from src/components/ethernet_init/ethernet_init.c:6:
include/ethernet_init.h:8:10: fatal error: esp_eth_driver.h: No such file or directory

Is it possible to use the framework = espidf, arduino with ethernet?