Skip to the content
PCBKitNew board
2 layers138.4 × 97.4 mmHhkb split left, the printed circuit board in 3D

Hhkb split left

ms0216/hhkb-split1

HHKB Professional HYBRID Type-S の使い勝手を再現する完全分割型キーボード(ZMK / XIAO nRF52840 / build123d による寸法駆動CAD)

Size
138.4 × 97.4 mm
Copper layers
2
Thickness
1.6 mm
Parts
65
Nets
45
Pads
289
Tracks, vias
291, 66
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
7 Aug 2026
Updated
18 Oct 2026

Overview

Hhkb split left is an open-source printed circuit board by ms0216, from the ms0216/hhkb-split repository on GitHub. It is a 2-layer board of 138.4 × 97.4 mm with 65 parts on 45 nets, routed with 291 tracks and 66 vias.

It is built around the 74LVC595AD, BAT46W and CPG151101S11-2, with the FH12-12S-0.5SH(55) among its other parts. Its parts include 27 diodes, 27 switches and 1 IC.

Main components

4

README

pcb/README.md

基板(KiCad)

現在の状態

段階内容状態
D1外形・キー配置・取付穴✅ 完了。DRC 違反 0
D2aマトリクス(61キー + 61ダイオード + 行列のネット)✅ 完了
D3aマトリクスの配線(行・列・スイッチ→ダイオード)✅ 左は違反 0 / ⚠️ 右に 5 件(下記)
D2bXIAO・74HC595・電源の搭載⬜ 3D 実装の検討が要る(下記)
D3配線(行・列・電源)⬜
D4JLCPCB 向け出力(ガーバー・BOM・CPL)⬜

マトリクスは配線済み(未配線 0)。左半分は DRC 違反 0。

右半分に残る 5 件

すべて hole_clearance(配線が穴に近すぎる)で、原因は特定済み。

列のバスは行間の空きを横に渡るが、スタビライザーの穴がその帯に食い込んで いる(キー中心 +6.2〜10.2mm)。9 列ぶんの通り道を 0.8mm 間隔で並べると、 穴を避けきれない列が出る。

取りうる手:

  1. 穴に当たる区間だけ迂回させる(自動配線の作り込み)
  2. 配線幅と間隔を詰めて通り道を増やす(JLCPCB の最小は 0.127mm)
  3. 該当箇所だけ KiCad の GUI で手直しする

左半分が完全に通っているので、方式の問題ではない。

D2b でまず決めること — XIAO をどこに置くか

XIAO は基板の裏面に付く(表に置くとキーキャップと当たる)。ところが USB-C は実機と同じく背面に出す必要があり、基板の裏の背面側には **電池室(幅 109mm)**が横断している。左半分では電池の外側に 15mm ほどしか残らず、XIAO の 17.8mm が入らない。

取りうる案:

  1. USB-C を基板端のコネクタとして別に載せ、XIAO は空いている隅に置く
  2. 電池を左右に振り分けて中央を空ける(ケースの作り直しが要る)
  3. USB の位置を実機と変える(使い勝手の方針に反するので最後)

ケースの 3D モデルと合わせて検討する必要がある。 実測(Task C4)で 電源部の構成が確定してから着手するのが順序として正しい。

生成のしかた

pcbnew は KiCad 同梱の Python にしか無いので、そちらで動かす。

bash
/Applications/KiCad/KiCad.app/Contents/Frameworks/Python.framework/Versions/3.9/bin/python3.9 \
    tools/gen_pcb.py

検証のしかた

bash
# デザインルール検査(違反があれば終了コードが非 0)
/Applications/KiCad/KiCad.app/Contents/MacOS/kicad-cli pcb drc \
    --severity-error --exit-code-violations pcb/hhkb_split_left.kicad_pcb

# 生成物が設計値と一致するか(通常の pytest から実行できる)
python -m pytest tools/test_pcb.py

# 目で見る
/Applications/KiCad/KiCad.app/Contents/MacOS/kicad-cli pcb render \
    --output /tmp/pcb.png --side top pcb/hhkb_split_left.kicad_pcb

.kicad_pcb はテキスト(S 式)なので、tools/test_pcb.py は pcbnew 無しで 読める。生成した基板を読み返して、プレート・ケースと突き合わせるのが要点。 別々に生成される以上、同じ設計値から導いていても座標変換を間違えれば静かに ずれる。ずれたまま発注すると数万円が無駄になる。

寸法

左右
基板140.36 × 102.00mm173.70 × 102.00mm
スイッチ2734
スタビライザー22
取付穴77

外形はプレートより片側 3.0mm 小さい(interface.PCB_INSET)。ケースの 側壁 2.4mm の内側に収める必要があるため。

奥行 102.00mm = プレート 108.00mm − 6.0mm。プレートの 108.00mm は HHKB 実機の本体奥行そのもの。

ライブラリ

lib/ を参照。KiCad 標準に無い 3.00u とホットスワップソケットだけを kiswitch から取り込み、寸法を規格値と照合してある。

Parts

65
QtyValueFootprintReferences
27BAT46WD_SOD-123D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +11
22CPG151101S11-2SW_Hotswap_Kailh_MX_1.00uSW1, SW2, SW10, SW11, SW12, SW14, SW15, SW16, SW17, SW18, SW20, SW21, SW22, SW23, SW24, SW25 +6
6MountingHole_2.2mm_M2MountingHole_2.2mm_M2H0, H1, H2, H3, H4, H5
2CPG151101S11-2SW_Hotswap_Kailh_MX_1.50uSW7, SW26
2Stabilizer_Cherry_MX_2.00uStabilizer_Cherry_MX_2.00uST19, ST27
1100nFC_0805_2012MetricC_U1
174LVC595TSSOP-16_4.4x5mm_P0.65mmU1
1CPG151101S11-2SW_Hotswap_Kailh_MX_2.25uSW19
1CPG151101S11-2SW_Hotswap_Kailh_MX_1.75uSW13
1CPG151101S11-2SW_Hotswap_Kailh_MX_2.75uSW27
1FH12-12S-0.5SH(55)Hirose_FH12-12S-0.5SH_1x12-1MP_P0.50mm_HorizontalJ_DB

Questions

How big is the Hhkb split left PCB?

It measures 138.4 × 97.4 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Hhkb split left use?

65 parts, built around the 74LVC595AD, BAT46W, CPG151101S11-2 and FH12-12S-0.5SH(55). 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 Hhkb split left KiCad files?

From the ms0216/hhkb-split repository on GitHub, at the commit this page was made from: the board is pcb/matrix_only/hhkb_split_left.kicad_pcb and its schematic pcb/hhkb_split_daughterboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Hhkb split left design in my own project?

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

More from ms0216/hhkb-split

2
  • 2 layers171.7 × 97.4 mmHhkb split right, the printed circuit board in 3D

    Hhkb split right

    ms0216/hhkb-split

    HHKB Professional HYBRID Type-S の使い勝手を再現する完全分割型キーボード(ZMK / XIAO nRF52840 / build123d による寸法駆動CAD)

    83 parts1
  • 2 layers21 × 32 mmHhkb split daughterboard, the printed circuit board in 3D

    Hhkb split daughterboard

    ms0216/hhkb-split

    HHKB Professional HYBRID Type-S の使い勝手を再現する完全分割型キーボード(ZMK / XIAO nRF52840 / build123d による寸法駆動CAD)

    9 parts1

Similar boards

  • 4 layers70 × 52 mmPager carrier rev a, the printed circuit board in 3D

    Pager carrier rev a

    vyquocvu/analog-ai-chip

    This directory contains the editable KiCad 10 source for the 70 mm × 52 mm, four-layer Pager-1 main carrier. The display, keypad, protected Li-Po pack, and analog accelerator are external assemblies.

    32 parts1MIT
  • 4 layers52 × 48 mmHand hub, the printed circuit board in 3D

    Hand hub

    6thSense-dev/mocap-glove

    Magnetic MoCap glove firmware, tracking diagnostics and local hand visualizer

    106 parts
  • 4 layers52 × 46 mmRouted final, the printed circuit board in 3D

    Routed final

    MLeggiero/taxelscan

    TaxelScan reads a 16 × 32 pressure surface (512 taxels) at 80 frames per second by default and has been measured at 200 fps.

    27 partsMIT
  • 2 layers100 × 100 mmEmpty board w mapping ram2, the printed circuit board in 3D

    Empty board w mapping ram2

    roberto314/Unicomp2

    A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

    27 parts1
  • 4 layers46 × 46 mmReform camera, the printed circuit board in 3D

    Reform camera

    cetola/reform-next-mirror

    The original Open Hardware laptop, reloaded.

    125 parts
  • 2 layers100 × 100 mmRamRomBoard, the printed circuit board in 3D

    RamRomBoard

    roberto314/Unicomp3

    A modular 8-bit Computer able to recreate (nearly) every Retro computer of the late 70s to mid 80s.

    97 partsBSD-2-Clause
  • 2 layers24 × 79 mmEuroknob, the printed circuit board in 3D

    Euroknob

    mitxela/euroknob

    23 parts20
  • 2 layers70 × 99 mmCC1, the printed circuit board in 3D

    CC1

    etherkit/CC1

    CC1 CW QRP Transceiver

    209 parts11