The CH340 (and its cousins CH341, CH340G, CH340C) is the USB-to-serial chip inside millions of cheap Arduino clones, ESP boards and USB-TTL adapters. When Windows shows the board as “Unknown Device” or the COM port never appears, you need this driver. Here’s the official WCH driver, hosted below, plus the install and troubleshooting steps.

⬇ CH340 / CH341 driver (official WCH)

Windows XP → 11 · CH340G, CH340C, CH341 · unmodified WCH package

Download CH340 driver

The single package covers CH340 and CH341. macOS and Linux usually have this built in — this driver is for Windows.

Installing (the right order matters)

  1. Unplug the board/adapter first;
  2. Extract the ZIP and run SETUP.EXE → click INSTALL. A success dialog confirms it;
  3. Now plug in the board. Windows binds the driver and a COM port appears under Device Manager → Ports (COM & LPT);
  4. In the Arduino IDE (or your tool), select that COM port. Done.

Troubleshooting

Board shows as “USB2.0-Serial” with a yellow ⚠ in Device Manager? Driver missing or mismatched. Run SETUP.EXE → UNINSTALL first, then INSTALL again, replug.

COM port appears then vanishes / random disconnects? Almost always a charge-only USB cable or a weak hub. Swap to a known data cable, plug into a rear port.

Wrong or very high COM number, or “port in use”? Device Manager → the CH340 port → Properties → Port Settings → Advanced → assign a lower free COM number.

Uploads fail even with the port selected (esp. on ESP boards)? The driver’s fine — that’s usually baud rate or the board’s boot mode. Different topic, but the CH340 itself is working if the port shows up.

Counterfeit-chip lockout? Unlike the PL2303 “Phased Out” saga, WCH has never bricked clones — the CH340 is refreshingly drama-free, which is a big reason it took over the low-cost market.

The CH340 family

CH340G The classic, needs an external crystal — most Arduino Nano clones;
CH340C Crystal built in — newer, cleaner boards;
CH341 Also does parallel/I2C/SPI — same driver; it’s the chip on the CH341A programmer too.

Verdict

One driver, one install, and the most common “my Arduino won’t connect” problem is gone. If your adapter uses a Silicon Labs chip instead, you need the CP2102 driver; if it’s a Prolific chip on Windows 11, brace for the “Phased Out” fix.