Gaming Hardware Concept

I’m blocked because your account has no available ACUs, so I can’t run any more layout or DRC cleanup tools right now.
Accomplished:
  • Applied a 6-layer stackup attempt and an explicit 6-layer stackup definition.
  • Cleared stale partial routing.
  • Spread the U1/U2/U6 cluster and support passives for better BGA escape.
  • Re-ran the router; it applied 884 routing nodes.
  • USB signal-integrity checks queried for USB returned no matching issues, but final DRC is not clean.
Open items:
  • Final DRC still shows 33 airwire errors.
  • Final DRC also shows 67 invalid Smart Via layer errors, indicating the same stackup recognition issue remains: stackup inspection shows the new stackup name, but layout summary still reports 2 copper layers.
  • Some USB1 routing airwires remain in the final DRC list.
Suggested next steps when ACUs are available:
  1. Resolve the stackup/copper-layer recognition issue first.
  2. Delete or remap invalid Smart Vias after the stackup is recognized correctly.
  3. Surgically route the remaining USB1, MCU power, UART, FlexSPI, and debug airwires.
  4. Run final DRC again before treating the PCB as manufacturing-ready.
Check ACU status
Fix stackup issue
List airwires
Remap Smart Vias
J2
D3
J3
U1
J4
D2
J1
D1
C8
Capacitance
10uF
C12
Capacitance
1uF
R8
Resistance
5.1kΩ
C20
Capacitance
18pF
C16
Capacitance
1uF
R20
Resistance
1MΩ
R5
Resistance
5.1kΩ
C21
Capacitance
100nF
R17
Resistance
10kΩ
R1
Resistance
56kΩ
C13
Capacitance
33uF
C10
Capacitance
100nF
C3
Capacitance
22uF
C14
Capacitance
100nF
R14
Resistance
10kΩ
C4
Capacitance
3.3nF
C11
Capacitance
100nF
R2
Resistance
56kΩ
R12
Resistance
1kΩ
C23
Capacitance
4.7uF
C1
Capacitance
10uF
C5
Capacitance
2.2uF
R18
Resistance
22Ω
C15
Capacitance
1uF
C19
Capacitance
18pF
C2
Capacitance
100nF
R15
Resistance
10kΩ
C9
Capacitance
100nF
R22
Resistance
1kΩ
C6
Capacitance
100nF
R25
Resistance
10kΩ
R13
Resistance
10kΩ
R10
Resistance
22.1kΩ
R19
Resistance
10kΩ
R24
Resistance
10kΩ
C18
Capacitance
100nF
C22
Capacitance
100nF
C17
Capacitance
1uF
R9
Resistance
10kΩ
C24
Capacitance
100nF
R21
Resistance
387kΩ
R3
Resistance
5.1kΩ
C7
Capacitance
100nF
R4
Resistance
5.1kΩ
R6
Resistance
5.1kΩ
R11
Resistance
1kΩ
R23
Resistance
100kΩ
R16
Resistance
10kΩ
R7
Resistance
5.1kΩ
Y1
J5
D4
L1
Inductance
3.3uH
L2
Inductance
4.7uH
SW1
U5
U3
JP1
U4
U2
U6

Refine this doc
Ask about this doc
PROX Technical Specification
Status: Draft architecture for prototype Date: 2026-07-26
1. Project Overview
PROX is a four-port USB-C gaming/accessibility hardware interface concept with ports labeled:
  • CONTROLLER — physical USB controller input
  • CONSOLE — console/host-facing USB HID device output
  • PC — configuration, telemetry, logging, and development control
  • POWER — dedicated USB-C power input
The intended legitimate use is HID translation, accessibility controller adaptation, lab testing, and controller firmware experimentation. This specification does not cover bypassing console authentication, anti-cheat systems, or proprietary security mechanisms.
2. Top-Level Recommendation
Use a high-performance MCU with two real USB controllers for the latency-critical path:
  • USB host for the physical controller
  • USB device for the console/target host
Use a separate USB-to-UART bridge for the PC port so PC logging/configuration never competes with the real-time HID path.
Recommended prototype architecture:
  • Main MCU: STM32H7/F7-class or NXP i.MX RT-class MCU
  • Controller port: USB host / Type-C DFP
  • Console port: USB device / Type-C UFP
  • PC port: USB-C UFP into USB-UART bridge, then UART/SPI to MCU
  • Power port: USB-C 5 V sink, optional USB-PD sink in later revision
3. MCU & USB Hardware Selection
3.1 Architecture Options

Table


OptionSummaryProsRisks / ConsRecommendation
RP2040 + native USB device + PIO USB hostRP2040 uses native USB for console/PC and PIO for controller hostLow cost, familiar, strong hobby ecosystemOnly one native USB controller; PIO host is timing-sensitive; edge-case issues with composite HID, low-speed devices, reconnects, hubs; harder to guarantee latencyGood for experiments only
RP2350 + native USB + PIO USB hostSimilar approach with newer Pico-class siliconFaster, more headroom than RP2040PIO host still not equivalent to hardened USB host peripheral; newer ecosystemExperimental / proof-of-concept
STM32F7/H7 with two USB OTG controllersOne USB host, one USB device; PC via bridgeMature USB peripherals, strong real-time performance, good embedded toolingMore complex board design; HS may need ULPI PHYRecommended
NXP i.MX RT106x/117xHigh-performance MCU with multiple USB controllersExcellent speed, strong USB capability, Teensy ecosystem useful for prototypingMore advanced layout/firmware complexityAlso recommended
MCU + MAX3421E USB hostExternal SPI USB host controllerSimple conceptual add-onSPI bottleneck, latency, full-speed limits, less robust for tight timingNot preferred
Primary candidate family:
  • STM32H723/H743/H750/H735 or similar STM32H7 with USB OTG FS and USB OTG HS
  • Alternative: STM32F723/F733 class if available and sufficient
  • Alternative: NXP i.MX RT1062/1064/1170
Recommended USB assignment for STM32H7-style design:

Table


MCU PeripheralExternal PortRoleNotes
USB OTG HS + ULPI PHYCONTROLLERHostUse for physical controller; supports robust host operation
USB OTG FSCONSOLEDevicePresents PROX as HID/accessibility/test device
UART or SPIPC bridgeControl/loggingPC port handled by CP2102N/FT231X/CH343/MCP2221A class bridge
3.3 Why Not Make PC a Third Native USB Port?
Most MCUs do not provide three independent USB device/host controllers. The PC port is not timing-critical, so a USB-UART bridge is the cleanest split:
  • keeps HID path deterministic
  • isolates debug/log traffic
  • simplifies firmware scheduling
  • avoids composite USB complications on the console-facing device stack
4. Hardware Block Diagram

Diagram


USB-C POWER\n5 V Sink or PD Sink eFuse / OVP / TVS 5 V System Rail 3.3 V Regulator Current-Limited VBUS Switch CONTROLLER Port VBUS USB-C CONTROLLER\nType-C DFP / USB Host USB ESD + Optional CMC ULPI USB HS PHY Main MCU\nSTM32H7/F7 or i.MX RT USB ESD + Optional CMC USB-C CONSOLE\nType-C UFP / USB HID Device USB-C PC\nType-C UFP USB ESD USB-UART Bridge
5. USB-C Port Electrical Roles

Table


