← Commit history
65-keyboard-datasheet.pdfadded
⋯ 1 unchanged line ⋯
65-keyboard.glb
⋯ 1 unchanged line ⋯
README.md+56−20
@@ -1,29 +1,65 @@ # 65% MX Hotswap Keyboard -Source: "/mnt/c/Users/gazac/Downloads/65_ Keyboard Build – AI Handoff Context.pdf" (2026-11-08), plus decisions made 2026-11-09:--- 65% ANSI, 68 keys, 16u wide, MX-style 5-pin hole pattern.-- Mounting: plain hotswap, Kailh CPG151101S11 (confirmed 2026-11-09).-- Matrix: 5 rows x 15 columns, 1N4148WS (SOD-323) per key, COL2ROW (cathode toward the row), confirmed 2026-11-09.-- MCU: STM32F072CBT6 (LQFP-48), crystal-less USB with CRS, built-in DFU. QMK + VIA/Vial, stm32-dfu bootloader.-- USB-C: GCT USB4105-GF-A, USB 2.0, 5.1k pull-downs on CC1/CC2, USBLC6-2SC6 ESD on D+/D-, PA12 = D+, PA11 = D-, no external pull-up or series resistors.-- Power: Bourns MF-MSMF050-2 PTC on VBUS, AP2112K-3.3 LDO with 1 uF in/out, 100 nF per VDD + VDDIO2, 4.7 uF bulk, VDDA 1 uF + 10 nF.-- BOOT0: 10k pull-down + button to 3.3 V. NRST: 100 nF to GND + button to GND.-- SWD pads: 3V3, SWDIO PA13, SWCLK PA14, NRST, GND. Keep PA11-PA14 and BOOT0 out of the matrix.-- Stabilizers: PCB screw-in (Durock V2) for Backspace 2u, Enter 2.25u, LShift 2.25u, Space 6.25u.-- Key pitch 19.05 mm. Layout: design/65Keyboard.json (KLE). Matrix map in the handoff PDF, page 5.-- Fab: JLCPCB assumed, not yet confirmed.--**Status: revision 1.** The parts are chosen and every one has its Adom wiki page or comes from the board's own project library; the schematic and the board come next, built with [adom-aiflow](https://wiki.adom.inc/adom/adom-aiflow).+A 65% ANSI keyboard main board (68 keys) for a gasket-mount case. Kailh hotswap sockets, an STM32F072 under the spacebar running QMK, and USB through a separate USB-C daughterboard on a 4-pin Molex Pico-EZmate cable. The copper is laid out on a strict grid: one straight line per row, one vertical line per column.++**Status: revision A (layout v4), designed and checked, not yet built.** The schematic and board match pin for pin, KiCad DRC and ERC are clean (0 errors, 0 warnings, 0 unconnected), and the current and heat screen passes. Nothing on this page has been measured on a real board yet.++![Back of the board in 3D: 68 hotswap sockets with a diode beside each, the STM32 controller, regulator and USB header under the spacebar](screenshots/hero.png)+*The back of the board (KiCad render, matte black mask, ENIG). Every part is on this side; switches plug in from the front.*++## At a glance++| | |+|---|---|+| Layout | 65% ANSI, 68 keys, 16u x 5u at 19.05 mm pitch |+| Board | 304.8 x 96.75 mm, 2 layers, 1.6 mm, matte black mask, ENIG, white silkscreen |+| Switches | MX-style 3- or 5-pin, hotswap (Kailh CPG151101S11) |+| Stabilizers | PCB screw-in (Durock V2): 6.25u Space, 2u Backspace, 2.25u Enter, 2.25u Left Shift |+| Matrix | 5 rows x 15 columns, 1N4148WS per key, COL2ROW |+| Controller | STM32F072CBT6, crystal-less USB, built-in DFU bootloader |+| Firmware | QMK + VIA/Vial (`stm32-dfu`) |+| USB | Unified Daughterboard (UDB-C, **EZM** type) on a 1:1 Pico-EZmate cable into J2 |+| Fab | JLCPCB, bottom-side assembly, 152 placements, 12 BOM lines |+| Mounting | 8 x M2 holes kept for now; a gasket case may use none |++## Pictures++![Back of the board seen flat: five straight row lines and the controller block under the spacebar](screenshots/back-flat.png)+*Back, flat. Each row is one straight line under its diodes.*++![Front of the board seen flat: switch holes and the faint column traces under the black mask](screenshots/front-flat.png)+*Front, flat (the switch side). No silkscreen boxes; the column traces show faintly under the mask.*++![Close-up of the controller area: J2 header, AP2112K regulator, STM32F072, BOOT and RESET buttons and the labelled test pads](screenshots/controller-closeup.png)+*The controller block under the spacebar: J2 (USB cable header), the 3.3 V regulator, the STM32, the BOOT (SW69) and RESET (SW70) buttons, and the gold test pads, each labelled with its net.*++![The two copper layers drawn separately: back copper in blue with straight rows and two column bundles, front copper in red with vertical columns](screenshots/copper-front-back.png)+*The copper, layer by layer. Back (blue): straight rows, and the 15 columns arriving at the chip as two neat bundles in the gap between rows 3 and 4. Front (red): one vertical column per key column, with 45-degree jogs.*++![Adom Fields current and heat solve of the board, with VBUS 0.5 A at 40 A/mm2 and the issues list](screenshots/fields-current.png)+*Adom Fields current and heat screen (simulation, 0.5 A on VBUS and GND): peak 40 A/mm², under 1 °C rise. The "no TVS" tag on J2 is expected: ESD protection lives on the daughterboard. The three low notes left open are listed in the [design review](design-review/README.md).*++![Plan drawing comparing two controller spots: A by the Enter key and B under the spacebar](screenshots/controller-options.png)+*How the controller spot was chosen: A (by Enter) left no room for the column bundles, so B (under the spacebar) was built.*++## Using the board++- **Daughterboard.** Use a Unified Daughterboard of the EZM (Pico-EZmate) type with its 1:1 cable: pin 1 VBUS, 2 D-, 3 D+, 4 GND. The main board has no ESD or fuse of its own; the daughterboard carries them. A JST-SH (JSH) daughterboard needs a Molex-to-JST cable.+- **QMK pins.** `MATRIX_ROW_PINS { PB9, PB6, PB4, PA15, PB3 }`, `MATRIX_COL_PINS { PA0, PA1, PA2, PA3, PA4, PA5, PA6, PA7, PB0, PB1, PB2, PB10, PB11, PB12, PB13 }`, `DIODE_DIRECTION COL2ROW`.+- **Flashing.** Hold BOOT (SW69) and tap RESET (SW70); the STM32 DFU bootloader appears and QMK Toolbox or `dfu-util` can flash it.+- **Debug.** SWD on the test pads: 3V3, SWDIO, SWCLK, NRST, GND (plus VBUS and BOOT0).+- **Ordering.** The STM32F072CBT6 had only 32 in stock at JLCPCB on 2026-11-09; check before ordering.++## Design review and datasheet++- [Design review](design-review/README.md): the current and heat tables, the screens' verdicts, and the parts table with prices.+- [Datasheet (PDF)](65-keyboard-datasheet.pdf): operating envelope, pinout, power, mechanical and fab details, and the qualification limits. It is at the bottom of this page too.  ## Components  | References | Qty | Value | MPN | Manufacturer | Wiki page | |---|---|---|---|---|---|-| J1 | 1 | USB4105-GF-A | USB4105-GF-A | GCT | [adom/usb4105-gf-a](https://wiki.adom.inc/adom/usb4105-gf-a) |-| R1, R2 | 2 | 5.1k | 0603WAF5101T5E | UNI-ROYAL | project library (no public page yet) |-| F1 | 1 | 500mA PTC | MF-MSMF050-2 | Bourns | [adom/mf-msmf050-2](https://wiki.adom.inc/adom/mf-msmf050-2) |-| U2 | 1 | USBLC6-2SC6 | USBLC6-2SC6 | STMicroelectronics | [ray/usblc6-2sc6](https://wiki.adom.inc/ray/usblc6-2sc6) |+| J2 | 1 | Pico-EZmate 4P | 78171-0004 | Molex | project library (no public page yet) | | U3 | 1 | AP2112K-3.3 | AP2112K-3.3TRG1 | Diodes Incorporated | [adom/ap2112k-3-3trg1](https://wiki.adom.inc/adom/ap2112k-3-3trg1) | | C1, C2, C8 | 3 | 1uF | CL10A105KB8NNNC | Samsung Electro-Mechanics | project library (no public page yet) | | U1 | 1 | STM32F072CBT6 | STM32F072CBT6 | STMicroelectronics | [adom/stm32f072cbt6](https://wiki.adom.inc/adom/stm32f072cbt6) |@@ -37,7 +73,7 @@ Source: "/mnt/c/Users/gazac/Downloads/65_ Keyboard Build – AI Handoff Context.  ## Install every part in KiCad -This page is a KiCad Plugin and Content Manager repository. In KiCad, open **Plugin and Content Manager**, **Manage...**, add this URL, then install **65% MX Hotswap Keyboard** from the Libraries tab:+This page is a KiCad Plugin and Content Manager repository. In KiCad, open **Plugin and Content Manager**, **Manage...**, add this URL, then install **65% MX hotswap keyboard** from the Libraries tab:  ``` https://wiki.adom.inc/api/pages/gzc/65-keyboard/files/pcm/repository.json
design-review/01-artifact-6e94679a2764f9554cd5aa74bf5f7830cd88799cd51e4d508937ed69b65e05ea.pngadded
⋯ 1 unchanged line ⋯
design-review/README.mdadded+52
@@ -0,0 +1,52 @@+# Design review++Written by [adom-aiflow](https://wiki.adom.inc/adom/adom-aiflow) on 2026-11-09T22:43:26Z for `board-37.kicad_pcb` (sha256 `e8a0321b1b09`). 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 4 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 | 8.2 | 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 3 pieces (2 joined through vias, 0 isolated); the nearest one (27.3 mm², joined only through the net's vias on other layers) is 0.4 mm from the main piece+- GND: its pour on B.Cu is in 5 pieces (4 joined through vias, 0 isolated); the nearest one (37.0 mm², joined only through the net's vias on other layers) is 0.4 mm from the main piece++### Figures++![Adom Fields current and heat screen on the final 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.](design-review/01-artifact-6e94679a2764f9554cd5aa74bf5f7830cd88799cd51e4d508937ed69b65e05ea.png)++*Adom Fields current and heat screen on the final 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) |+| CPG151101S11-16 | Kailh | CPG151101S11-16 | 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 | - | - |  |+
page.json+26−6
@@ -3,8 +3,8 @@   "slug": "65-keyboard",   "type": "component",   "title": "65% MX Hotswap Keyboard",-  "brief": "# 65% MX keyboard PCB (brief)\n\nSource: \"/mnt/c/Users/gazac/Downloads/65_ Keyboard Build – AI Handoff Context.pdf\" (2026-11-08), plus decisions made 2026-11-09:\n\n- 65% ANSI, 68 keys, 16u wide, MX-style",-  "version": "0.1.0",+  "brief": "# 65% MX hotswap keyboard PCB\n\nA 65% ANSI keyboard main board (68 keys) for a gasket-mount case, with the USB-C port on a separate Unified Daughterboard and a scripted, strict-grid copper layout.\n\n- Layout: 65% ANSI, 68 keys, 16u x 5u at 19.05 mm pitch. Board 304.8 x 96.75 mm, 2 layers, all parts on the back.\n- Switches: plain hotswap, Kailh CPG151101S11 sockets for MX-style 3- and 5-pin switches. PCB screw-in stabilizers (Durock V2): Backspace 2u, Enter 2.25u, Left Shift 2.25u, Space 6.25u.\n- Matrix: 5 rows x 15 columns, one 1N4148WS (SOD-323) per key, COL2ROW (cathode toward the row).\n- Controller: STM32F072CBT6 (LQFP-48) under the spacebar, crystal-less USB with CRS, built-in DFU. QMK + VIA/Vial (stm32-dfu bootloader).\n- Pin map (v4): rows PB9 PB6 PB4 PA15 PB3; columns PA0-PA7 PB0 PB1 PB2 PB10 PB11 PB12 PB13. USB D- PA11, D+ PA12, SWDIO PA13, SWCLK PA14.\n- USB: a Unified Daughterboard (UDB-C EZM) carries the USB-C receptacle, CC pull-downs, ESD and over-current protection. The main board has a Molex Pico-EZmate 78171-0004 cable header (J2), 1:1 cable: 1 VBUS, 2 D-, 3 D+, 4 GND.\n- Power: AP2112K-3.3 LDO with 1 uF in/out, 100 nF per VDD and VDDIO2, 4.7 uF bulk, VDDA 1 uF + 10 nF.\n- BOOT0: 10k pull-down + button to 3.3 V. NRST: 100 nF to GND + button to GND. Test pads: 3V3, SWDIO, SWCLK, NRST, GND, VBUS, BOOT0.\n- Copper: rows as one straight line per row on the back under the diodes; columns vertical on the front with 45-degree jogs and the same via spot on every key; the columns reach the chip as two parallel bundles in the gap between rows 3 and 4; rows drop to the chip on the front. GND pour on both layers.\n- Fab: JLCPCB, 2 layers, matte black solder mask, ENIG, bottom-side assembly.\n",+  "version": "0.2.0",   "visibility": {     "public": true   },@@ -18,7 +18,15 @@     "name": "gzc",     "email": "[email protected]"   },-  "tags": [],+  "tags": [+    "keyboard",+    "65-percent",+    "hotswap",+    "stm32",+    "qmk",+    "kicad",+    "gasket-mount"+  ],   "license": "proprietary",   "sample_prompts": [],   "discovery_triggers": [],@@ -31,10 +39,22 @@     "manufacturer": "",     "package": "",     "pin_count": null,-    "category": "",+    "category": "Keyboard PCB",     "subcategory": "",     "body_size": null,-    "parts": {},+    "parts": {+      "model_3d": "65-keyboard.glb",+      "datasheet": "65-keyboard-datasheet.pdf"+    },     "distributor_links": {}-  }+  },+  "sections": [+    "hero",+    "readme",+    "viewers",+    "install",+    "deps",+    "breadcrumbs",+    "info"+  ] }\ No newline at end of file
pcm/65-keyboard-pcm-1.0.1.zipadded
⋯ 1 unchanged line ⋯
pcm/65-keyboard-pcm-1.0.2.zipadded
⋯ 1 unchanged line ⋯
pcm/65-keyboard-pcm-1.0.3.zipadded
⋯ 1 unchanged line ⋯
pcm/build.jsonadded+7
@@ -0,0 +1,7 @@+{+ "version": "1.0.3",+ "contentSha256": "8110dbd3f9b8c00b5db8650dc27113a36d9188da12f63e803604c2d124c9b11b",+ "why": "content changed since 1.0.2",+ "identifier": "inc.adom.wiki.gzc.65-keyboard",+ "zip": "65-keyboard-pcm-1.0.3.zip"+}\ No newline at end of file
pcm/packages.json+8−8
@@ -3,9 +3,9 @@  "packages": [   {    "$schema": "https://go.kicad.org/pcm/schemas/v1",-   "name": "65% MX Hotswap Keyboard",-   "description": "Source: \"/mnt/c/Users/gazac/Downloads/65_ Keyboard Build \u2013 AI Handoff Context.pdf\" (2026-11-08), plus decisions made 2026-11-09:",-   "description_full": "# 65% MX keyboard PCB (brief)\n\nSource: \"/mnt/c/Users/gazac/Downloads/65_ Keyboard Build \u2013 AI Handoff Context.pdf\" (2026-11-08), plus decisions made 2026-11-09:\n\n- 65% ANSI, 68 keys, 16u wide, MX-style 5-pin hole pattern.\n- Mounting: plain hotswap, Kailh CPG151101S11 (confirmed 2026-11-09).\n- Matrix: 5 rows x 15 columns, 1N4148WS (SOD-323) per key, COL2ROW (cathode toward the row), confirmed 2026-11-09.\n- MCU: STM32F072CBT6 (LQFP-48), crystal-less USB with CRS, built-in DFU. QMK + VIA/Vial, stm32-dfu bootloader.\n- USB-C: GCT USB4105-GF-A, USB 2.0, 5.1k pull-downs on CC1/CC2, USBLC6-2SC6 ESD on D+/D-, PA12 = D+, PA11 = D-, no external pull-up or series resistors.\n- Power: Bourns MF-MSMF050-2 PTC on VBUS, AP2112K-3.3 LDO with 1 uF in/out, 100 nF per VDD + VDDIO2, 4.7 uF bulk, VDDA 1 uF + 10 nF.\n- BOOT0: 10k pull-down + button to 3.3 V. NRST: 100 nF to GND + button to GND.\n- SWD pads: 3V3, SWDIO PA13, SWCLK PA14, NRST, GND. Keep PA11-PA14 and BOOT0 out of the matrix.\n- Stabilizers: PCB screw-in (Durock V2) for Backspace 2u, Enter 2.25u, LShift 2.25u, Space 6.25u.\n- Key pitch 19.05 mm. Layout: design/65Keyboard.json (KLE). Matrix map in the handoff PDF, page 5.\n- Fab: JLCPCB assumed, not yet confirmed.\n\nEvery part of this board (from the Adom wiki and the board's project library): symbol, footprint and STEP model. Project page: https://wiki.adom.inc/gzc/65-keyboard",+   "name": "65% MX hotswap keyboard",+   "description": "A 65% ANSI keyboard main board (68 keys) for a gasket-mount case, with the USB-C port on a separate Unified Daughterboard and a scripted, strict-grid ",+   "description_full": "# 65% MX hotswap keyboard PCB\n\nA 65% ANSI keyboard main board (68 keys) for a gasket-mount case, with the USB-C port on a separate Unified Daughterboard and a scripted, strict-grid copper layout.\n\n- Layout: 65% ANSI, 68 keys, 16u x 5u at 19.05 mm pitch. Board 304.8 x 96.75 mm, 2 layers, all parts on the back.\n- Switches: plain hotswap, Kailh CPG151101S11 sockets for MX-style 3- and 5-pin switches. PCB screw-in stabilizers (Durock V2): Backspace 2u, Enter 2.25u, Left Shift 2.25u, Space 6.25u.\n- Matrix: 5 rows x 15 columns, one 1N4148WS (SOD-323) per key, COL2ROW (cathode toward the row).\n- Controller: STM32F072CBT6 (LQFP-48) under the spacebar, crystal-less USB with CRS, built-in DFU. QMK + VIA/Vial (stm32-dfu bootloader).\n- Pin map (v4): rows PB9 PB6 PB4 PA15 PB3; columns PA0-PA7 PB0 PB1 PB2 PB10 PB11 PB12 PB13. USB D- PA11, D+ PA12, SWDIO PA13, SWCLK PA14.\n- USB: a Unified Daughterboard (UDB-C EZM) carries the USB-C receptacle, CC pull-downs, ESD and over-current protection. The main board has a Molex Pico-EZmate 78171-0004 cable header (J2), 1:1 cable: 1 VBUS, 2 D-, 3 D+, 4 GND.\n- Power: AP2112K-3.3 LDO with 1 uF in/out, 100 nF per VDD and VDDIO2, 4.7 uF bulk, VDDA 1 uF + 10 nF.\n- BOOT0: 10k pull-down + button to 3.3 V. NRST: 100 nF to GND + button to GND. Test pads: 3V3, SWDIO, SWCLK, NRST, GND, VBUS, BOOT0.\n- Copper: rows as one straight line per row on the back under the diodes; columns vertical on the front with 45-degree jogs and the same via spot on every key; the columns reach the chip as two parallel bundles in the gap between rows 3 and 4; rows drop to the chip on the front. GND pour on both layers.\n- Fab: JLCPCB, 2 layers, matte black solder mask, ENIG, bottom-side assembly.\n\nEvery part of this board (from the Adom wiki and the board's project library): symbol, footprint and STEP model. Project page: https://wiki.adom.inc/gzc/65-keyboard",    "identifier": "inc.adom.wiki.gzc.65-keyboard",    "type": "library",    "author": {@@ -20,13 +20,13 @@    },    "versions": [     {-     "version": "1.0.0",+     "version": "1.0.3",      "status": "stable",      "kicad_version": "9.0",-     "download_url": "https://wiki.adom.inc/api/pages/gzc/65-keyboard/files/pcm/65-keyboard-pcm-1.0.0.zip",-     "download_sha256": "42db66b915979c85dd886c6db3a6b0a4ccf5ea63590806d081f47f57814410e2",-     "download_size": 1501140,-     "install_size": 8099814+     "download_url": "https://wiki.adom.inc/api/pages/gzc/65-keyboard/files/pcm/65-keyboard-pcm-1.0.3.zip",+     "download_sha256": "24e46666a384a4a39b066036a23258c1fadf4dce0b7c0a2134a837320293bda0",+     "download_size": 1189365,+     "install_size": 6380591     }    ]   }
pcm/repository.json+4−4
@@ -1,6 +1,6 @@ {  "$schema": "https://go.kicad.org/pcm/schemas/v1#/definitions/Repository",- "name": "65% MX Hotswap Keyboard (Adom wiki)",+ "name": "65% MX hotswap keyboard (Adom wiki)",  "maintainer": {   "name": "gzc",   "contact": {@@ -9,8 +9,8 @@  },  "packages": {   "url": "https://wiki.adom.inc/api/pages/gzc/65-keyboard/files/pcm/packages.json",-  "sha256": "eeba187a82ae538bc14832a4186ee098c7b03daffe2c48e6d360bc1f7da6d693",-  "update_timestamp": 1794187131,-  "update_time_utc": "2026-11-09 01:18:51"+  "sha256": "7603ee80960c26c78f5b392f236a9e34db8d31bc15314b433f407fdf037bb516",+  "update_timestamp": 1794261615,+  "update_time_utc": "2026-11-09 22:00:15"  } }\ No newline at end of file
screenshots/back-flat.pngadded
⋯ 1 unchanged line ⋯
screenshots/controller-closeup.pngadded
⋯ 1 unchanged line ⋯
screenshots/controller-options.pngadded
⋯ 1 unchanged line ⋯
screenshots/copper-front-back.pngadded
⋯ 1 unchanged line ⋯
screenshots/fields-current.pngadded
⋯ 1 unchanged line ⋯
screenshots/front-flat.pngadded
⋯ 1 unchanged line ⋯
screenshots/hero.png
⋯ 1 unchanged line ⋯