Preview build — page text is a draft awaiting human review. Code badges come from real compiles. The flasher is real but not yet hardware-tested; the Playground is still a preview.
Board · ESP32-C3 SuperMini

Fix: ESP32-C3 SuperMini COM port keeps connecting and disconnecting

Windows plays the USB connect/disconnect sound in a loop. The C3 is boot-looping or browning out. Enter download mode, fix power and erase flash.

ESP32-C3 SuperMiniXIAO ESP32C3ESP32-C3 DevKitMUpdated 3 Nov 2026

Community draft — report a mistake

What you see

OutputOutput
Windows: USB connect sound → disconnect sound, every 1–2 seconds
Arduino IDE → Tools → Port: COM12 appears, vanishes, appears again
Serial Monitor:
  ESP-ROM:esp32c3-api1-20210207
  Build:Feb  7 2021
  rst:0xf (RTC_SW_SYS_RST),boot:0xc (SPI_FAST_FLASH_BOOT)
  ...
  (port closes)

When a native-USB board reboots, Windows sees it unplugged and plugged in again. A C3 SuperMini stuck in a boot loop, or browning out as Wi-Fi starts, therefore turns into an endless chain of USB sounds and a COM port that never holds still long enough to upload.

Holding BOOT while plugging in stops the loop because your sketch never starts. Upload something simple, then fix whatever was rebooting the board.

Quick fix — try in order

  1. 1

    Hold BOOT, plug in, release

    The ROM bootloader keeps USB alive and doesn't run your sketch, so the port stays put. Upload a plain Blink from here.

  2. 2

    Erase all flash once

    Tools → Erase All Flash Before Sketch Upload → Enabled, upload, then turn it off. A corrupt sketch or old partition table can cause an endless reboot.

  3. 3

    Fix the sketch that reboots

    Calling deep sleep immediately in setup(), a crash in setup() or ESP.restart() in a loop all drop USB each time. Add a 5-second delay at the start of setup() while debugging so you have time to upload.

  4. 4

    Don't use GPIO18/GPIO19

    Those are the USB D−/D+ pins on the C3. Setting them as outputs, or wiring a sensor there, kills the USB connection.

  5. 5

    Power it properly

    The SuperMini's tiny regulator struggles when Wi-Fi starts. Use a good cable and a rear PC port; don't power servos or LED strips from its 3V3/5V pins.

Why it happens

Why does the port come and go?

On native-USB chips the USB connection lives inside the chip. Every reset or brownout disconnects it, and every boot reconnects it — so a boot loop sounds like constant plugging and unplugging.

Wi-Fi brownout on the SuperMini

Many SuperMini boards drop below 3 V for an instant when Wi-Fi transmits at full power. WiFi.setTxPower(WIFI_POWER_8_5dBm); after WiFi.begin() is a well-known workaround that also helps range on these boards.

Board-specific notes

ESP32-C3 SuperMini: BOOT is GPIO9. Never wire anything that holds GPIO9 low at power-up, or the board always starts in download mode. See the C3 SuperMini page.

XIAO ESP32C3: Same behaviour and same fix; the BOOT button is labelled B.

↑↓ to move · Enter to open