
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.

USB replug test dongle with KiCad hardware, CH552 firmware, and native C host
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.
USB 장치를 소프트웨어 명령으로 실제 분리·재연결하는 효과를 만들기 위한 USB 2.0 test dongle입니다. PC와 제어 MCU의 연결은 유지하고, DUT 쪽 VBUS와 D+/D−만 순서대로 차단·복구합니다.
현재 상태: Rev.C.1 회로·PCB 정적 검사와 펌웨어·호스트 offline build/test 완료. 제조 파일은 생성했으며, PCB 제작과 physical bring-up은 남아 있습니다.

커넥터 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 미검증 |
| PCB | KiCad 9, 4-layer, Rev.C.1 |
| 제작 상태 | 미제작. 첫 PCB 발주 후보이며 앞선 버전은 설계 단계에서 종료 |
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-offoff는 data pair를 먼저 끊고 VBUS를 차단합니다. on은 data pair를 연결한 뒤 VBUS를 켜고 fault를 다시 확인합니다. 부팅·reset·fault 상태에서는 DUT가 꺼지도록 firmware state machine을 구성했습니다.
지원 명령:
on
off
cycle [100..30000]
status
fault
version
helpfirmware/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 plan2026-07-22에 다시 실행한 결과입니다.
| Gate | 결과 | 범위 |
|---|---|---|
| KiCad ERC | 0 errors, 0 warnings | schematic 정적 검사 |
| KiCad DRC | 0 violations, 0 unconnected, 0 parity issues | PCB 정적 검사 |
| Firmware host tests | PASS | command state, descriptors, CDC parser, GPIO initialization-order source checks |
| SDCC firmware build | PASS | code 5,897 / 14,336 bytes, XRAM 79 / 768 bytes |
| Native host compile | PASS | Windows target, GCC -Wall -Wextra -Werror -pedantic |
| Physical hardware | NOT TESTED | PCB 미제작 |
자세한 명령과 수치는 offline verification에 있습니다. 두 connector footprint의 치수 출처와 미검증 범위는 footprint sources에 기록했습니다.
필요 도구: Python 3, SDCC 4.6 계열, GCC.
cd firmware/ch552
python build.py allcmake -S . -B build
cmake --build build --config Release예상 사용법은 다음과 같습니다. 실제 장치가 없으므로 end-to-end 실행은 아직 검증하지 않았습니다.
portpulse --port COM12 status
portpulse --port COM12 off
portpulse --port COM12 --delay-ms 2000 cycle제조 파일이 존재한다는 사실을 production-ready 또는 검증된 하드웨어로 표현하지 않습니다. 실제 합격 조건은 bring-up plan에 고정했습니다.
하드웨어·펌웨어·호스트 소스는 MIT License로 공개합니다. 빌드 도구와 외부 구성요소는 각각의 라이선스를 따르며, 저장소의 third-party notices와 firmware의 third-party notices를 함께 확인해야 합니다.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 5.1k 1% | Resistor_SMD:R_0603_1608Metric | R1, R2, R4, R5, R6, R7, R8, R9 |
| 6 | 100nF 16V X7R | Capacitor_SMD:C_0603_1608Metric | C4, C5, C6, C7, C8, C9 |
| 2 | 10uF 10V X5R | Capacitor_SMD:C_0603_1608Metric | C1, C10 |
| 2 | 1uF 16V X5R | Capacitor_SMD:C_0603_1608Metric | C2, C3 |
| 2 | USBLC6-2SC6 | Package_TO_SOT_SMD:SOT-23-6 | U6, U7 |
| 1 | 12 MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | 3V3 | USB_Replug_Dongle_RevC1:TP_Pad_0.7mm | TP2 |
| 1 | 51k 1% | Resistor_SMD:R_0603_1608Metric | R10 |
| 1 | 904-131A2032S10100 | USB_Replug_Dongle_RevC1:C8328_USB_A | J2 |
| 1 | CH334U | Package_SO:QSOP-28_3.9x9.9mm_P0.635mm | U1 |
| 1 | CH552 PROG | USB_Replug_Dongle_RevC1:PROG_PADS_2x3_P1.27 | J3 |
| 1 | CH552T | Package_SO:TSSOP-20_4.4x6.5mm_P0.65mm | U2 |
| 1 | FSUSB42MUX | Package_SO:MSOP-10_3x3mm_P0.5mm | U3 |
| 1 | GND | USB_Replug_Dongle_RevC1:TP_Pad_0.7mm | TP4 |
| 1 | HUB_RESET_N | USB_Replug_Dongle_RevC1:TP_Pad_0.7mm | TP8 |
| 1 | TARGET_DATA_OE_N | USB_Replug_Dongle_RevC1:TP_Pad_0.7mm | TP6 |
| 1 | TARGET_FAULT_N | USB_Replug_Dongle_RevC1:TP_Pad_0.7mm | TP7 |
| 1 | TARGET_PWR_EN_N | USB_Replug_Dongle_RevC1:TP_Pad_0.7mm | TP5 |
| 1 | TPS2552DBVR | Package_TO_SOT_SMD:SOT-23-6 | U4 |
| 1 | TYPE-C-3.1-16PIN | USB_Replug_Dongle_RevC1:C7507405_USB_C | J1 |
| 1 | VBUS_DUT | USB_Replug_Dongle_RevC1:TP_Pad_0.7mm | TP3 |
| 1 | VBUS_IN | USB_Replug_Dongle_RevC1:TP_Pad_0.7mm | TP1 |
| 1 | XC6206P332MR-G | Package_TO_SOT_SMD:SOT-23 | U5 |
It measures 49.5 × 21.6 mm and has 4 copper layers, 1.6 mm thick.
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.
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.
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).

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.

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.

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

clankagent/usb-replug
USB 2.0 timed disconnect adapter with CMOS 555; revision B unbuilt prototype for design review

rianadon/Cosmos-Keyboard-PCBs
Open-Source keyboard PCB designs for the Cosmos Keyboard Generator


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