I’ve been experimenting with the Board options on the Cardputer, and I’ve found that a partial fix is to use TinyUSB as the USB mode.
The usual ESP32-S3 Board settings are:
USB Mode: "Hardware CDC and JTAG"
USB CDC On Boot: "Enabled"
Upload Mode: "UART0 / Hardware CDC"
Instead you should select:
USB Mode: "USB-OTG (TinyUSB)"
USB CDC On Boot: "Enabled"
Upload Mode: "USB-OTG CDC (TinyUSB)"
It then seems possible to upload longer programs via the Serial Monitor without the serial buffer hanging up.
I’ve tested it with the Cardputer using the M5Stack Arduino core version 2.1.2.
I’d be interested in hearing whether this improves the problem for everyone else; if so I’ll update the Cardputer instructions to make these the recommended settings.