Esp32-c6 supported from Platformio

Hi community…
I would like to know if this mcu

https://espressif-docs.readthedocs-hosted.com/projects/espressif-esp-dev-kits/en/latest/esp32c6/esp32-c6-devkitc-1/user_guide.html

will be supported from platformio and arduino Ide

Thanks @maxgerhardt and @ivankravets

Please file a feature request at

I recently bought an ESP32-C6 and was doing some digging, @simogaspa84 also asked this question again in a new topic (Esp32 c6 support) so I decided to share my findings. It seems that we’re still waiting for Arduino ESP32 Core support. There’s an open issue about it (https://github.com/espressif/arduino-esp32/issues/7713). Fortunately it’s currently in review, as can be seen in the Arduino ESP32 Core roadmap.

Comments on the issue mention that Arduino support should mostly work using the master branch of Arduino ESP32 Core and I was hoping that someone could figure out a way to use that in PlatformIO while we wait for official support. I gave it a try but I’m not a platformio.ini expert.

I’m embarrassed to admit that I didn’t try the simplest solution, using the ESP32-C6 config from Espressif ESP32-C6-DevKitC-1 — PlatformIO latest documentation and adding framework = arduino. I’ve successfully uploaded code to the ESP32-C6 with the following platformio.ini:

[env:esp32-c6-devkitm-1]
platform = espressif32
board = esp32-c6-devkitm-1
framework = arduino
2 Likes

Sorry, this is not working :
Error: This board doesn’t support arduino framework!

The ESP32-C6 is only supported from Arduino 3.0 upwards with ESP-IDF 5.1 as the basis: Release Arduino Alpha Release v3.0.0 based on ESP-IDF v5.1 · espressif/arduino-esp32 · GitHub

However, this is still in the alpha stage and is not yet officially supported by PlatformIO.

1 Like

This should work

[env:esp32c6]
board = esp32-c6-devkitc-1
platform = https://github.com/platformio/platform-espressif32.git
platform_packages =
	platformio/framework-arduinoespressif32 @ https://github.com/espressif/arduino-esp32.git
	platformio/framework-arduinoespressif32-libs @ https://github.com/espressif/esp32-arduino-libs.git#idf-release/v5.1
monitor_speed = 115200

and add in the boards.json the framework arduino or use a custom boards.json in your project folder boards/esp32-c6-devkitc-1.json

{
  "build": {
    "core": "esp32",
    "f_cpu": "160000000L",
    "f_flash": "80000000L",
    "flash_mode": "qio",
    "mcu": "esp32c6",
    "variant": "esp32c6"
  },
  "connectivity": [
    "wifi"
  ],
  "debug": {
    "openocd_target": "esp32c6.cfg"
  },
  "frameworks": [
    "arduino",
    "espidf"
  ],
  "name": "Espressif ESP32-C6-DevKitC-1",
  "upload": {
    "flash_size": "8MB",
    "maximum_ram_size": 327680,
    "maximum_size": 8388608,
    "require_upload_port": true,
    "speed": 460800
  },
  "url": "https://docs.espressif.com/projects/espressif-esp-dev-kits/en/latest/esp32c6/esp32-c6-devkitc-1/index.html",
  "vendor": "Espressif"
}

Seems like its not quite the full story - PlatformIO itself seems happy with this configuration, but the compiler fails for all project files with the following message:

riscv32-esp-elf-g++: error: unrecognized command line option '-mlongcalls'

If I figure it out I’ll post my solution, but don’t hold your breath. Probably Espressif will release the working version first :rofl: