Skip to the content
PCBKitNew board
4 layers49.5 × 21.6 mmUSB Replug Dongle RevC1, the printed circuit board in 3D

USB Replug Dongle RevC1

gslee-dev/portpulse

USB replug test dongle with KiCad hardware, CH552 firmware, and native C host

Size
49.5 × 21.6 mm
Copper layers
4
Thickness
1.6 mm
Parts
38
Nets
31
Pads
161
Tracks, vias
389, 36
Pours
2
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
22 Jul 2026
Updated
22 Jul 2026

Overview

USB Replug Dongle RevC1 is an open-source printed circuit board by gslee-dev, from the gslee-dev/portpulse repository on GitHub, published under the MIT licence. It is a 4-layer board of 49.5 × 21.6 mm with 38 parts on 31 nets, routed with 389 tracks and 36 vias.

It is built around the CH552T, USBLC6-2SC6 and CH334U, with the FSUSB42MUX, TPS2552DBVR-1 and XC6206P332MR-G among its other parts. Its parts include 10 capacitors, 9 resistors, 7 ICs, 3 connectors and 1 crystal. It belongs with the 8051 (CH55x, STC, AT89) boards of this library.

Main components

8

README

README.md

PortPulse

USB 장치를 소프트웨어 명령으로 실제 분리·재연결하는 효과를 만들기 위한 USB 2.0 test dongle입니다. PC와 제어 MCU의 연결은 유지하고, DUT 쪽 VBUS와 D+/D−만 순서대로 차단·복구합니다.

현재 상태: Rev.C.1 회로·PCB 정적 검사와 펌웨어·호스트 offline build/test 완료. 제조 파일은 생성했으며, PCB 제작과 physical bring-up은 남아 있습니다.

Rev.C.1 KiCad 3D render

커넥터 3D model은 이 render에 포함하지 않았습니다.

한눈에 보기

항목내용
목적USB 장치 replug 회귀시험 자동화
제어CH552T, USB Full-Speed CDC ACM
USB 경로CH334U hub + FSUSB42MUX data switch
전원 경로TPS2552 current-limited VBUS switch
호스트Windows/Linux 대상 C serial CLI — Windows compile 검증, Linux 미검증
PCBKiCad 9, 4-layer, Rev.C.1
제작 상태미제작. 첫 PCB 발주 후보이며 앞선 버전은 설계 단계에서 종료

동작 구조

text
PC / test runner
  └─ USB-C upstream
      └─ CH334U hub
          ├─ CH552 control MCU ─ USB CDC command
          └─ DUT path
              ├─ FSUSB42MUX ─ D+ / D− connect-disconnect
              └─ TPS2552 ─ current-limited VBUS on-off

off는 data pair를 먼저 끊고 VBUS를 차단합니다. on은 data pair를 연결한 뒤 VBUS를 켜고 fault를 다시 확인합니다. 부팅·reset·fault 상태에서는 DUT가 꺼지도록 firmware state machine을 구성했습니다.

지원 명령:

text
on
off
cycle [100..30000]
status
fault
version
help

저장소 구성

text
firmware/ch552/                 CH552 USB CDC firmware와 host-side tests
hardware/RevC1/kicad/           schematic, PCB, custom symbols/footprints
hardware/RevC1/manufacturing/   BOM, positions, Gerber/drill archive
host/portpulse/                 native C serial CLI
docs/                           설계 판단, 검증 결과, bring-up plan

검증 상태

2026-07-22에 다시 실행한 결과입니다.

Gate결과범위
KiCad ERC0 errors, 0 warningsschematic 정적 검사
KiCad DRC0 violations, 0 unconnected, 0 parity issuesPCB 정적 검사
Firmware host testsPASScommand state, descriptors, CDC parser, GPIO initialization-order source checks
SDCC firmware buildPASScode 5,897 / 14,336 bytes, XRAM 79 / 768 bytes
Native host compilePASSWindows target, GCC -Wall -Wextra -Werror -pedantic
Physical hardwareNOT TESTEDPCB 미제작

자세한 명령과 수치는 offline verification에 있습니다. 두 connector footprint의 치수 출처와 미검증 범위는 footprint sources에 기록했습니다.

빌드

Firmware

필요 도구: Python 3, SDCC 4.6 계열, GCC.

text
cd firmware/ch552
python build.py all

Native host

text
cmake -S . -B build
cmake --build build --config Release

예상 사용법은 다음과 같습니다. 실제 장치가 없으므로 end-to-end 실행은 아직 검증하지 않았습니다.

text
portpulse --port COM12 status
portpulse --port COM12 off
portpulse --port COM12 --delay-ms 2000 cycle

발주 전 남은 일

  • BOM의 가격·재고·대체 가능성을 발주 시점에 다시 확인
  • 제조사 preview에서 connector와 polarity/rotation 확인
  • provisional USB VID/PID를 소유하거나 허가받은 값으로 교체
  • 조립 후 rail, safe-off, enumeration, fault injection과 반복 replug 시험

제조 파일이 존재한다는 사실을 production-ready 또는 검증된 하드웨어로 표현하지 않습니다. 실제 합격 조건은 bring-up plan에 고정했습니다.

라이선스

하드웨어·펌웨어·호스트 소스는 MIT License로 공개합니다. 빌드 도구와 외부 구성요소는 각각의 라이선스를 따르며, 저장소의 third-party notices와 firmware의 third-party notices를 함께 확인해야 합니다.

Parts

38
QtyValueFootprintReferences
85.1k 1%Resistor_SMD:R_0603_1608MetricR1, R2, R4, R5, R6, R7, R8, R9
6100nF 16V X7RCapacitor_SMD:C_0603_1608MetricC4, C5, C6, C7, C8, C9
210uF 10V X5RCapacitor_SMD:C_0603_1608MetricC1, C10
21uF 16V X5RCapacitor_SMD:C_0603_1608MetricC2, C3
2USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U6, U7
112 MHzCrystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
13V3USB_Replug_Dongle_RevC1:TP_Pad_0.7mmTP2
151k 1%Resistor_SMD:R_0603_1608MetricR10
1904-131A2032S10100USB_Replug_Dongle_RevC1:C8328_USB_AJ2
1CH334UPackage_SO:QSOP-28_3.9x9.9mm_P0.635mmU1
1CH552 PROGUSB_Replug_Dongle_RevC1:PROG_PADS_2x3_P1.27J3
1CH552TPackage_SO:TSSOP-20_4.4x6.5mm_P0.65mmU2
1FSUSB42MUXPackage_SO:MSOP-10_3x3mm_P0.5mmU3
1GNDUSB_Replug_Dongle_RevC1:TP_Pad_0.7mmTP4
1HUB_RESET_NUSB_Replug_Dongle_RevC1:TP_Pad_0.7mmTP8
1TARGET_DATA_OE_NUSB_Replug_Dongle_RevC1:TP_Pad_0.7mmTP6
1TARGET_FAULT_NUSB_Replug_Dongle_RevC1:TP_Pad_0.7mmTP7
1TARGET_PWR_EN_NUSB_Replug_Dongle_RevC1:TP_Pad_0.7mmTP5
1TPS2552DBVRPackage_TO_SOT_SMD:SOT-23-6U4
1TYPE-C-3.1-16PINUSB_Replug_Dongle_RevC1:C7507405_USB_CJ1
1VBUS_DUTUSB_Replug_Dongle_RevC1:TP_Pad_0.7mmTP3
1VBUS_INUSB_Replug_Dongle_RevC1:TP_Pad_0.7mmTP1
1XC6206P332MR-GPackage_TO_SOT_SMD:SOT-23U5

Questions

How big is the USB Replug Dongle RevC1 PCB?

It measures 49.5 × 21.6 mm and has 4 copper layers, 1.6 mm thick.

What parts does the USB Replug Dongle RevC1 use?

38 parts, built around the CH552T, USBLC6-2SC6, CH334U and FSUSB42MUX. 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 Replug Dongle RevC1 KiCad files?

From the gslee-dev/portpulse repository on GitHub, at the commit this page was made from: the board is hardware/RevC1/kicad/USB_Replug_Dongle_RevC1.kicad_pcb and its schematic hardware/RevC1/kicad/USB_Replug_Dongle_RevC1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the USB Replug Dongle RevC1 design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 4 layers125.3 × 86 mmProject Atlas, the printed circuit board in 3D

    Project Atlas

    higg22-git/Project-Atlas

    Four-layer STM32G474 control board that replaced the legacy electronics on BYU Formula SAE Electric's race car. KiCad schematic, layout and manufacturing package.

    124 parts
  • 2 layers65 × 30 mmMax3421e rpi uhat, the printed circuit board in 3D

    Max3421e rpi uhat

    StarGate01/max3421e-rpi-uhat

    A uHAT for the Rapberry Pi (Zero), which adds a second USB 2.0 controller over SPI, using the MAX3421E chip.

    23 parts1MPL-2.0
  • 2 layers38.1 × 63.5 mmUSB Switch, the printed circuit board in 3D

    USB Switch

    emwjacobson/USB_Wifi_Switch

    This project aims to create a wifi-enabled module containing 2 individually switchable USB ports.

    31 parts
  • 4 layers70 × 30 mmUsb replug, the printed circuit board in 3D

    Usb replug

    clankagent/usb-replug

    USB 2.0 timed disconnect adapter with CMOS 555; revision B unbuilt prototype for design review

    40 parts
  • 2 layers31.9 × 36 mmLemon pcb swizzle, the printed circuit board in 3D

    Lemon pcb swizzle

    rianadon/Cosmos-Keyboard-PCBs

    Open-Source keyboard PCB designs for the Cosmos Keyboard Generator

    63 parts43
  • 2 layers80 × 50 mmHUB CH334U PCB, the printed circuit board in 3D

    HUB CH334U PCB

    openwch/ch334

    Share the schematic and layout (KiCad) for DIY USB2.0 4-PORTS HUB with CH334U

    36 parts14
  • 2 layers119.4 × 67.3 mmAdapter, the printed circuit board in 3D

    Adapter

    liyuxuan3003/PrismGC

    基于ARM处理器的智能游戏机

    34 parts6