lamaPLC: ESP32 / ESP8266 and Arduino

Serial communication between ESP32 and Arduino

USB CDC on boot:
If serial communication (monitor) between the ESP32 and the Arduino IDE does not work, you need to enable the “USB CDC on boot” option.

“USB CDC on boot” refers to a feature, common on microcontrollers like the ESP32 series, that leverages the USB Communications Device Class (CDC) to automatically establish a serial connection when the device powers on. This enables tasks such as flashing firmware or using a serial monitor for debugging without manually pressing reset or boot buttons, since the device appears as a virtual serial port to a connected computer. However, this can sometimes be unreliable—especially if the application enters a boot loop—and it may be slower than a traditional UART connection.

Enable “USB CDC on boot” on Arduino IDE: Look for and enable “USB CDC On Boot” in the IDE's tools menu before uploading your sketch.