Confused, in 2025 does Platform.IO support ESP32-C6 for Arduino code?

I have spent a few hours trying to work out what the position is on using the ESP32-C6 for my Arduino based code ( the code does run on ESP32-C3 and compiles using Platform.IO with arduino set as the compiler).

Searching the internet, i find many thoughts, ideas, questions, going back a few years, but no clear answer about whether the C6 can or can’t be used in Platform.IO ?

So in 2025, can i use code written in Arduino code in Platform.IO ?
and have all the problems been sorted ?

I have found this, but it makes me more confused

Thanks

The ESP32-C6 is supported since Espressif Arduino 3.x.

To get the latest Espressif Arduino 3.2 in PlatformIO you can use the pioarduino fork of the espressif32 platform:

platform = https://github.com/pioarduino/platform-espressif32/releases/download/54.03.20/platform-espressif32.zip 
1 Like

Thanks, can i just check with you that i change as below and nothing else ?


[env:ESP32_C3_env]
platform = espressif32
board = esp32-c3-devkitm-1
framework = arduino
upload_port = /dev/ttyACM0
build_flags =
	-D ARDUINO_USB_MODE=1
	-D ARDUINO_USB_CDC_ON_BOOT=1
	-D ESP32_C3_env

to

[env:ESP32_C6_env]
platform = https://github.com/pioarduino/platform-espressif32/releases/download/54.03.20/platform-espressif32.zip
board = esp32-c6-devkitm-1
framework = arduino
upload_port = /dev/ttyACM0
build_flags =
	-D ARDUINO_USB_MODE=1
	-D ARDUINO_USB_CDC_ON_BOOT=1
	-D ESP32_C6_env

Yes, that is correct.

This change the Arduino version from 2.x to 3.x
Please see the migration guide: Migration from 2.x to 3.0 - - — Arduino ESP32 latest documentation

Also note that some 3rd party libraries still rely on 2.x and may not compatible to 3.x yet.

1 Like

Thanks for your help :slightly_smiling_face:

…which means that you should help update those libraries to run on the modern chip that you need.

Anything still stuckin on Arduino2 is pretty much abaondonware at this point…

Hey thanks so much for this pointer! Finally fixed for me after hours of debugging.

Question: why does there need to be a fork to make this work? I ask because I imagined that PlatformIO would want to provide built-in support Arduino on most boards.

I saw this GH comment here from @jason2866 (who is a hero on the GH Issues :heart:) said that PlatformIO dropped support for Arduino Core? I don’t understand why… :sweat_smile:

Could you help me/us wrap our heads around the configuration/setup here?


Edit: just read a lot of this PlatformIO GitHub Issue and holy moly… what a shituation…

I’m so grateful that folks are pushing to make this work (again, shout out to @jason2866 for this repo.

I just wonder how much longer it will continue to work for, though?
Is total ESP32 support going to end one day in PlatformIO? If no, will Arduino support die one day?
@ivankravets said in that PlatformIO said that past versions of ESP32 software will continue to work on PlatformIO, but at some point… software needs to be updated, of course.

As mentioned in that GitHub issue, even for smaller projects, PlatformIO is lightyears ahead in terms of experience over ESP-IDF. Haven’t even bothered with Arduino IDE because as an engineer of 10+ years I’m used to the decent IDEs we have around today.

I did a lot of changes in pioarduino to be independent from platformio ecosystem. So if the company Platformio stops there support for espressif products completely piorduino will still work. With the next (soon) coming Arduino release 3.2.1 all these changes are done in pioarduino

2 Likes