platform-espressif32 fork to enable PlatformIO support for ESP32-C6, ESP32-C5, ESP32-H2, and ESP32-P4 SoCs

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.

PlatformIO ESP32-C6 ESP32-C5 ESP32-P4 ESP32-H2

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.

PlatformIO IDE Visual Studio Code

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:


Installing the python3-venv package and clicking on “Try again” fixed the issue:


I could then create a project selecting an ESP32-C3 board…

PlatformIO create project

… and change the platformio.ini configuration file to use the pioarduino fork:


platformio arduino ESP32 core 3.0.4

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.

PlatformIO ESP32-C6-DevKitC-1 board

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.

Share this:

Support CNX Software! Donate via cryptocurrencies, become a Patron on Patreon, or purchase goods on Amazon or Aliexpress

Radxa Orion O6 Armv9 mini-ITX motherboard
Subscribe
Notify of
guest
The comment form collects your name, email and content to allow us keep track of the comments placed on the website. Please read and accept our website Terms and Privacy Policy to post a comment.
9 Comments
oldest
newest
Georgi Angelov
3 months ago

“between Espressif and Platform IO developers”
the developers are not to blame
the bureaucracy at Espressif has become too much…

TD-er
TD-er
3 months ago

Let’s just formulate it as a business-disagreement between PlatformIO and Espressif.
No need to point fingers here, the most important part to focus on is to make sure the community can continue using these chips in a way they are used to.

Peter
Peter
3 months ago

Espressif has no fault. Regarded PlatformIO maintainers have been ghosting pull requests from the community for months. Trying to strongarm Espressif, they will soon lose their business to a better fork with sane maintainers. Hopefully.

Andreas
Andreas
3 months ago

Still, it is shortsighted and petty of PlatformIO to not even review and/or merge pull requests with patches from community members. Why PlatformIO has made the choice to totally ignore its community and make patch reviews suffer because PlatformIO has an ongoing disagreement with Espressif. That will make valued community members abandoned PlatformIO.

txf
txf
3 months ago

I mean, reviewing and merging is developer time. Time is money. Then there is the fact that merging this stuff in officials repos implies maintenance.

Now if Platformio was a pure community project then those issues might be more applicable. Though as shown by this project, the community has stepped up to fix this deficiency.

Jason2866
Jason2866
3 months ago

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.

TD-er
TD-er
3 months ago

The same for ESPEasy. I have been working with Jason for over a year on implementing support of IDF5.x/Arduino 3.x via the platform packages he built. The sdkconfig used in those platform packages has a number of features stripped which neither Tasmota, nor ESPEasy uses. However this might be too limited for others and thus there is pioarduino for those who just need all the Arduino code they can get 🙂 So hopefully other projects will follow as there has been a lot of improvements in the code structure and many issues fixed. Not only newer chips can now be… Read more »

KD Puvvadi
KD Puvvadi
3 months ago

esphome should use this fork for relevant boards.

Jason2866
Jason2866
21 hours ago

esphome is using pioarduino since a while

Boardcon Rockchip RK3588S SBC with 8K, WiFI 6, 4G LTE, NVME SSD, HDMI 2.1...