8 November 2026 · Soldr
CH340 and CP210x USB drivers: install them and find the COM port
Short answer: look at the small chip next to your board's USB socket. If it says CH340 (or CH341), get the driver from WCH, the chip's maker. If it says CP2102 (or another CP210x), get it from Silicon Labs. Install, unplug and replug the board, and a new serial port appears: a COM port on Windows, a /dev/cu. device on a Mac, and usually /dev/ttyUSB0 on Linux. Then pick that port in the IDE or in your browser.
When a board doesn't show up in the port list, the cause is usually not the board. It's a missing driver for its USB-to-serial chip, or a charge-only cable. Compatible Arduino Unos and Nanos often use a WCH CH340, and many ESP32 and ESP8266 boards use a Silicon Labs CP2102. The original Arduino Uno uses its own ATmega16U2 instead. Here's how to sort out both common chips, from the makers' own download pages.
Step 1: which chip do you have?
- Read the chip near the USB socket. CH340G / CH340C / CH340N, or CP2102 / CP2104.
- Check the product page. Our reference pages and Compoden listings name the chip: the compatible Uno R3 (CH340G), the compatible Nano R3 (CH340), the ESP32 30-pin board (CP2102), the NodeMCU ESP8266 (CP2102) and the stand-alone CP2102 USB-UART board.
Step 2: get the driver from the chip maker
CH340 / CH341 (WCH)
WCH's download page lists the Windows driver as CH341SER.EXE, a single installer for CH340 and CH341 chips (CH340G, CH340T, CH340C, CH340N, CH340K, CH340E, CH340B and the CH341 family). It supports Windows 11, 10, 8.1, 8 and 7, plus older versions and Windows Server, in 32 and 64 bit, and is Microsoft WHQL certified. At the time of writing it's version 4.0, dated 24 June 2026.
WCH also publishes CH34XSER_MAC.ZIP for macOS (OS X 10.9 and later, including macOS 11 Big Sur and newer, with an installation guide inside) and CH341SER_LINUX.ZIP for Linux. Download only from WCH's own site, wch-ic.com.
CP210x (Silicon Labs)
Silicon Labs' "CP210x USB to UART Bridge VCP Drivers" page offers drivers for Windows, macOS, Linux and Android. Two points from that page are worth knowing:
- Windows: some builds of the driver come through Windows Update. On recent Windows 10 and 11 releases, one is offered as an optional update.
- Linux: Silicon Labs states that the Linux driver is maintained in the Linux kernel tree, so most Linux systems recognise a CP210x without an extra install.
Download only from Silicon Labs' own site, silabs.com.
Step 3: find the port
- Windows: open Device Manager and expand Ports (COM & LPT). Unplug and replug the board, and watch which COM entry appears and disappears. Its name usually includes the chip ("USB-SERIAL CH340" or "Silicon Labs CP210x USB to UART Bridge").
- macOS: after installing, the board appears as a
/dev/cu.…device. In the IDE's port list, pick the entry that appears when you plug the board in. - Linux: run
ls /dev/ttyUSB*before and after plugging in. If you can't open the port, your user may need to be in the group that owns it (oftendialout).
Still no port?
- Try another cable. Many USB cables only charge. If nothing appears on any computer, start here.
- Try another USB socket, directly on the computer rather than through a hub.
- Reinstall the driver, then restart the computer once.
- Check the chip again. A CP2102 board won't appear with only the CH340 driver installed, and the other way round.
Arduino IDE 1.8.19 or 2.x?
Both see the same ports once the driver is installed. Arduino's software page currently lists Arduino IDE 2.3.10, with autocompletion, code navigation and a live debugger, for Windows 10 or newer (64-bit). The older Legacy IDE 1.8.19 is still offered, for Windows 7 and newer. If your computer runs Windows 7 or 8, 1.8.19 is the version for it. Otherwise, use 2.x. On a Nano with the older bootloader, choose "ATmega328P (Old Bootloader)" in either version (see original vs compatible boards).
Flashing from the browser
Soldr flashes ESP32, Uno, Mega and Nano boards from Chrome or Edge on a computer, with no IDE to install. The browser still talks to the board through the same USB chip, so the driver step above applies there too. Once the port shows up, Chrome lists it in its "wants to connect to a serial port" dialog. Here's the full browser upload walk-through.
On Compoden: Uno R3 (CH340G), Nano R3 (CH340), ESP32 30-pin (CP2102), CP2102 USB-UART board. Describe your build on app.soldr.ai. Sign in and get 100 credits free.