Skip to the content
PCBKitNew board
4 layers60 × 60 mmUsb switch, the printed circuit board in 3D

Debugotron is a collection of debugging/automation tools I've wanted in the past but didn't have access to. Currently, the tools include:

Size
60 × 60 mm
Copper layers
4
Thickness
1.6 mm
Parts
77
Nets
68
Pads
272
Tracks, vias
502, 95
Pours
4
Routed
Yes
KiCad
KiCad 6 (file 20211014)
Created
16 Jan 2022
Updated
11 Oct 2026

Overview

Usb switch is an open-source printed circuit board by alvarop, from the alvarop/debugotron repository on GitHub, published under the BSD-3-Clause licence. It is a 4-layer board of 60 × 60 mm with 77 parts on 68 nets, routed with 502 tracks and 95 vias.

It is built around the FSUSB30L10X, TUSB2036VF and AP22804AW5, with the MIC5504-3.3YM5, NX20P5090UK and SLG7NT402VTR among its other parts. Its parts include 29 resistors, 22 capacitors, 8 connectors, 6 ICs and 1 diode.

Main components

6

README

README.md

Debugotron!

Debugotron is a collection of debugging/automation tools I've wanted in the past but didn't have access to. Currently, the tools include:

SWD to USB-C!

SWD to USB-C Side 1 SWD to USB-C Side 2

Have you ever wanted to debug your device over USB-C? Sometimes there's not enough room for a JTAG/SWD connector, or even TAGConnect pads! The USB-C specification has a Debug Accessory Mode feature that allows for this. I have a Twitter thread with additional details. Here's an unrolled version for easier reading.

SWD to USB-C Programmer

Since the current adapter uses an ATTiny24a, I made a different programmer adapter for it

SWD to USB-C Programmer

Example Target

This is a simple STM32L4 board that implements USB-C DAM (the "proper way") as an example.

SWD to USB-C Example Target

SWD to USB-C Example Target in Use

SWD Switch

Tool that allows connecting/disconnecting the SWD/JTAG lines (Via ARM 10-pin connector) with a pushbutton (or external signal). This can be useful when trying to measure ultra low power consumption on a device while the debugger is connected (but not necessarily running/attached).

SWD Switch Side 1 SWD Switch Side 2

USB-C Switch

This one is more of an automation tool. I've always wanted to automate firmware testing. Sometimes, having USB connected is necessary to program/communicate with a device, but at the same time, having USB connected changes the power characteristics of the test (or just operating mode).

For example, you might want to automatically test the power consumption of a battery powered device every night with the latest firmware. In order to run the test, you might have to connect to the device, flash it, then disconnect USB. The USB-C switch will allow software-controlled power and data connect/disconnects to a USB-C device. Depending on the configuration, it will also allow full 20V@5A pass-through by allowing USB-PD communication over the CC lines.

In the cases where you want to communicate with a device over USB while still powering it via 20V (or anything higher than 5V), a USB switch allows for a different USB cable to be used for data only, while power is taken from a separate USB-C port.

USB-C Switch (Bare PCB)

Parts

77
QtyValueFootprintReferences
101uFCapacitor_SMD:C_0402_1005MetricC4, C5, C6, C7, C10, C11, C14, C16, C17, C20
827Resistor_SMD:R_0402_1005MetricR3, R4, R5, R6, R7, R8, R9, R10
70Resistor_SMD:R_0402_1005MetricR13, R14, R15, R16, R18, R19, R22
710kResistor_SMD:R_0402_1005MetricR11, R12, R21, R23, R26, R27, R28
50.1uFCapacitor_SMD:C_0402_1005MetricC2, C12, C13, C15, C22
4Conn_01x02Connector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalJ3, J4, J5, J6
4FerriteBeadInductor_SMD:L_0603_1608MetricFB1, FB2, FB3, FB4
21.5kResistor_SMD:R_0402_1005MetricR17, R20
233pFCapacitor_SMD:C_0402_1005MetricC8, C9
25.1kResistor_SMD:R_0402_1005MetricR1, R2
10.01uFCapacitor_SMD:C_0402_1005MetricC1
1100Resistor_SMD:R_0402_1005MetricR29
110uFCapacitor_SMD:C_0603_1608MetricC18
11MResistor_SMD:R_0402_1005MetricR24
122uFCapacitor_SMD:C_0805_2012MetricC21
14.7uFCapacitor_SMD:C_0805_2012MetricC3
162kResistor_SMD:R_0402_1005MetricR25
16MHzCrystal:Crystal_SMD_HC49-SDY1
1AP22804AW5Package_TO_SOT_SMD:SOT-23-5U4
1C_SmallCapacitor_SMD:C_0402_1005MetricC19
1D_Schottkyalvarop:CD123-B140LRD1
1FSUSB30L10XPackage_SO:MSOP-10_3x3mm_P0.5mmU2
1GNDalvarop:RCWCTETP1
1MIC5504-3.3YM5Package_TO_SOT_SMD:SOT-23-5U1
1NX20P5090alvarop:NX20P5090UKU6
1SLG7NT402Valvarop:FC-TDFN-8U5
1TUSB2036Package_QFP:LQFP-32_7x7mm_P0.8mmU3
1alt_source_usbalvarop:USB4105-GF-AJ2
1extra_usbalvarop:UE27ACX410XJ7
1host_usbalvarop:USB4105-GF-AJ1
1target_usbalvarop:USB4105-GF-AJ8

