Waveshare ESP32 S3 Zero - much issues

Hover over the Serial object.

I guess you’ll see “HardwareSerial Serial”.
That means that the output is routed to the UART port.
But the waveshare board does not have UART to USB Chip / Port.

In this case you’ll have to use USBSerial.begin(...) and USBSerial.print("...");

You can use USB_CDC by setting

build_flags =
  -DARDUINO_USB_CDC_ON_BOOT=1

in the platformio.ini (as you did in your first post)
Please take a look at ESP32-S3 native USB interface and Serial Monitor missing first messages - #10 by sivar2311

In this case, Serial is an instance of HWCDC instead of HardwareSerial.

Note that the builtin USB port has 2 different interfaces: CDC (which is the serial port) + JTAG!

Also note that there is a bug in Arduino Core (pre 2.0.17). You might need to press the reset button after uploading!

1 Like