Relationship between Arduino and Espressif and others

Recently I wanted to compile a project for an ESP32S2. The author had set it up in PlatformIO, so I dusted off my copy of Vscode and PlatformIO and set about the task of compiling it, only to run into difficulties that prevented successful compile. After some investigation, it turns out that Espressif have dropped support for PlatformIO and it is therefore no longer possible to compile the project with the current Espressif libraries.

It then transpired that someone has cloned PlatformIO and created a new project called pioarduino and added the needed support. I have been assured by the author of that project, that Espressif is still working on the Arduino core 3.x, but there seems to be no clear official word from Espressif on the subject, except perhaps an encouragement to use ESP-IDF instead. Unfortunately, I can't abide the bright white theme anymore and there seem to be no option for toning it down - but that is a separate issue for Espressif.

In the meantime, I also discover that Microsoft has deprecated the Arduino extension for Vscode which I was looking at as an alternative....

Also in the meantime, there have been a number of reports of compatibility issues with ESP32 core 3.x in Arduino IDE projects. At the same time, Arduino seems to be incorporating ESP32 chips into some of their boards, e.g. UNO R4, Giga etc. At the same time we have the Nano Connect (which is the board that I purchased) which turns out to have an entirely different chip.

PlatformIO still works fine for AVR non-wifi boards and others such as STM32 for example, but the PlatformIO project seems to have had little to say on the matter and there seems to be some question as to whether it is still being developed? Up until now, the ESP32 has been rather popular for Arduino projects, but one can't help but wonder where this is heading? I am considering adding WiFi to my project and was also planning on adding PlatformIO support, but it seems the PlatformIO route is no longer viable and one is left wondering whether the ESP32 is still the way to go? Is it going to be supported in the long term by Arduino or should I be considering something like the Raspberry Pico? Do Arduino have plans for some alternative WiFi chip? To put it bluntly, what is going on with Espressif and between Arduino and Espressif?

Couple the above with Microsoft's deprecation of the Arduino Plugin for Vscode, then one starts to wonder whether Vscode is going to remain a viable option for Arduino projects in the long term? Should I stick to developing my ESP32 Wifi project in IDE2.x for now, or will I ultimately have to move to the Espressif ESP-IDF?

If the above sounds a bit confused, then, its because I am rather confused myself. I don't want to invest a lot of time in something that looks like it is becoming less viable to work with in the Arduino IDE development tool. I am hoping that I am wrong and that this is just a "glitch" in the ESP32 development cycle, but it does look a bit concerning. There is no point asking Espressif as they have never seem to reply to any communications anyway....

Hi @BitSeeker.

You can check the activity in the GitHub repository:

It is not so easy to tell how much of the work, if any, is being financially supported by the Espressif company, but as long as the work on this open source software continues it is not so important to us as users.

There are a couple of 3rd party alternatives:

(this is a fork of Microsoft's deprecated "Arduino" extension)

Note that these are generally the result of intentional breaking changes made by the developers with the intent of improving the core.

There is a public statement from the CEO of PlatfomIO here:

Note that the decision to cease development on the PlatformIO platform comes from the CEO of PlatformIO. The only explicit action taken by Espressif was to remove mention of the platform from the documentation they host, as stated here:

https://github.com/espressif/arduino-esp32/pull/8606#issuecomment-1735307073

The action by Espressif does not prevent the continued development of that platform. The PlatformIO company and contributors from the open source community are free to continue the development. As you noticed, there was no obstacle when a community member simply forked PlatormIO's platform and continued the development work on their own initiative.

It is unfortunate that the Microsoft company is no longer dedicating resources to providing Arduino support in VS Code. However, they had not been very actively maintaining the extension for some time before they finally made it official. The formal retirement of their extension actually stimulated work by the open source community to provide alternatives, so we might actually be in a better position now than we were in the time immediately preceding the retirement of Microsoft's extension.

Something to note is that even without any extension at all, you can use VS Code's high quality editor for development of you Arduino sketch projects, then use the official Arduino CLI tool from the terminal for other tasks such as installing libraries and platforms, compiling, and uploading. Of course that is not something that will be friendly to beginners, but even with the extensions VS Code is not a great choice for a casual beginner.

Based on what you wrote, I understand your concern about the future of using VS Code to develop Arduino sketch projects for ESP32 boards, but I don't understand the "Arduino IDE vs. ESP-IDF" dichotomy you are presenting here.

The "esp32" Arduino boards platform is still actively maintained and there aren't any indications that will change in the near future, so I don't see any reason to think that the future of being able to use Arduino IDE to develop Arduino sketch projects for ESP32 boards is in doubt.

Thak you for the detailed response.

I guess that is understandable.

I guess a statement via a Github issue is at least something although reading through it, it sounds like one party blaming the other and vice versa. It seems to me that there is likely to be much more to the story.

Anther good point.

I wasn't aware of this option, so again, thank you for mentioning it.

The comments I saw on the Esspressif website strongly recommended installing and using Arduino IDF component in the ESP-IDF:

`Arduino as an ESP-IDF component - - — Arduino ESP32 latest documentation

There is also a page that recommends using the Ardiuino IDE but despite claiming to be "the latest" it looks rather out of date:

`Installing - - — Arduino ESP32 latest documentation

Sorry I don't know and i might e mistaken. It would seem that maybe they do still support the Arduino IDE after all....

Thank you for that re-assurance which was for me was probably the most important statement in your post. I can at least have confidence that I can continue to develop ESP32 projects within the Arduino IDE. :slight_smile: