Espressif releases Arduino ESP32 Core 3.0.0, but PlatformIO support is in doubt

We previously noted the ESP32 Arduino Core 3.0.0 Alpha release added support for ESP32-C6 and ESP32-H2 among other changes. The good news is that Arduino ESP32 Core 3.0.0 is now considered stable, and was released a few days ago based on the ESP-IDF 5.1.4 framework. Users of the Arduino IDE can use it straight away, but as we’ll discuss in more detail below it’s unclear whether PlatformIO will be (officially) supported.

ESP32-C6 ESP32-H2 ESP32 Arduino Core 3.0.0

There have been many changes since we wrote about the Alpha2 release in November 2023 with 327 commits from 96 contributors. Some of the most recent changes (compared to RC3) include:

  • Updated ESPDuino with extra options (CPU freq and Partition)
  • Add support for WeAct Studio ESP32C3
  • Attach ETH events at the correct place
  • Enable the possibility to use SPI ETH with only 4 wires
  • Fix ETH.end()
  • Fix ETH.stop() with IDF SPI
  • Nano ESP32: delete programmer.default entry (on main) due to unintended consequences for CLI users
  • Update Kconfig.projbuild to fix LittleFS selective compilation
  • Fixed outdated function signature (ledcWrite)
  • Remove masking for ADC channel number
  • Add GPIO pin mappings for M5Stack CamS3 Unit and select OPI PSRAM by default
  • Provide a default TAG name for USE_ESP_IDF_LOG logging macro
  • Update merge_package.py to use packaging.version instead of the deprecated distutils.version

You’ll find the release on GitHub for installation in the Arduino IDE just as we did for the Alpha2 release. More ESP32-C6 and ESP32-H2 boards are now supported out of the box, since last time I tried there were only two ESP32-C6 boards and one ESP32-H2 board…

Arduino IDE ESP32-C6 boards

That’s great for users relying on the Arduino IDE, but some prefer working with PlatformIO, and there’s currently an open issue on PlatformIO about support for Arduino ESP32 Core v3.0.0  which may never be officially supported:

The ESP32 Core for Arduino 2.x is the most recent major version currently recommended for use with PlatformIO. The decision to discontinue support was made by the Espressif company, as indicated in their official statement

That’s a long thread, but there seem to be some ongoing commercial discussions between Espressif Systems and PlatformIO developers that are not resolved yet:

[…]
The current supported version is Arduino Core v2.x for ESP32. Our collaboration with Espressif, including discussions about renewal, is ongoing. It’s worth noting that we have @VojtechBartoska, a project manager from Espressif, in this thread. We’re all working together to ensure you receive the best features and support. We’ll keep everyone posted on any updates to ensure a smooth continuation of our services.

[…]

PlatformIO is a commercial open-source project. In the past, it used to be a paid service before 2020, following a business-to-consumer (B2C) model. Unexpectedly, PlatformIO gained widespread popularity among millions of developers globally. Consequently, we shifted our strategy to make powerful tools for professional embedded development freely accessible to everyone.

The active development and maintenance of PlatformIO, along with its infrastructure, are now supported by technology partners dedicated to delivering an excellent developer experience. Espressif was one such partner, and we appreciate their long-standing collaboration.

Currently, Espressif has ceased support for new products in PlatformIO, but rest assured, we are committed to providing support for existing Espressif products integrated before this change, as per our technology licensing policy. Your projects won’t face disruptions, and services will continue as usual.

Those messages are from the end of November 2023, but PlatformIO still does not support the Arduino ESP32 3.x release as of now (June 1, 2024). Having said that one user apparently managed to make PlatformIO work with their ESP32-C6 board using the following JSON file:

But it’s unclear whether all features will work, as another user chimed in:

Yep, for the c6 just the entry arduino needs to be added. Anyways C6 does not work “out of the box”. The needed changes to support C2, H2 and C6 are not so many 😉

We’ll have to see how it goes. So it’s possible to use the new Arduino ESP32 Core 3.0.0 with Platform.io with some effort, but if the companies don’t come to an agreement soon, the long-term future of PlatformIO for ESP32 boards is uncertain. Arduino ESP32 Core 2.x is still supported in PlatformIO, so no issues here for existing boards and projects.

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.
14 Comments
oldest
newest
Boardcon CM3588 Rockchip RK3588 System-on-Module designed for AI and IoT applications