Arduino / ESP Board Detector
Identify a board from its USB IDs — and be told plainly when only the bridge chip is known.
How this talks to your device
You pick the board's port from the browser's chooser and the page reads the USB vendor and product IDs the port reports. Those are looked up in two separate tables, and which table matched is the finding. An exact vendor-and-product match identifies a specific board — an Uno R4 Minima, a Nano 33 BLE, a Pico — because that pairing is registered to it. Anything else falls through to a table of USB-to-serial bridge chips, and a bridge match identifies the interface rather than the board. That distinction is the whole point of the page: a CH340 is on tens of thousands of different clone boards, so seeing one tells you how the board talks to your computer and nothing at all about what it is. Reporting "Arduino Nano" because most CH340 boards are Nanos would be a guess presented as a finding, and someone would flash the wrong bootloader on the strength of it. No port is opened and nothing is written.
What the results mean
- Exact match
- The vendor and product ID pair is registered to a specific board. This is an identification rather than an inference, and the chip named is the microcontroller.
- Bridge chip only
- The vendor ID belongs to a serial bridge manufacturer — CH340, FTDI, CP210x, PL2303. The chip named is the USB interface, not the microcontroller, and the board itself is genuinely unknown.
- No match
- Neither table has these IDs. Very common on clones, which frequently ship unpublished identifiers. The board still works; it just cannot be named this way.
- No USB identifiers
- The port is not a USB device — a built-in hardware serial port or a virtual one. There is nothing to look up.
Common problems and fixes
- The board is not in the chooser at all
- Check the cable first. A large share of USB cables carry power only, which produces a board whose power light comes on and which never enumerates. Swapping to a known data cable resolves this more often than any driver change.
- It only identifies a CH340
- That is the honest answer rather than a limitation to work around. Read the markings on the largest chip on the board — ATmega328P, ESP32, RP2040 — which is the reliable identification when the USB IDs cannot provide one.
- The board shows up but nothing can talk to it
- On Windows a CH340 or CP210x often needs its driver installed before a port appears at all. If the port exists but data is nonsense, that is a baud rate problem rather than a driver one — the serial terminal will show it.
- Two boards report the same IDs
- Expected on clones sharing a bridge chip. The USB identifiers cannot distinguish them, and neither can any tool that reads only those. Connect to each in turn and see which responds.
Frequently asked questions
Why can it not identify my clone board?
Because the board never says what it is. Official boards have vendor IDs registered to their maker; clones usually ship the bridge chip's own identifiers, which are shared across every product using that chip. There is no signal in the USB identifiers to recover — the information is not hidden, it was never there.
What is a USB-to-serial bridge?
A chip that converts between USB and the plain serial interface a microcontroller speaks. Boards without native USB support need one, which is why a CH340 or FTDI chip sits next to the microcontroller on most cheap boards. Boards with native USB — the Pico, ESP32-S3, Leonardo — talk USB directly and report their own identity, which is why they identify exactly.
Is it safe to run this on a board mid-project?
Yes. No port is opened, nothing is written, and the board is not reset. The USB identifiers are read from what the operating system already knows about the device from enumeration.
Can I use this instead of the Arduino IDE's board list?
For identifying which physical board is on which port, yes, and it is often quicker. For selecting a board to compile against you still need the IDE — knowing you have an Uno R4 does not configure a toolchain, and the IDE's list is where that choice lives.