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
- Replace the cable first. Use a cable known to carry data, not a charge-only cable. Remove docks and USB hubs for this test.
- Reconnect the board directly. Unplug it, wait five seconds, plug it into the computer, then click Connect again.
- 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.
- 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.
- Install only the matching bridge driver. CH340/CH341, CH9102, and CP2102 use different vendor packages. Use the USB serial driver guide.
- 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
- Chrome for Developers — Read from and write to a serial port (official Web Serial chooser, granted-port, open, close, and permission behavior; published 2020, checked 2026-07-16).
- Espressif — esptool basic options: serial port (official Windows Device Manager, macOS System Information, driver, and Linux permission guidance; checked 2026-07-16).
- Apple Support — Use the ports on your Mac (Apple silicon accessory approval and System Information USB check; checked 2026-07-16).
- Espressif — esptool-js v0.6.0 release (released 2026-03-26; the version used by this site).