Request for Help: PlatformIO ESP32-S3 USB Upload Issue

Request for Help: PlatformIO ESP32-S3 USB Upload Issue

Hi, I’m encountering an issue when uploading to an ESP32-S3 board (LOLIN S3) using PlatformIO over USB.

In the Arduino IDE, everything works fine — the upload completes successfully, and the board automatically resets afterward. However, when using PlatformIO, although the upload completes, the board does not reset automatically.

Here is my platformio.ini configuration:

[env:lolin_s3]
platform = espressif32
board = lolin_s3
framework = arduino

build_unflags = -DARDUINO_USB_MODE=0
build_flags = 
  -DBOARD_HAS_PSRAM
  -D ARDUINO_USB_MODE=1
  -D ARDUINO_USB_CDC_ON_BOOT=1

Could this issue be related to how USB CDC or boot behavior is configured? I’d appreciate any suggestions or guidance on how to enable automatic reset after upload in PlatformIO.

Thanks in advance!

(I’ve attached a photo below showing the hardware setup that works correctly in the Arduino IDE.)

I remember there was a bug but about this, but it is already fixed.
I don’t rember the exact Arduino versions where the fix was applied.

Please compare the Arduino versions installed in PlatformIO and ArduinoIDE.

This table might help you to “convert” the platform version to the Arduino version.
(Example: platform = espressif32 @ 6.10.0 → Espressif Arduino version 2.0.17)

In the Arduino IDE you find the version here:

Thank you for your response.
I have version 3.2.0 installed, but when I went to the table, it said that 3.x is not supported.
Platform IO is running 6.10.0, the highest version of 2.x

To get 3.2.0 you have to use the community fork pioarduino:

Simply change your platform setting in the platformio.ini to:

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

Oh, it works perfectly. Thank you, Mr. Sivar