Files
tertiary/docs/bom.csv
T
William RickertandClaude Opus 5 4467aa9433 Initial design record for the three-piece keyboard
Two mirrored halves plus a numpad that carries the USB hub. Captures the
architecture decisions and the reasoning behind them: CH32L103 with an
STM32F103 pin-compatible escape hatch, split protocol tunnelled over USB-C
SBU through the numpad, hotswap sockets bottom-side, and why crystal-less
USB was ruled out across the whole WCH catalogue.

No boards ordered, no firmware written. Layout still undesigned.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 14:07:50 -05:00

5.2 KiB

1BoardSectionRefQtyValueMPNLCSCPackageJLCUnit USDNotes
2ALLMCUU11CH32L103C8T6CH32L103C8T6C22398291LQFP-48(7x7)Extended0.80MCU. Swap-compatible: STM32F103C8T6 = C8734 / Preferred / $1.44
3ALLMCUU213.3V LDO 500mART9013-33GB-MSC7434207SOT-23-5Extended0.06Alt basic: XC6206P332MR-G C5446 but only 200mA
4ALLMCUU31USB ESDUSBLC6-2SC6C2687116SOT-23-6Extended0.048on this board's own USB-C
5ALLMCUJ11USB-C 16PTYPE-C16PINC393939SMDExtended0.069upstream / device port
6ALLMCUJ21SWD header--1.27mm 4-pinConsigned0.00SWDIO=PA13 SWCLK=PA14 GND 3V3
7ALLMCUY118MHz crystalTAXM8M4RDBCCT2TC400090SMD3225-4PExtended0.14610pF load 250R ESR +/-10ppm. Satisfies both MCUs' USB PLL
8ALLMCUSW11Tactile RESETTS2306A 200gfC5363482SMD 3x2mmExtended0.062to NRST
9ALLMCUSW21Tactile BOOTTS2306A 200gfC5363482SMD 3x2mmExtended0.062BOOT0 to 3V3. Works for both boot paths
10ALLMCUC1-C55100nF 0402 X7R 16VCL05B104KO5NNNCC15250402Basic0.006VDD_1 VDD_2 VDD_3 VDDA NRST
11ALLMCUC614.7uF 0603 X5RCL10A475KO8NNNCC196660603Basic0.024bulk at MCU
12ALLMCUC711uF 0402 X5R 25VCL05A105KA5NQNCC529230402Basic0.014VDDA
13ALLMCUC8-C9210uF 0805 X5RCL21A106KAYNNNEC158500805Basic0.077LDO input and output
14ALLMCUC10-C11212pF 0402 C0GJLC basic library-0402Basic0.005MCU crystal load. 12pF assumes 10pF CL + ~4pF stray - verify vs stackup
15ALLMCUR1-R2222R 0402FRC0402F22R0TSC29299940402Extended0.0007USB D+/D- series. 0R (C17168 Basic) also acceptable
16ALLMCUR3-R425.1k 0402JLC basic library-0402Basic0.002USB-C CC1/CC2 pull-DOWN (Rd - device side)
17ALLMCUR511.5k 0402JLC basic library-0402Basic0.002*** SWAP-DEPENDENT *** D+ pull-up. POPULATE for STM32F103. DNF for CH32L103 (internal 1.5k via RB_UC_DEV_PU_EN)
18ALLMCUR6-R7210k 0402FRC0402F1002TSC257440402Basic0.003BOOT0 pulldown, BOOT1/PB2 pulldown
19HALFMatrixD1-Dn11N4148W1N4148WC81598SOD-123Basic0.011One per key. Qty per your layout
20HALFSplitR141100R 0402JLC basic library-0402Basic0.002Series on the SBU net between connector and MCU USART pin
21HALFSplitD-ESD1ESD 5V bidirectionalPESD5V0S1BAC2827694SOD-323Extended0.036On the SBU net - user-exposed signal going to a GPIO
22HALFSplitJ313-pin header DNFJST SH--Consigned0.02*** DNF INSURANCE *** VCC/GND/DATA fallback if SBU proves flaky (bad cables). 3 pads cost nothing
23HALFSplit--SBU1+SBU2 TIE----0.00Tie A8 and B8 together on the board. SBU is CROSSED in the cable, so this makes it orientation-proof and doubles the conductor
24NUMPADDNFJ1/U3/R3/R4/R50DO NOT POPULATE----0.00*** From the ALL block: numpad MCU has NO connector of its own. Its D+/D- route internally to hub downstream port 1. No connector = no ESD part and no CC resistors needed. Saves ~$0.19
25NUMPADMatrixD1-D26261N4148W1N4148WC81598SOD-123Basic0.01126 keys: 17 numpad + 9 nav
26NUMPADEncoderENC11EC11 detentedEC11L1525G01C2991196THTExtended1.27VOLUME - wants detents. THT: hand-solder or JLC THT surcharge
27NUMPADEncoderENC21EC11 detentlessverify variant-THTExtended1.27SCROLL - wants NO detents for hi-res scroll. Confirm detentless SKU
28NUMPADHubU41USB2.0 4-port hubCH334RC4154405QSOP-16-150milExtended0.50Ports: 1=own MCU (internal FS) 2=left half 3=right half 4=spare
29NUMPADHubY2112MHz crystalX322512MSB4SIC9002SMD3225-4PBasic0.101CH334 has built-in load caps - verify internal value vs this 20pF CL crystal; fit DNF cap pads
30NUMPADHubC12-C143100nF 0402CL05B104KO5NNNCC15250402Basic0.006hub decoupling
31NUMPADHubC15110uF 0805CL21A106KAYNNNEC158500805Basic0.077hub bulk
32NUMPADHubJ41USB-C upstreamTYPE-C16PINC393939SMDExtended0.069to PC. This replaces J1 as the board's real upstream
33NUMPADHubJ5-J73USB-C downstreamTYPE-C16PINC393939SMDExtended0.069left half / right half / spare
34NUMPADHubU5-U73USB ESDUSBLC6-2SC6C2687116SOT-23-6Extended0.048one per downstream port
35NUMPADHubU8-U103Ideal diode / OCPCH213KC5456874SOT-23-3Extended0.073VBUS protection per downstream port. CH334R has no port power switching
36NUMPADHubR8-R13656k 0402FRC0402F5602TSC29068750402Extended0.0018Rp pull-UPS on CC1/CC2 of each downstream port - host side. NOT 5.1k
37NUMPADSBU--SBU PASS-THROUGH----0.00*** Passive trace *** Tie SBU1+SBU2 on J5 (left half) and on J6 (right half), then connect the two nets together. Carries QMK split_common UART between the halves. Numpad MCU does NOT touch this net
38NUMPADSBUD-ESD22ESD 5V bidirectionalPESD5V0S1BAC2827694SOD-323Extended0.036One per half-port SBU net
39HALFSwitchesSW-1MX hotswap socketCPG151101S11C41430893SMD 14.5x5.9mmExtended0.037One per key. BOTTOM SIDE. Alt: C49352235 (CPG151101S11-2)
40NUMPADSwitchesSW-26MX hotswap socketCPG151101S11C41430893SMD 14.5x5.9mmExtended0.037One per key. BOTTOM SIDE
41NOTEAssembly--SINGLE-SIDED-----Put ALL SMD on the BOTTOM: sockets, MCU, passives, diodes, and any reverse-mount SK6812MINI-E. Top face bare except switch holes. Keeps JLC to one assembly pass
42NOTEMechanical--PLATE REQUIRED-----Hotswap needs a switch plate or socket pads tear off during switch insertion. FR4 plate = just another JLC board