USB serial drivers for CH340, CP2102, and CH9102
Short answer: identify the USB bridge first, then use its manufacturer package. CH340/CH341 and CH9102 are WCH devices; CP2102 is a Silicon Labs CP210x device. Do not install all three drivers blindly.
Identify the bridge
- Windows: reconnect the board while Device Manager is open. Read the device name or Properties → Details → Hardware Ids.
- macOS: hold Option and choose Apple menu → System Information → USB. Apple documents this as the hardware-level check.
- Linux: reconnect, inspect the latest kernel log, and note the USB VID/PID and driver bound to the device.
Native-USB ESP32-S2/S3/C5 boards are not CH340/CP2102/CH9102 devices. If a Cardputer, CoreS3, StickS3, T-Display-S3, T-Deck, ESP32-C5, or Flipper Wi-Fi Dev Board is missing, try its download-mode gesture before installing a bridge driver.
Windows
| Bridge | Official package | What to do |
|---|---|---|
| CH340 / CH341 | WCH CH341SER | Install or update this package only when Hardware Ids identify a CH34x bridge. |
| CH9102 | WCH CH343SER | WCH's CH343 family package covers CH9102-class USB serial devices; M5Stack links this driver for StickC Plus2. |
| CP2102 / CP210x | Silicon Labs CP210x VCP | Use the current CP210x Universal Windows Driver. Silicon Labs lists v11.5.0 dated 2025-12-31. |
After installation, reconnect the board and confirm that a new COM port appears. If the COM port exists but cannot open, use Failed to open serial port.
macOS — Apple silicon and Intel
- On an Apple silicon laptop, unlock the Mac and approve the accessory when prompted. Apple says Don't Allow permits power but blocks data.
- Confirm the device appears under System Information → USB before changing drivers.
- Install the bridge vendor's current macOS package only when the USB identity matches:
- CH340/CH341/CH9102: WCH CH34x macOS driver. WCH's official macOS repository lists CH340, CH341, CH342, CH343, CH344, CH9101, CH9102, and CH9103 support.
- CP2102/CP210x: Silicon Labs CP210x VCP. Silicon Labs lists macOS driver v6.0.3 dated 2025-05-30.
- Follow macOS Privacy & Security prompts from the signed installer, restart if the installer requests it, then reconnect the board.
Do not use an old third-party kernel extension when the vendor's current package supports your OS and CPU. The official WCH repository and Silicon Labs download page are the source of truth.
Linux
Linux distributions ship USB-serial drivers through the kernel. Silicon Labs states its CP210x Linux driver is maintained in the kernel tree. First confirm whether the device bound to a driver and created /dev/ttyUSB* or /dev/ttyACM*; do not compile an out-of-tree module merely because the browser picker is empty.
If the node exists but access is denied, add the user to the device's owning serial group according to the distribution documentation, then start a new login session. Espressif names dialout and uucp as common groups. If a current kernel truly lacks support for the detected WCH device, use WCH's official Linux repositories rather than an unsigned mirror.
Sources
- WCH — CH341SER Windows package, CH343SER Windows package, and CH34x macOS package (manufacturer downloads; checked 2026-07-16).
- WCH — official ch34xser_macos repository (supported-device family and official package pointer; checked 2026-07-16).
- Silicon Labs — CP210x USB to UART Bridge VCP Drivers (Windows v11.5.0, 2025-12-31; macOS v6.0.3, 2025-05-30; Linux kernel-maintenance note).
- M5Stack — M5StickC Plus2 documentation (CH9102 identity and WCH driver family; checked 2026-07-16).
- Apple Support — Use the ports on your Mac (Apple silicon accessory approval and System Information; checked 2026-07-16).
- Espressif — esptool basic options (driver discovery and Linux serial permissions; checked 2026-07-16).