When Espressif Systems released Arduino ESP32 Core 3.0.0 we noted that PlatformIO support was in doubt due to business issues between Espressif and Platform IO developers. There has been no progress since then, and PlatformIO is not even reviewing or merging community contributions to their platform-espressif32 library.
So if you want software that’s officially supported by Espressif, you should stick to the Arduino ESP32 Core. But if you are a fan of PlatformIO for ESP32, there’s hope even for the newer chips like ESP32-C6, ESP32-H2, and ESP32-P4 among others, as pioarduino community members have now forked the platform-espressif32 library to keep the project alive.
Users can still rely on the official PlatformIO repository for existing ESP32 boards and microcontrollers, but new ESP32-C6, ESP32-H2, ESP32-C5, ESP32-H4, and ESP32-P4 SoC will only be supported by the fork.
pioarduino which stands for “people initiated optimized arduino” will maintain the fork, and currently, Arduino ESP32 Core 3.0.4 and the ESP-IDF 5.1.4 are supported. Jason2866 notes the team is really small (and started as a one-person initiative) so support is limited. Indeed, the documentation section is more or less nonexistent since it only points to the test for an Apache 2.0 license, so for now, we’re told to use the relevant documentation on PlatformIO website.
To use the fork, you’ll first need to download and install Microsoft Visual Studio Code before installing the official PlatformIO IDE extension through the extension manager.
I did that on Ubuntu 22.04 and PlatformIO complained about the lack of the Python 3.6+ interpreter although I have a recent version of Python already:
1 2 |
python --version Python 3.10.12 |
Installing the python3-venv package and clicking on “Try again” fixed the issue:
1 |
sudo apt install python3-venv |
I could then create a project selecting an ESP32-C3 board…
… and change the platformio.ini configuration file to use the pioarduino fork:
1 |
platform = https://github.com/pioarduino/platform-espressif32/releases/download/51.03.04/platform-espressif32.zip |
After saving the file, the PlatformIO IDE will automatically download the required files. Since this worked, I also changed the config file to use one of the ESP32-C6 boards from the list of supported boards and could successfully build code for the ESP32-C6-DevKitC-1 board, something that’s not possible with the official PlatformIO ESP32 port.
The fork directly impacts at least one popular project, as I’ve been told the Tasmota open-source firmware project has moved to use pioarduino’s fork instead, although I don’t see any direct announcement or reference about that in the GitHub repository. [Update: it’s actually pioarduino that’s based on the forked Tasmota platform. See comments section:
Tasmota will not move to pioarduino, not because the fork is not well working. Tasmota uses very different sdkconfig settings for compiling the Arduino libs. BUT the platform pioarduino is based on the forked Tasmota platform.
]
Thanks to Hedda for the tip.

Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress