CompletedCH340C-USB TO TTL WITH TYPE C
PROCH340C-USB TO TTL WITH TYPE C
License
:CERN-OHL-P-2.0
Description
Project Description
CH340C USB to TTL with Type-C
This project is a compact and reliable USB to TTL (serial) converter PCB based on the CH340C IC, featuring a USB Type-C connector, an automatic ESP32 reset/bootloader switching circuit, and a jumper-selectable output voltage (3.3V or 5V), designed to provide seamless serial communication and one-click flashing for ESP32-based microcontrollers and other embedded devices with mixed voltage requirements.
Overview
The board utilizes the CH340C USB to Serial (UART) bridge IC to translate USB signals from a host computer into TTL-level serial signals. Beyond basic serial conversion, this design integrates an auto switch mode circuit using two S8050 NPN transistors driven by the DTR and RTS signals, allowing automatic control of the ESP32's EN (reset) and BOOT (GPIO0/D0) pins — eliminating the need for manual button-pressing during firmware upload. In addition, the board provides a jumper-selectable VCC output, letting the user choose between 3.3V and 5V power rails to match the target device's voltage requirement.
Key Design Architecture
- USB Interface: USB Type-C 16-pin connector (CC1/CC2 configuration resistors for cable orientation detection, SS110 Schottky diode for VBUS protection)
- Conversion IC: CH340C USB to Serial bridge with internal oscillator (no external crystal required)
- LED UART Indicator: TX and RX status LEDs, each driven through a 1kΩ current-limiting resistor
- Auto Switch Mode: Dual S8050 transistor circuit converting DTR/RTS signals into EN/BOOT control signals for automatic ESP32 reset and download mode entry
- Selectable Power Output: Jumper-configurable VCC output between 3.3V and 5V, each rail decoupled with a 100nF capacitor
- Shared ground plane for stable signal reference and reduced noise coupling
Features
- USB to TTL serial conversion via CH340C
- USB Type-C connector with VBUS protection diode (SS110)
- Automatic ESP32 reset and bootloader mode switching (no manual BOOT/EN button needed)
- Jumper-selectable 3.3V/5V output voltage for flexible target board compatibility
- TX/RX indicator LEDs for real-time communication status
- Plug-and-play operation with broad OS driver support (Windows, Linux, macOS)
- Compact, minimal component count design
Design Considerations
The auto switch mode circuit uses the DTR signal (through a 10kΩ base resistor and S8050 transistor) to pull down EN, and the RTS signal (through a similar path) to pull down BOOT/GPIO0 — replicating the classic auto-program sequence used by ESP32 development boards. Since BOOT corresponds to D0 on the ESP32, this allows standard tools like esptool or the Arduino IDE to automatically trigger the correct reset and download sequence without user intervention.
The voltage selection jumper allows the user to choose between a regulated 3.3V rail and a direct 5V rail from USB VBUS, both filtered with 100nF decoupling capacitors, making the board compatible with a wider range of microcontrollers and logic-level peripherals without needing an external level shifter.
The CH340C's internal oscillator removes the need for an external crystal, simplifying the layout and reducing component count.
Applications
- One-click firmware flashing for ESP32 and ESP32-based boards
- Serial debugging and monitoring for both 3.3V and 5V logic devices
- Embedded system development and prototyping
- Robotics and IoT device communication
- General-purpose UART interfacing with automatic reset control and flexible power selection
Summary
This PCB provides a complete USB to TTL solution with automatic ESP32 reset/bootloader switching and jumper-selectable 3.3V/5V output, combining the CH340C serial bridge, a modern USB Type-C interface, and a DTR/RTS-driven auto-program circuit into a compact, plug-and-play design for streamlined and flexible firmware development.
Design Drawing
The preview image was not generated, please save it again in the editor.BOM
Bom empty
CloneProject Members
Intellectual Property Statement & Reproduction Instructions
This is an open-source hardware project. All intellectual property rights belong to the creator. The project is shared on the platform for learning, communication, and research only; any commercial use is prohibited. If your intellectual property rights are infringed on EasyEDA, please notify us by submitting relevant materials in accordance with the Rules for Complaints and Appeals of IPR Infringement.
Users must independently verify the circuit design and suitability when replicating this project. All risks and consequences are borne by the user, and the platform assumes no liability.
Empty


Comment