Skip to content

No serial port detected

Short answer: if the device is absent from the browser's port picker, the failure is before flashing starts. Use a known USB data cable, connect directly to the computer, allow the accessory at the OS prompt, and confirm that the operating system can see the USB device. Only then install the matching serial driver.

What this symptom means

Web Serial cannot invent a port that the operating system has not exposed. Chrome's Web Serial documentation says requestPort() opens the chooser, while getPorts() only returns ports the site was already granted permission to use. Closing the chooser without selecting a device is different from a connection failure after selection.

This page was checked on 2026-07-16 against Espressif's current esptool documentation and the site's esptool-js v0.6.0 dependency (released 2026-03-26).

Fix it in order

  1. Replace the cable first. Use a cable known to carry data, not a charge-only cable. Remove docks and USB hubs for this test.
  2. Reconnect the board directly. Unplug it, wait five seconds, plug it into the computer, then click Connect again.
  3. Check whether the OS sees new USB hardware. If no device appears at OS level, the browser and driver are not the first problem; change cable, port, adapter, or board.
  4. Apple silicon Mac: unlock the Mac and choose Allow if macOS asks whether the accessory may connect. Apple documents that choosing Don't Allow permits charging but blocks data.
  5. Install only the matching bridge driver. CH340/CH341, CH9102, and CP2102 use different vendor packages. Use the USB serial driver guide.
  6. Native-USB boards: Cardputer, CoreS3, StickS3, T-Display-S3, T-Deck, ESP32-C5, and the Flipper Wi-Fi Dev Board do not need a CH340/CP2102 driver for their native USB port. Put the board in its documented download mode, then reconnect it; native-USB firmware can make the normal runtime port disappear while the ROM download port still works.

OS checks

Windows

Open Device Manager before connecting the board, then expand Ports (COM & LPT) and Universal Serial Bus devices. Reconnect the board and watch for the new entry. Espressif explicitly recommends this before deciding that the selected COM port exists.

macOS

Hold Option, open the Apple menu, choose System Information, then inspect USB. Apple documents this as the hardware-level check. A board visible under USB but absent from the browser picker points to permission, driver, or download-mode state; a board absent from USB points to the physical data path.

Linux

Reconnect the board and inspect the latest kernel messages, then look for /dev/ttyUSB* or /dev/ttyACM*. If the device node exists but cannot be opened, continue with Failed to open serial port; that is a permission or port-ownership problem, not "no device detected."

Sources

Released under the MIT License.