ESP32 Bench
Boards: ESP32, S3, C3
Flash and monitor: Web Serial
← All errors

Could not open /dev/ttyUSB0, the port is busy or doesn't exist

Upload and connection

What it looks like

A fatal error occurred: Could not open /dev/ttyUSB0, the port is busy or doesn't exist.
([Errno 13] could not open port /dev/ttyUSB0: [Errno 13] Permission denied: '/dev/ttyUSB0')

What it means

The upload tool could not open the serial port. The text in brackets says why: Permission denied is an access problem, Device or resource busy means another program has the port, and No such file means the board is not seen at all.

Likely causes

  • On Linux, your user is not in the group that owns serial ports.
  • A serial monitor, the bench page or another IDE has the port open.
  • The board was unplugged or appeared under another name, such as /dev/ttyACM0 or COM4.
  • A missing USB-to-serial driver (CP210x or CH340) on Windows or macOS.

How to fix it

  1. Linux: sudo usermod -aG dialout $USER on Debian and Ubuntu (uucp on Arch), then log out and back in.
  2. Close other serial monitors and disconnect the bench page before uploading.
  3. Pick the port again in Tools > Port after replugging.
  4. Install the CP210x or CH340 driver for the bridge chip on your board.

Paste your full log

The lines around the error usually say more. Paste everything from the reset to the backtrace and the crash translator explains each part. It runs in your browser; nothing is sent anywhere.