After today's VS Code update Pioarduino which is not installed shows in PlatformIO

TLDR:

After today’s VS Code update Pioarduino which is not installed shows in PlatformIO exactly as in this screenshot and I can’t anymore create a new ESP32-S3 project.

More details:

Yesterday I updated VS Code and created a new project configured as:

[env:esp32-s3-devkitc1-n16r8]
platform = espressif32
board = esp32-s3-devkitc1-n16r8
framework = arduino

and everyting worked well:

Processing esp32-s3-devkitc1-n16r8 (platform: espressif32; board: esp32-s3-devkitc1-n16r8; framework: arduino)
----
Tool Manager: Installing https://github.com/pioarduino/scons/releases/download/4.8.1/scons-local-4.8.1.tar.gz
Downloading  [####################################]  100%
Unpacking  [####################################]  100%
Tool Manager: tool-scons@4.40801.0 has been installed!
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32-s3-devkitc1-n16r8.html
PLATFORM: Espressif 32 (55.3.35) > Espressif ESP32-S3-DevKitC-1-N16R8V (16 MB Flash Quad, 8 MB PSRAM Octal)
HARDWARE: ESP32S3 240MHz, 320KB RAM, 16MB Flash

In the past I was using:

[env:esp32-s3-devkitc-1]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/55.03.35/platform-espressif32.zip
board = esp32-s3-devkitc-1
framework = arduino

and that is why PLATFORM: Espressif 32 (55.3.35) was already installed.

I left VS Code opened since yesterday and today there was a message “Restart to update”. After restarting VS Code it was updated to:

Version: 1.128.0 (system setup)
Commit: fc3def6774c76082adf699d366f31a557ce5573f
Date: 2026-07-07T15:14:24-07:00
Electron: 42.5.0
ElectronBuildId: 14525058
Chromium: 148.0.7778.271
Node.js: 24.17.0
V8: 14.8.178.33-electron.0
OS: Windows_NT x64 10.0.19045

BTW, yesterday and today VS Code was updated by the installer and not by just restarting the program as before.

Then I created another project via PlatformIO using the very same Espressif ESP32-S3-DevKitC-1-N16R8V (16 MB Flash Quad, 8 MB PSRAM Octal) board as yesterday but there was an error:

Could not initialize project:

PIO Core Call Error: "The following files/directories have been created in path\\project_name
include - Put project header files here
lib - Put project specific (private) libraries here
src - Put project source files here
platformio.ini - Project Configuration File
Resolving esp32-s3-devkitc1-n16r8 dependencies...
Platform Manager: Installing https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip
Downloading 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Unpacking 0% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100%
Platform Manager: espressif32@55.3.39 has been installed!
Platform Manager: Removing espressif32 @ 55.3.39
Platform Manager: espressif32@55.3.39 has been removed!

IncompatiblePlatform: Development platform 'espressif32' is not compatible with PlatformIO Core v6.1.18 and depends on PlatformIO Core >=6.1.19."

and the Project Wizard window showed up as if I had just clicked New Project.

Then I noticed “Welcome to pioarduino” and pioarduino logo at the top of the PlatformIO home screen.

I checked if pioarduino extension is installed and it is not installed. Yesterday, VS Code did show a message: “Do you want to install the recommended ‘pioarduino IDE’ extension from pioarduino for this repository?”, but I did not install it and it still isn’t installed.

I was searching for pioarduino shows in platformio and found the link I mentioned before:

I opened the project that I created yesterday but PlatformIO: Build now no loger works and the error is:

ImportError: cannot import name '__version__' from 'urllib3' (unknown location)

 *  The terminal process "some_path\.platformio\penv\Scripts\platformio.exe 'run'" terminated with exit code: 1. 
 *  Terminal will be reused by tasks, press any key to close it.

I closed the project and whan I clicked on PlatformIO icon, all of a sudden there was a message Downloading PlatformIO IDE.

After a while there was a message PlatformIO IDE has been successfully installed! Please reload window (source: PlatformIO IDE) and there was another message saying PlatformIO Installer: Finished! Please restart VSCode.

However, after restarting VS Code there is still “Welcome to pioarduino” at the top of PIO Home window.

I thought there would be many descriptions of the same problem but I’ve found only one :-/

And I hope this could be resolved without deleting all ESP32 Platform versions.

I’ve found what causes the problem:

Up until yesterday, after creating a new project platformio.ini was initialised as:

[env:esp32-s3-devkitc1-n16r8]
platform = espressif32
board = esp32-s3-devkitc1-n16r8
framework = arduino

but since today, after creating a new project platformio.ini is:

[env:esp32-s3-devkitc1-n16r8]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip
board = esp32-s3-devkitc1-n16r8
framework = arduino

In the first case whan platform was specified as espressif32, the framework that was already installed was used by the new project - in my case Espressif 32 (55.03.35)

In the second case the most recent version of the framework is forced to be downloaded and used when creating a new project - at the moment Espressif 32 (55.03.39).

Espressif 32 (55.03.39) needs PlatformIO Core >=6.1.19 and that was the reason why New Project Wizard can’t complete the tasks.

I tried to update PlatformIO Core from 6.1.18 to 6.1.19:

>platformio --version
PlatformIO Core, version 6.1.18

>pio upgrade
Please wait while upgrading PlatformIO Core ...
PlatformIO has been successfully upgraded to 6.1.18
Release notes: https://docs.platformio.org/en/latest/history.html
Warning! Please restart IDE to affect PIO Home changes

>platformio --version
PlatformIO Core, version 6.1.18

but the version of PlatformIO Core remained 6.1.18 despite the most recent version is 6.1.19 (2026-02-04)

If I understand correctly 6.1.19 is not development version.

As a workaround I can now create a new project by editing platformio.ini after New Project Wizard fails and then opening the project folder.

The correct solution is to specify the platform version - always!
If you want to stick to the official PlatformIO Espressif32 platform use this (for example version 6.12.0)

platform = espressif32 @ 6.12.0

If you do not specify a version, the one with the highest number installed on your system will be used.

Here you will find a list of available pioarduino und PlatformIO espressif32 platform versions

The PlatformIO Core is not related to the espressif32 platform version.

Yes, but how to specify the platform when creating a new project via user interface by clicking on the New Project button and using Project Wizard? There are only Name, Board an Framework drop down menus and under Framework there is only Arduino and Espidf. There isn’t a way of specifying platform version when creating a new project using Project Wizard.

As I said in the other thread where you replied, I can specify the platform only in case of creating a new project via command line.

I am aware of that and I said up until when I opened the topic, the platform - when creating a new project using Project Wizard - was configured as platform = espressif32, meaning the version was not specified and the one with the highest number installed on the system was used.

But now, after VS Code update 1.128.0 that behaviour changed. Now the platform - when creating a new project using Project Wizard - is being specified as platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip, meaning the version now is specified, meaning it is specified as “the newest available in the repositoy - even if that version is not installed” and the newest version is forced to be downloaded and used instead of the one with the highest number installed on the system.

I’ve been using PlatformIO since 2019. and am aware of everything you mentioned but the problem is, since 2 days ago, creating a new project by clicking on the New Project button is now forcing downloading of the latest platform version which was not the case until 2 days ago.

I described that only one day before I opened the topic everything was still working as expected - when creating a new project by clicking on the New Project button the platform in autogenerated platformio.ini was specified as platform = espressif32 and the platform version with the highest number installed on the system was used. But not anymore, after creating a new project using GUI, autogenerated platformio.ini is now not the same as was until 2 days ago:

platformio.ini after creating a new project using Project Wizard up until 2 days ago:

[env:esp32-s3-devkitc1-n16r8]
platform = espressif32
board = esp32-s3-devkitc1-n16r8
framework = arduino

platformio.ini after creating a new project using Project Wizard since 2 days ago:

[env:esp32-s3-devkitc1-n16r8]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/stable/platform-espressif32.zip
board = esp32-s3-devkitc1-n16r8
framework = arduino

Since there isn’t a way of specifying the exact platform version when creating a new project by using Project Wizard, as of 2 days ago (when platform specified via platformio.ini autogenerated while creating a new project changed) the only way to prevent downloading the latest platform version is to create a new project via command line.

Of course, platformio.ini could be edited afterwards - after creating the new project - but before that the latest platform version is going to be downloaded and installed even if that is not what was wanted.

And why it is not possible to update PlatformIO Core to the latest version which is 6.1.19?

Is PlatformIO Core 6.1.19 a development version?

There is no way to specify the platform version when using the wizard to create a new project.
You have to edit the platformio.ini and specify the version manually.

This is not related to a VS Code update. VS Code is just the editor.
For example: Word doesn’t change it’s behavior just because Windows received an update.
It is due to the presence of pioarduino.

This is a different topic and should be analyzed and discussed seperately.

Short answer in this thread:
Everything is fine with 6.1.19:

C:\Projects\Test5> pio --version
PlatformIO Core, version 6.1.19

The problem is platformio.ini can’t be edited before the download of the latest platform has already started.

Maybe that was just a coincidence. I created several new projects to test some ESP32-S3 examples and everything was as expected - platform was everytime specified as espressif32 and nothing was downloaded. Then I left VS Code + PlatformIO opened and when I arrived back there was a message “Restart to update”, after which the behaviour changed as I described.

Thank you, I’ve just opened a new topic.

I use a different workflow. I make use of VS Code snippets to create the platformio.ini template, the main.cpp template as well as wokwi templates for wokwi.toml and diagram.json (see the video)

Here are my steps:

  1. Create a project folder
  2. open the folder in VS Code (right click + “open with VS Code”)
  3. create platformio.ini and fill it with the snippet template (and make adjustments if necessary)
  4. create src folder and main.cpp and fill it with the snippet template
  5. click the PlatformIO Icon to activate PlatformIO and click the build button in the bottom bar

Additionally (wokwi related)

  • create a .wokwi folder
  • create .wokwi/wokwi.toml file and fill it with snippet
  • create .wokwi/diagram.json file and fill it with snippet
  • run wokwi simulation

You’ll find each step in the video description

1 Like

That’s quite a neat workflow, thank you very much for uploading the video!

BTW, I didn’t even know Wokwi could be integrated in PlatformIO project inside VS Code in a such way.

This is great that you can do this, but it doesn’t address the issue of the wizard not having the ability to specify the version. Seems it should be trivial to add a dropdown to allow selection of the version. But then again, maybe the developers’ thought process is that, “All new projects should use the latest release anyway.”