Skip to the content
4 layers51.6 × 37.8 mmPort sprite, the printed circuit board in 3D

Compact USB-C to UART debug/programming interface for embedded hardware projects.

Size
51.6 × 37.8 mm
Copper layers
4
Thickness
1.6 mm
Parts
34
Nets
31
Pads
122
Tracks, vias
287, 92
Pours
4
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
13 May 2026
Updated
24 May 2026

Overview

Port sprite is an open-source printed circuit board by Batterhead221, from the Batterhead221/port_sprite repository on GitHub. It is a 4-layer board of 51.6 × 37.8 mm with 34 parts on 31 nets, routed with 287 tracks and 92 vias.

It is built around the AP2112K-3.3 and TPD2EUSB30DRT. Its parts include 8 resistors, 6 capacitors, 3 ICs, 3 diodes and 3 switches. It belongs with the interfaces and adapters boards of this library.

Main components

2

README

README.md

PORT_SPRITE

PORT_SPRITE top 3D board render

PORT_SPRITE bottom 3D board render

Compact USB-C to UART debug/programming interface for embedded hardware projects.

PORT_SPRITE is a reusable bench tool for custom PCB bring-up. It provides USB-C serial access, 3.3V UART logic, selectable target power output, activity LEDs, reset/boot controls, and labeled test points so new boards can be programmed, tested, and debugged without rebuilding the same support circuit every time.

USB in. UART out. Tiny port familiar doing serial errands.

Project Status

ItemValue
RevisionV1
StatusIn layout / pre-fabrication review
EDAKiCad
Board typeUSB-C to UART debug interface

System Role

text
Computer / USB-C
        ↓ USB 2.0
PORT_SPRITE / CP2102N
        ↓ UART / reset / boot / VOUT
Target microcontroller board

PORT_SPRITE is not the target application board. It is a reusable debug/programming helper for other embedded projects.

Main Features

  • USB-C device input
  • CP2102N USB-to-UART bridge
  • 3.3V UART logic
  • Selectable target power output
    • 3.3V from onboard AP2112K regulator
    • 5V from fused USB VBUS
  • Target debug header with GND, VOUT, TXD, RXD, CTS, RTS, RESET, and BOOT_LOW
  • Manual RESET button for target board
  • Manual BOOT_LOW button for ESP-style boot/GPIO0 workflows
  • TX/RX activity LEDs
  • Power LED
  • USB data ESD protection
  • VBUS sense divider for CP2102N
  • Exposed test points for key nets

What This Board Is For

PORT_SPRITE is meant to live on the bench and plug into future embedded projects.

Use it for:

  • UART serial logging
  • Firmware flashing workflows
  • Testing custom target boards
  • Bringing up new microcontroller projects
  • Probing TX/RX/RTS/CTS/VOUT rails
  • Powering small target boards from USB
  • ESP-style BOOT/RESET programming workflows

Key Specs

ItemValue
USB-UART bridgeCP2102N-Axx-xQFN20
USB connectorUSB-C USB 2.0 receptacle
UART logic level3.3V
Target power outputSelectable 3.3V or fused USB 5V
RegulatorAP2112K-3.3
USB ESDTPD2EUSB30 or equivalent
Target header1x8 UART/debug header
Manual controlsRESET and BOOT_LOW buttons
IndicatorsPower LED, TX LED, RX LED
Board roleUSB-C UART/debug/programming helper

Important Electrical Behavior

UART Logic Level

The UART signal pins use 3.3V logic.

The VOUT selector can provide either 3.3V or 5V power to the target, but the UART logic does not become 5V logic.

text
UART TX/RX/CTS/RTS logic level = 3.3V
VOUT selectable rail            = 3.3V or 5V

Do not connect PORT_SPRITE UART pins directly to a target that drives 5V logic unless level shifting or 5V tolerance is confirmed.

VOUT Selector

The slide switch selects what voltage appears on the VOUT pin.

Switch inputSource
+3V3AP2112K 3.3V regulator output
VBUS_5VFused USB 5V rail

VOUT is intended for small target boards only. Do not use it as a high-current supply.

BOOT_LOW

BOOT_LOW is a pull-low boot control intended for ESP-style boot/GPIO0 workflows.

For STM32-style BOOT0, confirm the target board requirements before use. STM32 BOOT0 often expects pull-high behavior instead.

Target Header Pinout

PinSignalDirection / Purpose
1GNDGround reference
2VOUTSelected target power output
3TXD_TO_TARGET_RXPORT_SPRITE TXD to target RX
4RXD_FROM_TARGET_TXTarget TX to PORT_SPRITE RXD
5CTSCP2102N CTS
6RTSCP2102N RTS
7RESETTarget reset, button pulls low
8BOOT_LOWTarget boot/GPIO0, button pulls low

Typical Target Wiring

UART wiring crosses TX and RX:

text
PORT_SPRITE TXD_TO_TARGET_RX  → target RX
PORT_SPRITE RXD_FROM_TARGET_TX ← target TX
PORT_SPRITE GND               ↔ target GND
PORT_SPRITE VOUT              → optional target power input

RESET and BOOT_LOW are optional and depend on the target board design.

Test Points

Test PointNetPurpose
TP1GNDGround reference
TP2VBUS_5VUSB 5V rail check
TP3+3V33.3V regulator output check
TP4RXD_FROM_TARGET_TXUART RX probe point
TP5TXD_TO_TARGET_RXUART TX probe point
TP6CTSFlow-control probe point
TP7RTSFlow-control / control probe point
TP8VOUTSelected target output voltage

Main Components

RefPartNotes
U1CP2102N-Axx-xQFN20USB-to-UART bridge
U2TPD2EUSB30 or equivalentUSB D+/D- ESD protection
U3AP2112K-3.33.3V LDO regulator
J1USB-C USB 2.0 receptacleDevice/sink input
J21x8 target debug headerUART/debug interface
SW1SPDT slide switchSelects VOUT source
SW2RESET buttonPulls target RESET low
SW3BOOT buttonPulls BOOT_LOW low

Power Architecture

text
USB-C VBUS
      ↓
fuse / protection
      ↓
VBUS_5V rail
      ↓
AP2112K-3.3 regulator → +3V3
      ↓
VOUT selector chooses +3V3 or VBUS_5V
      ↓
target VOUT pin

Bring-Up Checklist

Before plugging into a computer:

  • Inspect USB-C connector solder joints.
  • Inspect CP2102N orientation.
  • Confirm no solder bridges on QFN pins.
  • Check continuity between all GND points.
  • Confirm VBUS_5V is not shorted to GND.
  • Confirm +3V3 is not shorted to GND.
  • Confirm VOUT is not shorted to GND.
  • Confirm USB D+ and D- are not shorted together.
  • Confirm USB D+ and D- are not shorted to GND or VBUS.

Power checks:

  • Plug into a current-limited USB source or USB power meter first.
  • Measure VBUS_5V.
  • Measure +3V3.
  • Toggle VOUT selector and measure VOUT in both positions.
  • Confirm PWR LED behavior.

USB checks:

  • Confirm the board enumerates as a CP210x USB-to-UART device.
  • Confirm TX/RX LEDs behave during serial activity.
  • Perform loopback test between TXD and RXD.

Loopback Test

Connect:

text
TXD_TO_TARGET_RX ↔ RXD_FROM_TARGET_TX

Open a serial terminal. Any typed characters should echo back.

Suggested settings:

text
Baud: 115200
Data: 8
Parity: none
Stop: 1
Flow control: none

Design Notes

  • Label TX/RX from PORT_SPRITE's point of view.
  • UART wiring crosses TX to RX and RX to TX.
  • Always share GND with the target board.
  • Keep USB D+ and D- short and clean.
  • Keep connector labels readable for fast bench use.
  • Do not assume every target board is 5V tolerant.
  • Treat VOUT as a convenience rail, not a high-current bench supply.

Notes For Future Revision

Potential V2 ideas:

  • Add true auto-reset/auto-boot support with DTR/RTS using a USB-UART bridge/package that exposes DTR.
  • Add 1.8V logic support.
  • Add target voltage sensing.
  • Add USB isolation.
  • Add current limiting or current measurement on VOUT.
  • Add alternate pinout adapter cables.

Repository Output Images

Expected image paths for GitHub README rendering:

text
Outputs/
  IMG/
    3D-T.png
    3D-B.png
    SCHEMATIC.png
    L1-SIG.png
    L2-GND.png

Safety / Design Note

PORT_SPRITE is a low-voltage debug/helper PCB. Verify UART voltage levels, shared ground, selected VOUT voltage, and target pin direction before connecting it to another project.

Designed & engineered by Brandon Shelly

Parts

34
QtyValueFootprintReferences
3100NFCAPS:C_0603_1608MetricC2, C3, C6
31KRESISTOR:R_0603R5, R7, R8
210UCAPS:C_0805_2012MetricC1, C4
25.1KRESISTOR:R_0603R1, R2
1+3V3TEST_POINT:TestPoint_Bridge_Pitch2.0mm_Drill0.7mmTP6
1+5VTEST_POINT:TestPoint_Bridge_Pitch2.0mm_Drill0.7mmTP7
110KRESISTOR:R_0603R6
11UCAPS:C_0603_1608MetricC5
122.1KRESISTOR:R_0603R3
147.5KRESISTOR:R_0603R4
1500mAFUSE:Fuse_1206_3216MetricF1
1AP2112K-3.3SOT:SOT-23-5U2
1BOOT_LOW_BTNON/OFF:SW_SPST_Omron_B3FS-100xPSW1
1CP2102N-Axx-xQFN20USB_TO_UART:WFQFN-20U3
1CTSTEST_POINT:TestPoint_Bridge_Pitch2.0mm_Drill0.7mmTP3
1GNDTEST_POINT:TestPoint_Bridge_Pitch2.0mm_Drill0.7mmTP8
1PWR (RED)LED:LED_0603_1608MetricD1
1RESET_BTNON/OFF:SW_SPST_Omron_B3FS-100xPSW2
1RTSTEST_POINT:TestPoint_Bridge_Pitch2.0mm_Drill0.7mmTP2
1RX (BLUE)LED:LED_0603_1608MetricD2
1RXDTEST_POINT:TestPoint_Bridge_Pitch2.0mm_Drill0.7mmTP5
1SLIDE_SWITCHON/OFF:SW_SPDT_CK_JS102011SAQNSW3
1TPD2EUSB30SOT:Texas_DRT-3U1
1TX (YELLOW)LED:LED_0603_1608MetricD3
1TXDTEST_POINT:TestPoint_Bridge_Pitch2.0mm_Drill0.7mmTP4
1UART_TARGET_HEADERPIN_HEADER:PinHeader_1x08_P2.54mm_HorizontalJ1
1USB_C_Receptacle_USB2.0_14PUSB:USB_C_Receptacle_GCT_USB4085J2
1VOUTTEST_POINT:TestPoint_Bridge_Pitch2.0mm_Drill0.7mmTP1

Similar boards

  • 4 layers75 × 70 mmSmall Pendant, the printed circuit board in 3D

    Small Pendant

    mjhaahr/RGB-LED-Pendant

    Small RGB LED Pendant using 1010 (1.0x1.0mm) WS2812B LEDs powered by an ESP32-C3 Mini with a BNO055 IMU

    260 parts2MIT
  • 2 layers107 × 52 mmCelestialSync, the printed circuit board in 3D

    CelestialSync

    davidfobar/CelestialSync

    This an telescope mount controller inspired by OnStep and OpenAstroTracker, but written OOP to be maintainable.

    75 parts
  • 4 layers100 × 100 mmFonemec, the printed circuit board in 3D

    Fonemec

    JavaScythe/foc

    High power 2 Channel Sim racing seat belt tensioner

    120 parts
  • 4 layers96 × 74 mmTellmelight rev a1, the printed circuit board in 3D

    Tellmelight rev a1

    qiaoyo/TellMeLight

    TellMeLight is designed for ai hardware full-lifetime cycle.

    52 parts
  • 4 layers36.4 × 15 mmOvrdrive, the printed circuit board in 3D

    Ovrdrive

    o7-machinehum/phantomdrive

    Seemingly normal USB drive with a hidden security feature

    57 parts1kMIT
  • 4 layers41.3 × 19 mmKeyword, the printed circuit board in 3D

    Keyword

    notaroomba/keybytes

    A truly modular keyboard

    79 parts444
  • 4 layers90 × 40 mmCm4-carrier net, the printed circuit board in 3D

    Cm4-carrier net

    jkiv/cm4-carriers

    KiCad design files for various Raspberry Pi Compute Module 4 (CM4) carrier boards.

    45 parts130BSD-2-Clause
  • 4 layers307 × 46.1 mmStm32pe midi, the printed circuit board in 3D

    Stm32pe midi

    udu3324/stm32pe-midi

    a midi controller using the mpe protocol to create more expressive music

    136 parts35GPL-3.0

Questions

How big is the Port sprite PCB?

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

What parts does the Port sprite use?

34 parts, built around the AP2112K-3.3 and TPD2EUSB30DRT. 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 Port sprite KiCad files?

From the Batterhead221/port_sprite repository on GitHub, at the commit this page was made from: the board is ECAD/PORT_SPRITE.kicad_pcb and its schematic ECAD/PORT_SPRITE.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Port sprite design in my own project?

Its repository states no licence, so its author keeps all rights: ask Batterhead221 before reusing the design.