
Benchswitch usb dut hub
saikhamhein/benchswitch-usb-dut-hub
BenchSwitch USB DUT Hub: a four-port USB 2.0 hardware development prototype with KiCad design sources, BOM, manufacturing files, and bring-up documentation.

USB3-to-fiber converter — KiCad 8.0 PCB design
Usb3-fiber is an open-source printed circuit board by ringof, from the ringof/usb3-fiber repository on GitHub, published under the CERN-OHL-P-2.0 licence. It is a 4-layer board of 75 × 40 mm with 64 parts on 69 nets, routed with 33 tracks and 10 vias.
It is built around the MCP2221AT-I/ML, CC0402KRX5R6BB104 and CC0603KRX7R6BB104, with the RC0603FR-071KL, RC0603FR-0710KL and CC0805KKX7R7BB106 among its other parts. Its parts include 21 capacitors, 18 resistors, 5 connectors, 3 ICs and 3 diodes.
USB3 SuperSpeed carried over an optical fiber link, using a DS100BR111
redriver into a 10GbE SR SFP+ optical module. A single symmetric PCB serves
both ends of the link — host-side and remote-side roles are selected by jumpers.
The MCP2221A provides the SFP+ management (I²C) interface and GPIO for
TX_DISABLE / RX_LOS. No microcontroller, no firmware, no EEPROM.
Built as the remote front-end for an SDR receiver: put the ADC at the antenna and stream USB3 back to the shack over fiber.
USB3-A connector ┌───────────────┐ SFP+ cage
(SuperSpeed pairs) ─────►│ DS100BR111 │◄─────► (optical module) ──► fiber
│ (pin-strapped, │
│ 3.3V) │
└───────────────┘
│ SDA/SCL
┌───────────┐
│ MCP2221A │── USB micro-B ── laptop (SFP+ mgmt)
└───────────┘Each fiber link needs two identical boards — one at the antenna, one at the
shack — with jumpers JP1/JP2 selecting the role. The USB3 path is fully
symmetric: the DS100BR111 is bidirectional and the SFP+ module handles both TX
and RX in one cage.
This prototype exists to test one thing:
A 10GbE SR SFP+ optical module will transport USB3 SuperSpeed signalling intact — LFPS bursts, link training, electrical-idle transitions, spread-spectrum clocking, and receiver detection — without modifying the module or the USB3 endpoints.
It has been done in the amateur-radio and USB-extension communities, but it is
guaranteed by no specification. See
docs/USB3_Fiber_Link_Minimal_Circuit.md
for the architecture, channel assignment, and the failure modes this board is
built to probe.
| Path | Contents |
|---|---|
usb3_fiber.kicad_pro/.kicad_sch/.kicad_pcb | The design. |
usb3_fiber.kicad_dru | Custom high-speed design rules (length/skew/coupling/isolation/via-count). |
fp-lib-table / sym-lib-table | Project-local library tables (${KIPRJMOD}). |
library/ | Symbols (usb3_fiber.kicad_sym), footprints (.pretty/), 3D models (3dmodels/). |
datasheets/ | Component datasheets. |
docs/ | Design intent, fab spec, turnkey/CI pipeline, release strategy, and the repo migration plan. |
From the repo root, with kicad-cli (KiCad 10):
kicad-cli sch erc usb3_fiber.kicad_sch --output erc.rpt
kicad-cli pcb drc usb3_fiber.kicad_pcb --output drc.rpt # honors .kicad_dru
kicad-cli sch export pdf usb3_fiber.kicad_sch --output schematic.pdf
kicad-cli sch export bom usb3_fiber.kicad_sch --output bom.csv
kicad-cli pcb export gerbers usb3_fiber.kicad_pcb --output gerbers/
kicad-cli pcb export drill usb3_fiber.kicad_pcb --output gerbers/
kicad-cli pcb export pos usb3_fiber.kicad_pcb --output cpl.csv
kicad-cli pcb export step usb3_fiber.kicad_pcb --output usb3_fiber.step4-layer FR4, ENIG, controlled impedance (100 Ω differential on the high-speed
pairs), targeting JLCPCB's standard 4-layer process. Full stackup,
impedance, and drill/feature constraints are in
docs/fab_specification.txt.
Latest release (see all releases):
Packages are built and version-stamped by CI. Versioning is semantic
(vMAJOR.MINOR): dev publishes v0.x pre-releases, and promotion to main
cuts production releases (v1.0, then v2.0, …). The version and git hash are
stamped into the title block and bottom silkscreen at build time, and named in
each release's title/tag. The download links above resolve to the newest
production release; during the pre-1.0 phase (only v0.x pre-releases so
far), grab the assets from the specific pre-release on the
Releases page. See
docs/RELEASE_STRATEGY.md for how versions and
releases work (a new version is cut only when the design changes).
Prototype. This is an unproven design intended to validate the central hypothesis above. The current revision is whatever the latest release is — it's stamped into the board, not hardcoded here.
CERN-OHL-P v2 (CERN Open Hardware Licence Version 2 – Permissive,
SPDX CERN-OHL-P-2.0).
| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | 100nF | Capacitor_SMD:C_0402_1005Metric | C1, C2, C4, C5, C12, C13, C15, C16 |
| 7 | 100nF | Capacitor_SMD:C_0603_1608Metric | C7, C9, C10, C11, C14, C18, C19 |
| 7 | 1K | Resistor_SMD:R_0603_1608Metric | R2, R10, R11, R12, R13, R14, R15 |
| 6 | 10K | Resistor_SMD:R_0603_1608Metric | R3, R4, R5, R6, R16, R18 |
| 6 | 10uF | Capacitor_SMD:C_0805_2012Metric | C3, C6, C8, C17, C20, C21 |
| 4 | Fiducial | Fiducial:Fiducial_1mm_Mask2mm | FID1, FID2, FID3, FID4 |
| 4 | MountingHole | MountingHole:MountingHole_2.7mm_M2.5 | H1, H2, H3, H4 |
| 3 | Jumper_3_Open | Jumper:SolderJumper-3_P1.3mm_Open_Pad1.0x1.5mm | JP1, JP2, JP3 |
| 2 | 4.7K | Resistor_SMD:R_0603_1608Metric | R8, R9 |
| 2 | 600Ω@100MHz | Inductor_SMD:L_0603_1608Metric | FB1, FB2 |
| 2 | Green | LED_SMD:LED_0603_1608Metric | D2, D3 |
| 1 | 10118194-0001LF | usb3_fiber:AMPHENOL_10118194-0001LF | J3 |
| 1 | 56 | Resistor_SMD:R_0603_1608Metric | R1 |
| 1 | 560 | Resistor_SMD:R_0603_1608Metric | R17 |
| 1 | 68 | Resistor_SMD:R_0603_1608Metric | R19 |
| 1 | DS100BR111SQE/NOPB | usb3_fiber:RTW24_2P6X2P6_TEX | U2 |
| 1 | GSB3111311HR | usb3_fiber:AMPHENOL_GSB3111311HR | J5 |
| 1 | GSB4211311WEU | usb3_fiber:AMPHENOL_GSB4211311WEU | J4 |
| 1 | LD1086D2T33TR | usb3_fiber:D2PAK_STM | U4 |
| 1 | MCP2221AT-I/ML | usb3_fiber:QFN16_ML_MCH | U1 |
| 1 | MMBT3906 | Package_TO_SOT_SMD:SOT-23 | Q1 |
| 1 | Red | LED_SMD:LED_0603_1608Metric | D1 |
| 1 | U77A16382001 | usb3_fiber:AMPHENOL_U77A16382001 | J1 |
| 1 | UE76A202000T | usb3_fiber:AMPHENOL_UE76A202000T | J2 |

saikhamhein/benchswitch-usb-dut-hub
BenchSwitch USB DUT Hub: a four-port USB 2.0 hardware development prototype with KiCad design sources, BOM, manufacturing files, and bring-up documentation.

darshanram008/EMO_OBD_tool
On board diagnostic tool for Battery management system

jmercerr/CW312T-ATSAM4L
design transfer project from cw308t to cw312t form for ATSAM4L target board



lonehog/FC1307A_dual_SD
Reverse engineered dual SD Card adapter for Ipod Classic 5, 6,7 using FC1307A

jmercerr/CW312T-EFR32MG21
design transfer project from cw308t to cw312t form for EFR32MG21 target board

It measures 75 × 40 mm and has 4 copper layers, 1.57 mm thick.
64 parts, built around the MCP2221AT-I/ML, CC0402KRX5R6BB104, CC0603KRX7R6BB104 and RC0603FR-071KL. 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 ringof/usb3-fiber repository on GitHub, at the commit this page was made from: the board is usb3_fiber.kicad_pcb and its schematic usb3_fiber.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository publishes it under the CERN-OHL-P-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).