The 72 most common of 77 parts.

Questions

How big is the Usb switch PCB?

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

What parts does the Usb switch use?

77 parts, built around the FSUSB30L10X, TUSB2036VF, AP22804AW5 and MIC5504-3.3YM5. 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 switch KiCad files?

From the alvarop/debugotron repository on GitHub, at the commit this page was made from: the board is hw/usb_switch/usb_switch.kicad_pcb and its schematic hw/sample_target/sample_target.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Usb switch design in my own project?

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

More from alvarop/debugotron

3
  • 2 layers39.7 × 14 mmSample target, the printed circuit board in 3D

    Sample target

    alvarop/debugotron

    Debugotron is a collection of debugging/automation tools I've wanted in the past but didn't have access to. Currently, the tools include:

    31 parts52BSD-3-Clause
  • 4 layers30 × 20 mmSwd switch, the printed circuit board in 3D

    Swd switch

    alvarop/debugotron

    Debugotron is a collection of debugging/automation tools I've wanted in the past but didn't have access to. Currently, the tools include:

    28 parts52BSD-3-Clause
  • 2 layers20.5 × 11 mmSwd over c pogo, the printed circuit board in 3D

    Swd over c pogo

    alvarop/debugotron

    Debugotron is a collection of debugging/automation tools I've wanted in the past but didn't have access to. Currently, the tools include:

    6 parts52BSD-3-Clause

Similar boards

  • 6 layers250 × 167.9 mmDev board1, the printed circuit board in 3D

    Dev board1

    tbennellick/sts-hiz-serial-bodge

    966 parts
  • 6 layers139.7 × 88.9 mmIMX6-BareBones, the printed circuit board in 3D

    IMX6-BareBones

    a1wolfe/iMX6-BareBones

    i.MX 6ULL Open Source Development Board

    558 parts
  • 4 layers41 × 65.5 mmPocket reform charger, the printed circuit board in 3D

    Pocket reform charger

    torlye/pocket-reform

    My muscle memory requires me to have the Ctrl key at the bottom left corner of the keyboard!

    74 parts1
  • 2 layers101.6 × 53.3 mmArduinoMega Ethernet, the printed circuit board in 3D

    ArduinoMega Ethernet

    dmanla/SecureConnectivityDevelopmentPlatform

    A development platform which provides secure connectivity and data logging support while maintaining compatibility with Arduino-Mega hardware and software.

    116 parts
  • 6 layers70 × 140 mmUsb3-hub, the printed circuit board in 3D

    Usb3-hub

    gumulka/usb3-hub

    My very own USB3 Hub with these features:

    229 parts
  • 2 layers52.9 × 35.9 mmADC Silence Detector, the printed circuit board in 3D

    ADC Silence Detector

    markusbichl/ADC_Silence_Detector

    WCH CH32X033 based Silence detector for turntable to Toslink converter

    17 parts
  • 6 layers120.9 × 90 mmSvayamV3 IIK, the printed circuit board in 3D

    SvayamV3 IIK

    si-nalsal/pcb-mantis

    A servo-based UAV flight controller built around the STM32H743IIK6 (Cortex-M7, UFBGA-201, 0.65 mm pitch). The board distributes power to a fixed-wing/multirotor airframe with 16 PWM servo outputs, redundant IMU and…

    290 partsCERN-OHL-S-2.0
  • 2 layers191.3 × 164 mmXYmatics E64, the printed circuit board in 3D

    XYmatics E64

    XyrusB2010/XYmatics-E64

    A 5-axis Klipper mainboard, powered by a Raspberry Pi Compute Module and STM32F407

    282 parts