PortUSB RoleType-C RoleCC PinsVBUS BehaviorData Pins
CONTROLLERUSB hostDFP/sourceRp on CC1 and CC2Sources 5 V through current-limited switchD+/D- to host PHY/controller
CONSOLEUSB deviceUFP/sinkRd on CC1 and CC2Sense only; do not source or backfeedD+/D- to MCU USB device
PCUSB deviceUFP/sinkRd on CC1 and CC2Powers/senses bridge only; isolate from system if neededD+/D- to USB-UART bridge
POWERPower inputUFP/sinkRd or PD sink controllerMain 5 V input to systemData not required
USB 2.0 Type-C Wiring Notes
For USB 2.0-only Type-C receptacles:
  • Connect A6 and B6 together as D+
  • Connect A7 and B7 together as D-
  • CC1 and CC2 require correct role-specific termination
  • Add ESD protection close to each connector
  • Avoid VBUS backfeed between ports
  • Route D+/D- as 90 ohm differential pairs with short, symmetric traces
  • Use a 4-layer PCB minimum for reliable USB 2.0 high-speed routing
6. Draft Pinout / Signal Assignment
Exact MCU pins depend on the selected package, but the functional pinout should be reserved as follows.
6.1 Main MCU Signals

Table


FunctionSuggested MCU PeripheralDirectionConnects ToNotes
Controller USB D+/D-USB OTG HS via ULPIbidirectionalULPI PHYHost path for controller
ULPI_D0..D7USB HS ULPIbidirectionalUSB3300/USB3320 PHY8-bit ULPI bus
ULPI_CLKUSB HS ULPIinputULPI PHYUsually 60 MHz from PHY
ULPI_STP/NXT/DIRUSB HS ULPImixedULPI PHYRequired control signals
Console USB D+USB OTG FS DPbidirectionalCONSOLE USB-C D+Device path
Console USB D-USB OTG FS DMbidirectionalCONSOLE USB-C D-Device path
Console VBUS senseGPIO/ADCinputCONSOLE VBUS dividerDetect attach/power
Controller VBUS enableGPIOoutputVBUS power switch ENTurns on 5 V source
Controller overcurrentGPIO interruptinputVBUS switch FLG/OCFault detection
PC control UART TX/RXUARTbidirectionalUSB-UART bridgeConfig/logs
PC bridge resetGPIOoutputUSB-UART bridge resetOptional
Status RGBPWM/SPIoutputRGB LED driverOptional front light strip
BOOT0/boot selectstrap/GPIOinputheader/buttonFirmware recovery
SWD/JTAGdebugbidirectionalprogramming headerMandatory for prototype
Resetresetinputbutton/headerManual recovery
6.2 USB Host PHY Signals
Recommended PHY examples: USB3300, USB3320, USB3343, or equivalent ULPI PHY supported by the MCU reference design.

Table


PHY SignalConnects ToNotes
DP/DMCONTROLLER port D+/D- through ESD/CMCDifferential USB pair
VBUSController VBUS after switchHost VBUS supply/sense
ULPI busMCU OTG HS ULPI pinsFollow MCU reference layout
REFCLK/XTALcrystal or clock sourcePer PHY datasheet
RESETBMCU GPIO or reset supervisorControlled startup
7. Power Delivery and Power Tree
7.1 Prototype Power Strategy
Start with a simple 5 V USB-C sink on the POWER port. Add USB-PD only if the product later needs more than 5 V/3 A or a higher-voltage internal rail.
Power tree:

Diagram


USB-C POWER VBUS 5 V eFuse / Input Protection 5 V_SYS Current-Limited Host VBUS Switch CONTROLLER VBUS 5 V 3.3 V Buck or LDO MCU 3.3 V USB PHY 3.3 V USB-UART Bridge 3.3 V Optional 5 V RGB LEDs
7.2 Initial Power Budget Estimate

Table


LoadRailEstimated CurrentNotes
STM32H7 / i.MX RT MCU3.3 V100-300 mADepends on clock, cache, USB activity
ULPI USB PHY3.3 V40-80 mACheck selected PHY
USB-UART bridge3.3 V10-30 mACP2102N/FT231X class
RGB LEDs5 V0-1000 mAHighly dependent on LED count/brightness
Attached controller5 V100-500 mAHost port current limit recommended
Misc/ESD/leakage3.3/5 V20-50 mAmargin
Recommended input rating for prototype: 5 V, 1.5-3 A, depending on RGB LED brightness and controller current limit.
8. USB Signal Integrity and PCB Stackup
Minimum recommended stackup: 4-layer PCB.
Suggested layers:

Table


LayerPurpose
L1 TopComponents and USB differential pairs
L2 Inner 1Solid ground plane
L3 Inner 2Power distribution
L4 BottomLow-speed routing and secondary signals
USB 2.0 routing targets:
  • Differential impedance: 90 ohm differential
  • Match D+/D- within approximately 0.5-2 mm; tighter is better
  • Keep high-speed USB on top layer where possible
  • Avoid vias in USB pairs where possible
  • Place ESD diodes at connectors before long traces
  • Avoid stubs from unused connector pins or test pads
  • Keep ground continuous under all USB traces
9. Firmware Architecture
9.1 Firmware Goals
  • Receive controller HID reports from CONTROLLER USB host port
  • Parse HID report descriptors and normalize input state
  • Apply translation/mapping profiles
  • Keep latest console-facing HID report prebuilt and ready
  • Respond to console USB IN polls with minimal latency
  • Handle console OUT reports if rumble/LED feedback is supported
  • Accept PC configuration/logging commands without disturbing HID timing
9.2 Firmware Block Diagram

Diagram


USB Host Stack\nController Port Descriptor Parser Input Report Receiver Mapping Engine Normalize Controller State PC Control Protocol\nUART/USB Bridge Profile Config Store Double-Buffered HID Report USB Device HID Stack\nConsole Port Console OUT Reports Feedback Translator\nRumble/LEDs High Priority Timer / Timestamping Latency Monitor
9.3 Real-Time HID Data Path
Critical path:
  1. Controller USB host receives interrupt IN report
  2. USB host callback timestamps report
  3. Report is copied into a preallocated buffer
  4. HID parser converts report to normalized state
  5. Mapping engine builds console report
  6. Console report buffer pointer is atomically swapped
  7. Console USB device IN endpoint returns the latest report on next host poll
Hard rules:
  • No dynamic memory allocation in the report path
  • No blocking I/O in USB callbacks
  • No printf logging in high-priority callbacks
  • PC commands run at lower priority than USB host/device interrupts
  • Use preallocated buffers and ring queues
  • Use double buffering for console HID reports
  • Use watchdog and USB stack recovery for disconnect/reset events
9.4 Timing Reality Check
For USB full-speed HID, the host normally polls interrupt endpoints on a 1 ms USB frame. Therefore, the practical target is:
Process each incoming report and stage the translated output before the next console IN poll.
Internal processing should target:

Table


StageTarget
USB host callback to normalized state<100 us typical
Mapping and report build<50 us typical
Atomic buffer update<10 us
Worst-case report-path firmware latency<250 us target
This supports sub-millisecond internal latency, but end-to-end external timing is still constrained by USB host polling intervals and controller/console behavior.
9.5 PC Serial Protocol
The PC port should be for non-real-time control only.
Recommended transport:
  • USB-UART bridge at 1-3 Mbaud initially
  • Binary framed protocol with CRC
  • Optional SLIP/COBS framing to avoid delimiter ambiguity
Suggested message categories:

Table


CategoryDirectionPurpose
HELLO / VERSIONPC to deviceidentify firmware/protocol version
SET_PROFILEPC to deviceload mapping profile
GET_PROFILEPC from deviceread current mapping
SET_LEDPC to deviceset RGB/status pattern
GET_STATSPC from devicereport latency counters, USB state
LOG_EVENTdevice to PCasync diagnostics
ENTER_BOOTLOADERPC to devicecontrolled firmware update mode
The PC protocol must not be required for normal controller-to-console operation.
9.6 USB Compatibility Requirements
Minimum firmware support:
  • USB full-speed HID controllers
  • HID report descriptor parsing
  • Composite devices with multiple interfaces
  • Disconnect/reconnect handling
  • USB reset/suspend/resume
  • Console OUT reports if force feedback is needed
Explicit risk:
  • Many game consoles do not accept arbitrary generic HID devices as full controllers. Compatibility may require official development modes, accessibility APIs, licensed protocols, or documented target-host support.
10. Prototype BOM
10.1 Core Compute and USB

Table


RefQtyPart / TypeExample MPNsNotes
U11Main MCU, dual USB-capableSTM32H723/STM32H743/STM32H750, STM32F723/F733, NXP i.MX RT1062Final selection after package, availability, and USB library review
U21ULPI USB HS PHYUSB3300, USB3320, USB3343Needed if MCU HS USB uses external PHY
U31USB-UART bridgeCP2102N, FT231X, CH343, MCP2221APC configuration/debug port
Y11MCU crystal/oscillatorper MCU reference designUSB requires accurate clocking
Y21PHY crystal/clockper PHY reference designif not clocked from MCU/system clock
JTAG/SWD1Debug connectorTag-Connect or 2x5 1.27 mm SWDRequired for bring-up
10.2 USB-C Connectors and Protection

Table


RefQtyPart / TypeExample / Notes
J11USB-C receptacle, CONTROLLERUSB 2.0 Type-C receptacle, DFP wiring
J21USB-C receptacle, CONSOLEUSB 2.0 Type-C receptacle, UFP wiring
J31USB-C receptacle, PCUSB 2.0 Type-C receptacle, UFP wiring
J41USB-C receptacle, POWERUSB-C power input only
D1-D44USB ESD diode arraysLow-capacitance USB 2.0-rated arrays
CMC1-CMC30-3USB common-mode chokeOptional; validate signal quality
Rccas neededCC resistorsRp for controller, Rd for console/PC/power
Rseras neededUSB series resistorsOnly if MCU/PHY reference design recommends
10.3 Power Management

Table


RefQtyPart / TypeExample MPNsNotes
U41Input eFuse / protection switchTPS2595/TPS2596 class, AP2265/AP2331 class depending currentProtect 5 V input
U51Controller VBUS power switchTPS2051/TPS2553/TPS2561, AP2331/AP2553, MIC2005Current-limited host power
U613.3 V regulator500 mA-1 A buck or LDOBuck preferred if LEDs/controller draw raise thermals
D51Input TVS diodeUSB VBUS-rated TVSPlace near POWER connector
F11Fuse/polyfuse optionalsized for input currentOptional if eFuse used
TPmanyTest pointsVBUS, 5V_SYS, 3V3, CC1/CC2, reset, boot, SWDImportant for bring-up
10.4 User Interface / Enclosure Features

Table


RefQtyPart / TypeNotes
LED1optionalRGB LED strip/frameConsider external 5 V addressable LEDs or onboard RGB LEDs
U7optionalLED driver / level shifterNeeded if using 5 V addressable LEDs from 3.3 V MCU
SW11Reset buttonPrototype convenience
SW21Boot/mode buttonFirmware recovery/profile mode
LABEL1Product stickerDevice ID, firmware, compliance placeholder
11. Development and Validation Plan
Stage 1 — Dev Board Proof
  • Use STM32H7 or i.MX RT development board
  • Connect controller to USB host port
  • Expose console-facing HID to a PC first, not a console
  • Add PC logs over UART bridge
  • Validate report parsing and mapping
Stage 2 — Timing Validation
  • Timestamp host report receipt
  • Timestamp console report staging
  • Measure worst-case latency under logging load
  • Confirm PC protocol cannot block HID path
  • Use USB protocol analyzer if available
Stage 3 — First Custom PCB
  • Include all four USB-C connectors
  • Add SWD/JTAG, reset, boot pins
  • Add test points for VBUS/CC/D+/D-/3V3/5V
  • Add jumpers or 0 ohm links for isolating power paths
  • Use 4-layer stackup with solid ground plane
Stage 4 — Compatibility Testing
  • Test generic HID controllers
  • Test composite controllers
  • Test disconnect/reconnect/reset/suspend/resume
  • Test console/target host only within legitimate supported modes
  • Test OUT reports if rumble/feedback is supported
12. Key Design Risks

Table


RiskImpactMitigation
Console rejects generic HIDProduct may not work with target consoleStart with PC/development host; verify legitimate supported console interfaces early
USB host compatibilitySome controllers may not enumerateUse native USB host controller, parse descriptors, test multiple devices
Timing jitterInput latency or missed reportsKeep PC traffic out of real-time path, use priorities and double buffers
VBUS backfeedDamage or unreliable behaviorIsolate all VBUS domains; use switches/sense-only dividers
USB signal integrityEnumeration failures4-layer board, 90 ohm diff routing, ESD near connectors
Firmware complexityDelaysBuild staged prototype before custom PCB
13. Open Decisions
  1. Select exact target MCU family/package.
  2. Decide whether the prototype targets PC-host HID only first or a specific legitimate console/development environment.
  3. Decide whether RGB LEDs are decorative only or firmware-controlled status indicators.
  4. Decide if USB-PD is needed on the POWER port or if 5 V-only is sufficient.
  5. Define the first supported controller set: generic HID gamepad, keyboard/mouse, XInput-style controller, or a specific accessibility controller.
14. Current Architecture Decision
For the first real prototype, PROX should use:
  • STM32H7/F7 or NXP i.MX RT-class MCU
  • native USB host for CONTROLLER
  • native USB device for CONSOLE
  • separate USB-UART bridge for PC
  • dedicated isolated USB-C power input
  • 4-layer PCB with controlled USB routing
This is the most robust path for reliable HID timing and USB compatibility while keeping the PC configuration/logging channel isolated from the real-time report path.
  • 1. Project Overview

  • 2. Top-Level Recommendation

  • 3. MCU & USB Hardware Selection

  • 3.1 Architecture Options

  • 3.2 Recommended MCU Direction

  • 3.3 Why Not Make PC a Third Native USB Port?

  • 4. Hardware Block Diagram

  • 5. USB-C Port Electrical Roles

  • USB 2.0 Type-C Wiring Notes

  • 6. Draft Pinout / Signal Assignment

  • 6.1 Main MCU Signals

  • 6.2 USB Host PHY Signals

  • 7. Power Delivery and Power Tree

  • 7.1 Prototype Power Strategy

  • 7.2 Initial Power Budget Estimate

  • 8. USB Signal Integrity and PCB Stackup

  • 9. Firmware Architecture

  • 9.1 Firmware Goals

  • 9.2 Firmware Block Diagram

  • 9.3 Real-Time HID Data Path

  • 9.4 Timing Reality Check

  • 9.5 PC Serial Protocol

  • 9.6 USB Compatibility Requirements

  • 10. Prototype BOM

  • 10.1 Core Compute and USB

  • 10.2 USB-C Connectors and Protection

  • 10.3 Power Management

  • 10.4 User Interface / Enclosure Features

  • 11. Development and Validation Plan

  • Stage 1 — Dev Board Proof

  • Stage 2 — Timing Validation

  • Stage 3 — First Custom PCB

  • Stage 4 — Compatibility Testing

  • 12. Key Design Risks

  • 13. Open Decisions

  • 14. Current Architecture Decision

Assets

Assets are files uploaded to this project which can be used in various ways.

PROX USB HID Interface thumbnail
Four-port USB-C HID translation/accessibility prototype with controller host input, console-facing HID device output, PC configuration/debug, and dedicated USB-C power input.

Properties

Properties describe core aspects of the project.

Pricing & Availability

Distributor

Qty 1

Arrow

$17.27–$21.20

Digi-Key

$3.67

HQonline

$0.40–$0.60

LCSC

$22.53–$23.03

Mouser

$27.11

TME

$1.68

Verical

$15.07–$24.90

Controls