I try to get an project working, which needs at least ESP-IDF 4.1. When searching for information, I find an announcement from Espressif, that PIO supports it (PlatformIO Support for ESP-IDF v4.1 | Espressif Systems), I see several informations in the online documentation (e.g. Espressif IoT Development Framework — PlatformIO latest documentation), but I get only offered Espressif 32 v3.2.0
I work with PIO 5.1.1 under VSCode (Win10). When trying to install a newer version under “embedded” I only see ESP-IDF Versions up to 3.2.
When I put the following line in my projects platform.ini:
platform = espressif32@>4.1.0
and enter: ‘pio run -t menuconfig’ I receive the error message:
Could not find the package with ‘espressif32 @ >4.1.0’ requirements for your system ‘windows_amd64’
Any hints, what needs to be done to get at least a version 4.1 from ESPIDF working under PIO?
The Platform Espressif32 versions are distinct from the ESP-IDF version. In PlatformIO terms, the platform (e.g.
platform-espressif32) is the general base hosting all board definitions and builder code), the actual framework code is a package, e.g.
Available platform versions are listed at Releases · platformio/platform-espressif32 · GitHub and are default-tied to a ESP-IDF version. E.g., the latest 3.2.0 version uses ESP-IDF v4.2, which already satisfies your requirements.
So, if you declare
platform = espressif32@>=3.2.0 you will always get at least ESP-IDF v4.2. You can also use just
platform = espressif32 and make sure that your locally installed platform is up-to-date, either via the PIO Home → Platforms → Updates GUI or via the CLI and
pio platform update.
Lastly, PlatformIO has the feature of
platform_packages, letting you select a source or a version for each package. In conjunction with listed versions of e.g.
framework-espidf, you can then say
; use ESP-IDF 4.2.0
platformio.ini to control it very fine-grained. But, in this case, just selecting the platform version will suite you just fine.
Thanks for the answer, it helped me a little bit further. I have not realized, that espidf-v4.2 works under the hood of the v3.2 pio-extension.
Perhaps it would be helpful, if pio platform list could also list the version numbers of the tool-chains.
One reason, that I have not understood, which espidf-toolchain works under the hood is, that the configuration dialog is missing several entries. I will open another thread with questions regarding this.