element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • About Us
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Open Source Hardware
  • Technologies
  • More
Open Source Hardware
Blog CH340: Building Yet Another USB-C to UART Adapter Board
  • Blog
  • Forum
  • Documents
  • Events
  • Polls
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Open Source Hardware to participate - click to join for free!
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: shabaz
  • Date Created: 27 Aug 2025 9:25 PM Date Created
  • Views 699 views
  • Likes 12 likes
  • Comments 3 comments
  • uart-to-usb
  • CH340
  • CH340K
  • usb
  • uart
  • usb-to-uart
Related
Recommended

CH340: Building Yet Another USB-C to UART Adapter Board

shabaz
shabaz
27 Aug 2025

Table of Contents

  • Introduction
  • Features
  • Circuit Diagram
  • Building It
  • Using It
  • Summary

Introduction

USB-to-UART adapters are extremely useful when connecting devices, as UART is a widely standard protocol available on many microcontrollers and peripherals, such as GPS modules.

Although they don't cost a lot to purchase ready-made, it can be useful to have a custom design that can be dropped into new circuits. I recently used a CH340K USB-UART chip on a custom board, but I also created a standalone general-purpose USB-UART board with the same chip, so that I could try it out separately, too.

This very short blog post documents it.

image

Features

The design is quite basic. For a more feature-rich USB-UART adapter board, see  Building a USB-C USB-UART Board  and for an even simpler USB-UART board,  see Building a USB UART Serial Adapter  

Here are the main features:

* USB-C connector

* 3.3V UART only

* USB-powered 3.3V regulator to power external circuits

* RTS and CTS connections available if required

* Very small (yet easy to solder!): 34 x 14 mm

Circuit Diagram

The circuit follows one of the examples in the CH340 datasheet, specifically the one in section 7.6 in the datasheet, with some minor differences.

Here is the PDF version of the circuit.

image

Building It

I sent the E-Z UART Gerbers zip file to a PCB manufacturer. The PCB is easy to assemble, and the smallest passive component is 0805-sized. The USB-C connector may look awkward, but it's remarkably easy to hand-solder. The pins on the USB connector are very short, and don't actually poke out the other side of the board, reducing the risk of shorts there. Solder just wicks into the tiny holes in the PCB, almost eliminating the risk of shorts provided thin solder is used, and a small soldering tip.

Another technique is to force some solder paste into the holes before placing the connector on the board; it works well, but isn't essential. 

If you prefer the USB connector pins to protrude slightly on the underside of the board, you can order a 1mm (or 0.8mm) PCB instead of the standard 1.6mm thickness. Again, it's not essential.

image

image

Using It

So far, I've only tested up to 115200 baud, and only with Windows. I simply plugged the board into the PC, and it automatically installed a COM port. I've yet to try Linux. I don't think it works on Android without a driver.

Summary

The CH340K was easy to use to assemble up a little USB-UART adapter board, and it seems to work fine.

One thing I wish I'd done is expose the DTR line on the UART connector, which can be something for a future revision.

Thanks for reading!

  • Sign in to reply
Parents
  • genebren
    genebren 7 days ago

    Another handy tool! I use a variety of USB adapters (Serial and Parallel), but up until now, I have stuck with the FTDI parts.  It would be interesting to look into other offerings for cost and availability options.  Thanks for sharing!

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • shabaz
    shabaz 7 days ago in reply to genebren

    Hi Gene,

    I recently got bitten by using a "PL2303" USB-to-RS-232 adapter cable (from a reputable manufacturer that used that genuine part), because I needed it to also work with an ancient  version of Windows (Win 7), and I knew that drivers were available for PL2303. What I didn't realize, is that there are different suffixed PL2303 parts (e.g. PL2303GT), and not all are supported!  

    Worse, old Windows happily installed the driver for the versions that it did support, but, when plugging in the new cable, it would blue-screen. It took me forever to remove the driver from the registry etc. It's a really long process, took me half a day.

    After that, I ordered a FTDI UT232R-200 cable at three times the price : ( but at least it worked. That's one of the downsides of experimenting with reducing costs, unless it's tested on all expected OS's that users may connect them into, things could go wrong : (

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Comment
  • shabaz
    shabaz 7 days ago in reply to genebren

    Hi Gene,

    I recently got bitten by using a "PL2303" USB-to-RS-232 adapter cable (from a reputable manufacturer that used that genuine part), because I needed it to also work with an ancient  version of Windows (Win 7), and I knew that drivers were available for PL2303. What I didn't realize, is that there are different suffixed PL2303 parts (e.g. PL2303GT), and not all are supported!  

    Worse, old Windows happily installed the driver for the versions that it did support, but, when plugging in the new cable, it would blue-screen. It took me forever to remove the driver from the registry etc. It's a really long process, took me half a day.

    After that, I ordered a FTDI UT232R-200 cable at three times the price : ( but at least it worked. That's one of the downsides of experimenting with reducing costs, unless it's tested on all expected OS's that users may connect them into, things could go wrong : (

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
Children
No Data
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube