Home > Blog > Blog

CH340G Pinout, Pin Functions & Common Mistakes

2026/9/2 18:40:34

The CH340G is the SOP-16 USB-to-UART bridge from WCH — the chip on every Arduino Nano clone and half the USB-TTL adapters in the world. Sixteen pins, a 12MHz crystal requirement, and a driver that works on Windows, macOS, and Linux out of the box.

But which pins do you actually wire on a fresh board? That's what this guide is for — the full pinout, the functions that matter, and the mistakes that show up on forum threads every week.

CH340G Pinout

PinNameTypeFunction
1GNDPowerGround — connect to USB ground
2TXDOutputSerial transmit (to the MCU's RX)
3RXDInputSerial receive (from the MCU's TX)
4V3PowerInternal 3.3V regulator output — 4.7-20nF cap to GND (5V mode) or tie to VCC (3.3V mode)
5UD+I/OUSB D+ data line
6UD-I/OUSB D- data line
7XIInput12MHz crystal input
8XOOutput12MHz crystal output
9CTS#InputClear to Send — modem flow control, active low
10DSR#InputData Set Ready — modem flow control, active low
11RI#InputRing Indicator — modem flow control, active low
12DCD#InputData Carrier Detect — modem flow control, active low
13DTR#OutputData Terminal Ready — the auto-reset pin on Arduino boards
14RTS#OutputRequest to Send — second flow-control / auto-reset pin
15R232InputAuxiliary RS232 enable — active high, internal pull-down, inverts RXD when asserted
16VCCPowerSupply rail — 5V or 3.3V (0.1µF decoupling)

Per the WCH CH340 datasheet: the "#" suffix means active low. Pins 9-12 are inputs you can leave floating when you don't use hardware flow control — the driver handles the rest.

What the 16 pins do — where the SOP-16 budget goes:

Modem flow control (CTS# DSR# RI# DCD# DTR# RTS#)6 pins
Power (GND, VCC, V3)3 pins
Serial + USB + Clock (TXD RXD UD+ UD- XI XO)6 pins
Auxiliary RS232 (R232)1 pin

Nearly half the package is modem flow control — pins most UART designs never wire. The core circuit needs only 10 pins; the rest exist for RS232-era compatibility.

CH340G SOP-16 1 GND 2 TXD 3 RXD 4 V3 5 UD+ 6 UD- 7 XI 8 XO 9 CTS# 10 DSR# 11 RI# 12 DCD# 13 DTR# 14 RTS# 15 R232 16 VCC Left 1-8: power, serial, USB, crystal / Right 9-16: modem + RS232

SOP-16 pinout: pins 1-8 carry the essentials — power (1, 4, 16), the serial pair (2, 3), the USB lines (5, 6) and the 12MHz crystal (7, 8). Pins 9-14 are the modem flow-control set (all active low), pin 15 the RS232 mode latch, and VCC/ GND close the loop.

Pin Functions That Actually Matter

TXD (pin 2) and RXD (pin 3) — the serial pair. TXD transmits to the MCU's RX; RXD receives from the MCU's TX. Cross them — TX to RX, RX to TX. Wiring them straight-through is the most common "why is nothing coming through" mistake.

Note that RXD sits at 5V logic on a 5V-supplied CH340G; a 3.3V MCU's TX needs a divider or level shifter into it, and the CH340G's TXD at 5V needs protection before a 3.3V MCU's RX.

V3 (pin 4) — the mode switch. In 5V operation, decouple the internal 3.3V regulator with a 4.7-20nF capacitor to ground. In 3.3V operation, tie V3 directly to VCC. The 10nF value on most Arduino schematics sits inside the official window.

What you must not do: run 5V VCC and tie V3 to VCC — that shorts the internal regulator output to 5V.

XI (pin 7) and XO (pin 8) — the 12MHz clock. A 12MHz crystal with two ~22pF load caps across XI/XO is the standard circuit. Or feed an external oscillator into XI and leave XO unconnected.

Why does the clock matter so much? Because the CH340G has no internal oscillator — no 12MHz on XI, no enumeration, no COM port.

DTR# (pin 13) and RTS# (pin 14) — the auto-reset pair. On Arduino boards, DTR# goes through a 100nF capacitor to the MCU's RESET. When the host opens the serial port, DTR# pulses low and the capacitor couples the edge into RESET.

RTS# is the second flow-control output — some boards use it for the EN pin on ESP8266 modules. Why does the capacitor matter? Because a direct connection would hold the MCU in reset the whole time the port is open.

R232 (pin 15) — the RS232 mode latch. Asserting it (high) inverts the RXD signal, for use with external RS232 transceivers. It's latched during power-on reset, so it must be set at power-up, not mid-run. Floating it (internal pull-down) is the normal UART-TTL configuration.

Typical Application Circuit

USB connector D+ D- CH340G SOP-16 5/6 UD+ UD- 7/8 XI XO 13 DTR# 14 RTS# TXD RXD MCU RX ← TXD (5V) TX → RXD (divider) RESET ← DTR# 100nF auto-reset 12MHz 2x 22pF to GND V3: 4.7-20nF to GND (5V mode)

USB-to-UART wiring: USB D+/D- into pins 5/6, a 12MHz crystal on 7/8, TXD to the MCU's RX and RXD from the MCU's TX (with a divider for 3.3V MCUs). The DTR# to RESET path through 100nF gives the auto-reset that makes Arduino-style uploads work.

Common Mistakes

1. TXD/RXD wired straight-through. The serial pair is crossed: CH340G TXD goes to the MCU's RX. Straight-through gives you a port that opens fine and transfers nothing.

2. V3 tied to VCC in 5V mode. That shorts the internal 3.3V regulator output to 5V. V3 gets a 4.7-20nF cap in 5V mode; it ties to VCC only in 3.3V mode.

3. No crystal on XI/XO. The CH340G has no internal oscillator. No 12MHz clock = the chip never enumerates, no COM port appears. (This is the main reason the CH340C with its built-in crystal exists.)

4. 5V TXD into a 3.3V MCU's RX. The CH340G runs its serial pins at VCC logic. A 5V TXD into a 3.3V STM32 or ESP32 RX can latch up or damage the pin. Divide it down or use a level shifter.

5. Forgetting the DTR auto-reset capacitor. DTR# must couple through a capacitor (typically 100nF) to RESET. A direct connection holds the MCU in reset while the port is open — "board won't upload, but serial monitor works" is the symptom.

6. Wrong V3 capacitor value. The official window is 4.7-20nF — the 10nF on Arduino schematics is correct. A 100nF there is out of spec, and leaving V3 empty in 5V mode leaves the internal reference noisy.

7. Assuming the 2023+ driver works with clone chips. WCH's newer Windows drivers dropped support for counterfeit CH340G parts. If a board stops enumerating after a driver update, that's the tell — genuine parts keep working. Buy from traceable stock.

Frequently Asked Questions

Q1: Is CH340G pin-compatible with CH340C?

A: Mostly, but the crystal pins differ in practice. The CH340C (SOP-16) has the same footprint but a built-in crystal — its XI/XO pins don't need external components. On a CH340G board, the crystal and caps sit on pins 7/8; a CH340C drops onto the same board and the empty crystal pads are harmless.

Q2: What is the maximum baud rate of the CH340G?

A: 2Mbps (the official spec). Standard rates up to 921600 are rock solid; above that, quality of the crystal and PCB layout start to matter. For production, stick to 115200 or 921600 unless the host and cable are known-good.

Q3: My CH340G stopped showing up after a Windows update — what happened?

A: The 2023 WCH drivers dropped clone-chip support. If your board uses a counterfeit CH340G, the newer driver refuses it. Fixes: install the 2019-era driver, or replace the chip with a genuine one. Genuine CH340G parts keep working with current drivers.

Q4: Why does my 3.3V MCU get hot when connected to a CH340G board?

A: The CH340G's serial pins run at VCC (5V) logic. A 5V TXD into a 3.3V MCU's RX pin can back-feed the MCU's ESD diodes and pull the rail up. Add a divider (2:1) or a level shifter between the CH340G TXD and the 3.3V MCU's RX.

Q5: What are RTS# and DTR# for on an ESP8266 board?

A: Auto-programming. RTS# drives the EN (enable) pin through a capacitor while DTR# drives GPIO0 — the esptool sequence toggles them to enter bootloader mode. Wire them through 100nF caps, and keep the polarity per the board's schematic; getting them swapped is a classic "can't flash the ESP" cause.

Q6: Can I leave the modem pins (CTS#, DSR#, RI#, DCD#) unconnected?

A: Yes. Without hardware flow control, all four float fine — the driver treats them as inactive. Only wire them if you're building an RS232-style modem interface with full flow control.

Q7: How do I tell a genuine CH340G from a clone?

A: Check the marking and the driver behavior. Genuine parts carry a clean WCH logo mark and keep working with the 2023+ drivers; clones typically fail after the driver update. On the bench, a genuine part also enumerates with a stable COM port across reboots — clones sometimes drop after sleep/wake cycles.

Subscribe to IC-MAX!
Contact Name
*Email
Featured PartsMore
LNK304DN-TL
LNK304DN-TL Power Integrations
LNK304GN-TL
LNK304GN-TL Power Integrations
LNK304DG-TL
LNK304DG-TL Power Integrations
TNY277PN
TNY277PN Power Integrations
TNY276PN
TNY276PN Power Integrations
TNY278PN
TNY278PN Power Integrations
TNY278GN-TL
TNY278GN-TL Power Integrations
TNY280GN-TL
TNY280GN-TL Power Integrations
TOP266KG-TL
TOP266KG-TL Power Integrations
TOP258PN
TOP258PN Power Integrations
TOP253PN
TOP253PN Power Integrations
TOP253PNAU
TOP253PNAU Power Integrations
index: 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
ICMASS.COM

HOME

ICMASS.COM

PRODUCT

ICMASS.COM

PHONE

ICMASS.COM

USER