65% MX Keyboard (soldered)
Public Unreviewedby gzc
65% ANSI keyboard PCB (68 soldered MX switches) for a gasket-mount case, rev B: STM32F072 under the spacebar running QMK, USB through a Unified Daughterboard on a Pico-EZmate cable, strict-grid copper, green with lead-free HASL, PCBWay bare board for hand assembly.
b097cd0
17h ago
Design review
Written by adom-aiflow on 2026-11-10T05:40:51Z for board-39.kicad_pcb (sha256 8320888acaee). The run's own report, step by step: docs/runs/65-keyboard-claude-opus-5-5-20261109-0022/.
Status: finish ran with 2 open item(s); not cleared for fabrication.
Simulation
Current
| Net | Current (A) | Peak density (A/mm²) | Layers |
|---|---|---|---|
| VBUS | 0.50 | 40.5 | F.Cu, B.Cu |
| GND | 0.50 | 9.0 | F.Cu, B.Cu |
| +3V3 | 0.10 | 12.3 | F.Cu, B.Cu |
Screens
- Current screen: passed
- Thermal screen: passed
The screens and the Fields solve are engineering screens with stated assumptions, not manufacturing or thermal qualification.
Open Fields issues
- 3 decoupling-far findings, grouped (+3V3); the first: U1 pin 1 (+3V3): the nearest small capacitor, C4, is 3.7 mm away (loop 3.7 mm²)
- GND: its pour on F.Cu is in 4 pieces (3 joined through vias, 0 isolated); the nearest one (45.6 mm², joined only through the net's vias on other layers) is 0.6 mm from the main piece
- GND: its pour on B.Cu is in 5 pieces (4 joined through vias, 0 isolated); the nearest one (11.3 mm², joined only through the net's vias on other layers) is 0.7 mm from the main piece
Figures

Adom Fields current and heat screen on the rev B board: VBUS and GND at 0.5 A peak 40 A/mm2, +3V3 at 0.1 A 12 A/mm2, under 1 C rise in still air. The 'no TVS' tag on J2 is expected: ESD protection is on the USB daughterboard.
Components
| Part | Manufacturer | Role | Qty | References | Unit price | Line price | Links |
|---|---|---|---|---|---|---|---|
| 78171-0004 | Molex | Pico-EZmate 4P | 1 | J2 | - | - | |
| AP2112K-3.3TRG1 | Diodes Incorporated | AP2112K-3.3 | 1 | U3 | - | - | wiki |
| CL10A105KB8NNNC | Samsung Electro-Mechanics | 1uF | 3 | C1, C2, C8 | - | - | |
| STM32F072CBT6 | STMicroelectronics | STM32F072CBT6 | 1 | U1 | - | - | wiki |
| CC0603KRX7R9BB104 | YAGEO | 100nF | 5 | C3, C4, C5, C6, C10 | - | - | wiki |
| CL10A475KO8NNNC | Samsung Electro-Mechanics | 4.7uF | 1 | C7 | - | - | wiki |
| 0603B103K500NT | FH (Guangdong Fenghua) | 10nF | 1 | C9 | - | - | |
| 0603WAF1002T5E | UNI-ROYAL | 10k | 1 | R3 | - | - | wiki |
| TS-1187A-B-A-B | XKB Connection | BOOT | 1 | SW69 | - | - | wiki |
| TS-1187A-B-A-B | XKB Connection | RESET | 1 | SW70 | - | - | wiki |
| MX switch, 5-pin or 3-pin (user-supplied) | any MX-compatible (your choice) | MX_SWITCH | 68 | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23, SW24, SW25, SW26, SW27, SW28, SW29, SW30, SW31, SW32, SW33, SW34, SW35, SW36, SW37, SW38, SW39, SW40, SW41, SW42, SW43, SW44, SW45, SW46, SW47, SW48, SW49, SW50, SW51, SW52, SW53, SW54, SW55, SW56, SW57, SW58, SW59, SW60, SW61, SW62, SW63, SW64, SW65, SW66, SW67, SW68 | - | - | |
| 1N4148WS | onsemi | 1N4148WS | 68 | D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D30, D31, D32, D33, D34, D35, D36, D37, D38, D39, D40, D41, D42, D43, D44, D45, D46, D47, D48, D49, D50, D51, D52, D53, D54, D55, D56, D57, D58, D59, D60, D61, D62, D63, D64, D65, D66, D67, D68 | - | - |
# Design review
Written by [adom-aiflow](https://wiki.adom.inc/adom/adom-aiflow) on 2026-11-10T05:40:51Z for `board-39.kicad_pcb` (sha256 `8320888acaee`). The run's own report, step by step: [docs/runs/65-keyboard-claude-opus-5-5-20261109-0022/](docs/runs/65-keyboard-claude-opus-5-5-20261109-0022/).
**Status:** finish ran with 2 open item(s); not cleared for fabrication.
## Simulation
### Current
| Net | Current (A) | Peak density (A/mm²) | Layers |
|---|---|---|---|
| VBUS | 0.50 | 40.5 | F.Cu, B.Cu |
| GND | 0.50 | 9.0 | F.Cu, B.Cu |
| +3V3 | 0.10 | 12.3 | F.Cu, B.Cu |
### Screens
- **Current screen: passed**
- **Thermal screen: passed**
The screens and the Fields solve are engineering screens with stated assumptions, not manufacturing or thermal qualification.
### Open Fields issues
- 3 decoupling-far findings, grouped (+3V3); the first: U1 pin 1 (+3V3): the nearest small capacitor, C4, is 3.7 mm away (loop 3.7 mm²)
- GND: its pour on F.Cu is in 4 pieces (3 joined through vias, 0 isolated); the nearest one (45.6 mm², joined only through the net's vias on other layers) is 0.6 mm from the main piece
- GND: its pour on B.Cu is in 5 pieces (4 joined through vias, 0 isolated); the nearest one (11.3 mm², joined only through the net's vias on other layers) is 0.7 mm from the main piece
### Figures

*Adom Fields current and heat screen on the rev B board: VBUS and GND at 0.5 A peak 40 A/mm2, +3V3 at 0.1 A 12 A/mm2, under 1 C rise in still air. The 'no TVS' tag on J2 is expected: ESD protection is on the USB daughterboard.*
## Components
| Part | Manufacturer | Role | Qty | References | Unit price | Line price | Links |
|---|---|---|---|---|---|---|---|
| 78171-0004 | Molex | Pico-EZmate 4P | 1 | J2 | - | - | |
| AP2112K-3.3TRG1 | Diodes Incorporated | AP2112K-3.3 | 1 | U3 | - | - | [wiki](https://wiki.adom.inc/adom/ap2112k-3-3trg1) |
| CL10A105KB8NNNC | Samsung Electro-Mechanics | 1uF | 3 | C1, C2, C8 | - | - | |
| STM32F072CBT6 | STMicroelectronics | STM32F072CBT6 | 1 | U1 | - | - | [wiki](https://wiki.adom.inc/adom/stm32f072cbt6) |
| CC0603KRX7R9BB104 | YAGEO | 100nF | 5 | C3, C4, C5, C6, C10 | - | - | [wiki](https://wiki.adom.inc/glenn/cc0603krx7r9bb104) |
| CL10A475KO8NNNC | Samsung Electro-Mechanics | 4.7uF | 1 | C7 | - | - | [wiki](https://wiki.adom.inc/adom/cl10a475ko8nnnc) |
| 0603B103K500NT | FH (Guangdong Fenghua) | 10nF | 1 | C9 | - | - | |
| 0603WAF1002T5E | UNI-ROYAL | 10k | 1 | R3 | - | - | [wiki](https://wiki.adom.inc/adom/0603waf1002t5e) |
| TS-1187A-B-A-B | XKB Connection | BOOT | 1 | SW69 | - | - | [wiki](https://wiki.adom.inc/adom/ts-1187a-b-a-b) |
| TS-1187A-B-A-B | XKB Connection | RESET | 1 | SW70 | - | - | [wiki](https://wiki.adom.inc/adom/ts-1187a-b-a-b) |
| MX switch, 5-pin or 3-pin (user-supplied) | any MX-compatible (your choice) | MX_SWITCH | 68 | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23, SW24, SW25, SW26, SW27, SW28, SW29, SW30, SW31, SW32, SW33, SW34, SW35, SW36, SW37, SW38, SW39, SW40, SW41, SW42, SW43, SW44, SW45, SW46, SW47, SW48, SW49, SW50, SW51, SW52, SW53, SW54, SW55, SW56, SW57, SW58, SW59, SW60, SW61, SW62, SW63, SW64, SW65, SW66, SW67, SW68 | - | - | |
| 1N4148WS | onsemi | 1N4148WS | 68 | D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25, D26, D27, D28, D29, D30, D31, D32, D33, D34, D35, D36, D37, D38, D39, D40, D41, D42, D43, D44, D45, D46, D47, D48, D49, D50, D51, D52, D53, D54, D55, D56, D57, D58, D59, D60, D61, D62, D63, D64, D65, D66, D67, D68 | - | - | |