How to find the serial port of a USB device
Identify the COM port, /dev/ttyUSB or /dev/cu device for an Arduino, ESP32 or USB-serial adapter on Windows, Linux and macOS.
Beginner · about 4 min · Windows, Linux, macOS
Every flashing tool, serial monitor and modem utility needs one thing from you: the port name. The reliable trick on all three platforms is to list ports with the device unplugged, plug it in, and list again — the new entry is yours.
What this guide covers
- Linux: list USB-serial devices
- Linux: watch the kernel attach it
- Linux: get a stable name
- Windows: list COM ports in PowerShell
- Windows: WMI fallback
- Windows CMD: show configured ports
- macOS: list callout devices
- Confirm you can open it
Common pitfalls covered
- Permission denied on Linux means group membership, not a wrong port: add yourself to … and re-login.
- A serial monitor, Arduino IDE or screen session holding the port makes flashers report the device as busy or missing.
- Missing CH340 or CP210x drivers on Windows show the board as an unknown device with no COM number.
- On macOS always pick /dev/cu.usbserial-* — /dev/tty.* blocks waiting for a carrier signal.
Questions answered
- What is the difference between ttyUSB and ttyACM?
- How do I find the COM port number on Windows?
- Why does my port name change between reboots?
This is a limited preview. The full walkthrough, command syntax and copy-ready examples are available to signed-in users.