PlatformIO Community

How development ESP32-S3-WROOM-2

Hello, I see PIO support ESP32-S3 in Arduino platform with see Espressif ESP32-S3-DevKitC-1 board in New Project window and it use ESP32-WROOM-1 but i use ESP32-S3-WROOM-2. The bootloader and Flah mode is different, In WROOM-1 it use DIO or QIO mode but WROOM-2 is use OPI mode so if select WROOM-1 board but upload to WROOM-2 the firmware any run FAIL.

So, How can i use ESP32-S3-WROOM-2 ? Now, for ESP32-S3-WROOM-2 i can use in Arduino IDE only because in Flash Mode menu i can select OPI 80MHz and in PSRAM menu i can select OPI PSRAM.

Can you show a screenshot of the Arduino IDE → Tools menu with which it works for your board?

This, Thank you !


Can you try the following: Create a new folder called boards in the project directory. Fill it with the file esp32s3dev.json with content

    "build": {
        "ldscript": "esp32s3_out.ld",
        "memory_type": "opi_opi"
      "core": "esp32",
      "extra_flags": [
      "f_cpu": "240000000L",
      "f_flash": "80000000L",
      "flash_mode": "dout",
      "hwids": [
      "mcu": "esp32s3",
      "variant": "esp32s3"
    "connectivity": [
    "debug": {
      "openocd_target": "esp32s3.cfg"
    "frameworks": [
    "name": "Espressif ESP32-S3 Dev Module",
    "upload": {
      "flash_size": "4MB",
      "maximum_ram_size": 327680,
      "maximum_size": 4194304,
      "require_upload_port": true,
      "speed": 921600
    "url": "",
    "vendor": "Espressif"

(and yes, dout mode for OPI 80MHz selection shuold be correct per this).

Then use the platformio.ini

platform = espressif32
board = esp32s3dev
framework = arduino

and try to run some basic blinky or serial program.