
Final 3D PCB Render with Color-Coded Silkscreen
Final 3D PCB Render with Color-Coded Silkscreen
This project is a universal USB-to-Serial flasher board based on the CH340C USB-UART bridge.
It is designed for ESP8266, ESP32, ESP01, Arduino, and other microcontrollers with UART bootloading.
Unlike cheap USB-to-TTL adapters, this flasher includes:
- Auto-programming circuit (RTS/DTR โ EN/IO0)
- Reset & Boot pushbuttons for manual control
- Colored silkscreen pin labels for easy connection
- Status LEDs (PWR, TX, RX)
- USB-C connector with ESD protection
- Clean PCB layout with ground pours
This makes it a reliable, beginner-friendly, and professional-quality programmer.
- ๐ USB-C connector (reversible, modern interface)
- โก CH340C USB-UART chip (stable drivers, Windows/Linux/macOS support)
- ๐ ESD protection diodes on USB D+/Dโ
- ๐ Auto-reset circuit for ESP32/ESP8266 (no need to hold BOOT manually)
- โน Manual RESET & BOOT buttons for recovery and testing
- ๐ Color-coded silkscreen pin labels for easy wiring:
- 3.3V (Red), 5V (Purple), GND (Black), TX (Orange), RX (Green), RST/DTR (Blue), EN/IO0 (Yellow)
- ๐ก LED indicators:
- Green = Power
- Orange = TX activity
- Yellow = RX activity
- ๐ก๏ธ SJ jumpers (SJ_RTS, SJ_DTR) to enable/disable auto-programming
- ๐ Compact PCB: ~62 ร 27 mm
| Pin | Function | Color |
|---|---|---|
| 3.3V | 3.3 V output | ๐ด Red |
| 5V | 5 V from USB | ๐ฃ Purple |
| GND | Ground | โซ Black |
| TX | UART Transmit | ๐ง Orange |
| RX | UART Receive | ๐ฉ Green |
| RST | Reset / EN | ๐ฆ Blue |
| DTR | Data Terminal Ready | ๐ฆ Blue |
| EN | Chip Enable | ๐จ Yellow |
| IO0 | Boot Mode Select | ๐จ Yellow |
Two solder jumpers are included:
- SJ_RTS โ Connects RTS โ EN (reset line).
- SJ_DTR โ Connects DTR โ IO0 (boot line).
- Default = closed (auto-programming works normally).
- If you cut the jumper, auto-reset for that pin is disabled.
- This lets you take manual control via the pushbutton, useful for debugging or when using the board as a generic USB-UART adapter.
๐ For ESP32/ESP8266 flashing: leave both SJ closed.
๐ For Arduino or other MCUs without auto-program support: you can cut them.
Here are the key components (from your BOM):
| Qty | Reference | Value | Part No / Notes |
|---|---|---|---|
| 1 | U2 | CH340C | USB-UART bridge |
| 1 | U1 | SGM2212-3.3 | 3.3V LDO regulator |
| 2 | Q1, Q2 | MMBT3904 | NPN for auto-program |
| 2 | R8, R9 | 100k | Base pulldown resistors |
| 2 | R1, R2 | 10k | Base resistors (RTS/DTR) |
| 2 | R4, R5 | 10k | Pull-ups (EN, IO0) |
| 1 | R3 | 1k | Power LED resistor |
| 2 | R6, R7 | 2.2k | TX/RX LED resistors |
| 3 | LED1-3 | Green/Orange/Yellow | Power, TX, RX indicators |
| 3 | D2โD4 | LESD5D5.0 | USB ESD protection |
| 1 | D1 | 1N5819 | Reverse protection |
| 5 | C1โC5 | 10 ยตF | Bulk capacitors |
| 3 | C3, C5, C6 | 100 nF | Decoupling capacitors |
| 2 | SW1, SW2 | Reset/Boot buttons | Tactile SMD |
| 1 | USB1 | USB-C connector | Receptacle |
(๐ Full detailed BOM available in Excel file)
Final routed PCB layout with ground pours
- Connect the board via USB-C to your PC.
- Install CH340 drivers (Windows only, Linux/macOS usually auto-detect).
- Connect your target microcontroller using the 9-pin header.
- ESP32/ESP8266: connect 3.3V, GND, TX, RX, EN, IO0.
- Arduino: connect VCC, GND, TX, RX, RST.
- Flashing ESP8266/ESP32:
- Auto-programming works (no need to hold BOOT).
- Use Arduino IDE / esptool.py / PlatformIO to upload code.
- Flashing Arduino/AVR:
- Connect TX/RX + RST.
- Disable SJ jumpers if needed.
- Manual boot mode:
- Hold BOOT + press RESET โ release RESET, then release BOOT.
- LEDs:
- PWR = board powered
- TX = blinks when sending data
- RX = blinks when receiving data
- ๐ข Safer for ESP (3.3V regulated output, correct auto-programming circuit).
- ๐ข Beginner-friendly (color-coded silkscreen, clear pinout).
- ๐ข Robust USB-C connector with ESD protection.
- ๐ข Supports multiple targets: ESP32, ESP8266, ESP01, Arduino, STM32 (UART bootloader).
- ๐ข Debug-friendly: RESET/BOOT buttons, jumpers to disable auto-reset.
- โ 3D Render (top view)
- โ PCB Layout (routing + pours)
- โ BOM (Excel, LCSC parts)
- โ Schematics (EasyEDA / PDF)
All files can be published on GitHub/PCBWay for sharing.
- ๐ Schematic (PDF)
- ๐ BOM (Excel)
- ๐ Pick And Place (Excel)
- ๐ PCB Layout (PNG)
- ๐ 3D Preview (PNG)
๐จโ๐ป Designed by ElectroIoT
๐ Website: https://electroiot.in
โถ๏ธ YouTube: ElectroIoT-IN
๐ธ Instagram: @electroiot_in
๐ง Email: electroiot.in@gmail.com
โจ Open Source Hardware for Makers โ Share, Learn & Build Together!

