Skip to the content
2 layers18 × 33 mmUsb to uart, the printed circuit board in 3D

A compact USB-C to 5V UART adapter based on the WCH CH340C.

Size
18 × 33 mm
Copper layers
2
Thickness
1.6 mm
Parts
12
Nets
14
Pads
62
Tracks, vias
66, 26
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
8 Sep 2026
Updated
8 Sep 2026

Overview

Usb to uart is an open-source printed circuit board by solderdemon, from the solderdemon/usb-to-uart repository on GitHub. It is a 2-layer board of 18 × 33 mm with 12 parts on 14 nets, routed with 66 tracks and 26 vias.

It is built around the CH340C. Its parts include 5 resistors, 3 diodes, 1 capacitor, 1 IC and 1 connector. It belongs with the interfaces and adapters boards of this library.

Main components

1

README

README.md

USB to UART Adapter (CH340C)

A compact USB-C to 5V UART adapter based on the WCH CH340C.

Designed primarily as a direct plug-in serial adapter for retrocomputing systems like the rosco_m68k and rosco_6502, but also works with any 5V microcontroller or serial device using a standard 6-pin header.

USB to UART 3D View

Highlights

  • Controller: WCH CH340C (integrated clock oscillator — no external crystal required)
  • USB Interface: USB Type-C receptacle with 5.1 kΩ CC pull-downs (compatible with both C-to-C and A-to-C cables)
  • Logic Level: Native 5V TTL (powered directly from USB VBUS; ideal for 5V retro hardware without level shifters)
  • Flow Control: Hardware RTS / CTS lines connected
  • LED Indicators: PWR (power), TX (transmit data), RX (receive data)
  • Header: 1×6 right-angle 2.54 mm (0.1") pin header

Pinout

The 6-pin header is labeled on the silkscreen from the perspective of the target board, matching the UART pinout on rosco_m68k and rosco_6502:

PinSilk LabelAdapter Signal (CH340C)Target Signal (rosco)Description
1GNDGNDGNDGround (square pad)
2RTSCTS (pin 9, input)RTS (output)Flow control from target to PC
3VCCVBUS (5V output)VCC (5V)5V power from USB
4RXTXD (pin 2, output)RX (input)Data from PC to target
5TXRXD (pin 3, input)TX (output)Data from target to PC
6CTSRTS (pin 14, output)CTS (input)Flow control from PC to target

Note: Because the silkscreen matches the target's pinout, you can plug this adapter directly into a rosco_m68k or rosco_6502 serial header with a 1:1 connection without crossing TX/RX or flow control lines.

Board Views

Top SideBottom Side
Top ViewBottom View

Bill of Materials (BOM)

ReferenceValuePackage / FootprintNotes
U1CH340CSOIC-16USB to serial bridge with internal oscillator
J1USB-C 14PTYPE-C-31-M-12USB Type-C receptacle (USB 2.0)
INPUTConn_01x06PinHeader 1×06, 2.54 mmRight-angle pin header
C1100 nF0603VCC / V3 decoupling capacitor
R1, R25.1 kΩ0603USB-C CC1 / CC2 pull-down resistors
R3, R4, R51 kΩ0603Current-limiting resistors for LEDs
D1, D2, D3LED0603PWR, TX, and RX indicators

Manufacturing & Hardware Files

License

Open Source Hardware (OSHW).

Parts

12
QtyValueFootprintReferences
31kR_0603_1608MetricR3, R4, R5
25.1KR_0603_1608MetricR1, R2
1100nFC_0603_1608MetricC1
1CH340CSOIC-16_3.9x9.9mm_P1.27mmU1
1PWRLED_0603_1608MetricD1
1RXLED_0603_1608MetricD3
1TXLED_0603_1608MetricD2
1UART_APinHeader_1x06_P2.54mm_HorizontalINPUT
1USB-CUSB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ1

Similar boards

  • 4 layers91 × 53.1 mmNff pcb, the printed circuit board in 3D

    Nff pcb

    o7-machinehum/flipper-blackhat

    Linux based WiFi pentesting device for the Flipper Zero.

    184 parts300
  • 2 layers66.8 × 34 mmESP8266, the printed circuit board in 3D

    ESP8266

    MaloufSleep/ME-ESP8266

    Malouf Electronics - ESP8266 Dev Board

    127 parts204MIT
  • 2 layers13.7 × 21.4 mmZ2m partner, the printed circuit board in 3D

    Z2m partner

    smarthomefans/z2m_partner

    Hardware module for iobroker.zigbee

    52 parts186
  • 2 layers192.4 × 50 mmOmote, the printed circuit board in 3D

    Omote

    OMOTE-Community/OMOTE-Hardware

    Open Source Remote - Hardware

    187 parts157GPL-3.0
  • 2 layers84.2 × 52 mmPicoPico, the printed circuit board in 3D

    PicoPico

    DavidVentura/PicoPico

    Pico-8 Player

    57 parts141
  • 4 layers43 × 49 mmEsppdp, the printed circuit board in 3D

    Esppdp

    Spritetm/esppdp

    ESP32-based PDP11 simulator, based onSimH

    55 parts141
  • 2 layers36 × 58 mmUps adaptor, the printed circuit board in 3D

    Ups adaptor

    aronreid/ups-to-esp32

    Put a USB-only UPS on the network: an ESP32-S3 board and firmware that serves NUT on TCP 3493, with a web UI. No host computer, no Raspberry Pi.

    38 parts130GPL-3.0
  • 2 layers85 × 56 mmHB RF ETH, the printed circuit board in 3D

    HB RF ETH

    alexreinert/PCB

    Some of my PCBs

    96 parts104

Questions

How big is the Usb to uart PCB?

It measures 18 × 33 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Usb to uart use?

12 parts, built around the CH340C. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Usb to uart KiCad files?

From the solderdemon/usb-to-uart repository on GitHub, at the commit this page was made from: the board is main.kicad_pcb and its schematic main.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Usb to uart design in my own project?

Its repository states no licence, so its author keeps all rights: ask solderdemon before reusing the design.