Skip to the content
PCBKitNew board
2 layers285 × 94.6 mmKeyboard, the printed circuit board in 3D

Cool HE keyboard i designed myself!

Size
285 × 94.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
169
Nets
107
Pads
600
Tracks, vias
1,565, 153
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
10 Oct 2026
Updated
2 Nov 2026

Overview

Keyboard is an open-source printed circuit board by FishyNavi, from the FishyNavi/keyboard repository on GitHub. It is a 2-layer board of 285 × 94.6 mm with 169 parts on 107 nets, routed with 1,565 tracks and 153 vias.

It is built around the STM32G431CBT6, SC4702SO-N-TR and 74HC4051, with the AP7361C-33E and GT-TZ084B-H015-L1 among its other parts. Its parts include 63 switches, 18 capacitors, 10 ICs, 3 resistors and 2 connectors. It belongs with the keyboards and input boards and the STM32 boards of this library.

Main components

5

README

README.md

Hackyboard!

Overview

They main reason of why this was made is the fact that i play osu. My laptop's keyboard probably doesn't like being smashed at the rate of 12cps so one day i thought that it would be nice to have something to click on.

I also thought that i should make a keyboard just because i can(and for various other reasons). Routing was kinda time consuming and i tried to minimize the interference between traces.

I will update this and share the result once i build it!

All of the stuff along with links can be found in bom.md

design render_back render_front case

PCB

pcb/ The PCB was designed in KiCAD 10.

  • The PCB is designed for Cherry magnetic switches.
  • The sensors' measurement range is ~82.5mT.
  • The MCU that's used is STM32G431CBT6

CASE

case/ The case was designed in oneshape.

  • Fits with the pcb (wow)
  • Looks simple

It's nothing very special actually. Bottom part, pcb and switch plate are sandwiched together and then it is sandwiched again with (another) bottom and top parts of the case. You can see it on the image on top.

All of the parts except the switch plate are designed to be 3d printed. The switch plate should be machined with cnc from 1.5 aluminium plate.

[!NOTE] The switch plate can be cut with lser instead but then you will have to use diffrent kind od screws

About screws, the case should be assembled using M2 screws along with M2 heat inserts. Female to female spacers are required in between pcb and switch plate.

FIRMWARE

./firmware The firmware is libhmk by peppapighs, which is licensed under GPL-3.0. Changes and additions in firmware/ (including the MCU support) will be therefore also released under GPL-3.0, see firmware/LICENSE. For now it just is. I didn't test it yet

Parts

169
QtyValueFootprintReferences
61SC4702SOKeyboard:SOT-23-3_HE_SENSORS1, S2, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23 +45
46SW_Cherry_MX_PCB_1.00u_no_pinsPCM_Switch_Keyboard_Cherry_MX:SW_Cherry_MX_PCB_1.00u_no_pinsREF1, REF2, REF10, REF11, REF12, REF13, REF16, REF17, REF18, REF19, REF20, REF21, REF22, REF23, REF24, REF25 +30
140.1uFCapacitor_SMD:C_0805_2012MetricC1, C2, C3, C4, C5, C8, C11, C12, C13, C14, C15, C16, C17, C18
874HC4051Package_SO:TSSOP-16_4.4x5mm_P0.65mmU3, U4, U5, U6, U7, U8, U9, U10
7SW_Cherry_MX_PCB_1.25u_no_pinsPCM_Switch_Keyboard_Cherry_MX:SW_Cherry_MX_PCB_1.25u_no_pinsREF54, REF55, REF56, REF58, REF59, REF60, REF61
34.7uFCapacitor_SMD:C_0805_2012MetricC7, C9, C10
25K1Resistor_SMD:R_0805_2012MetricR2, R3
2GT-TZ084B-H015-L1Button_Switch_SMD:SW_SPST_TL3342SW1, SW2
2SW_Cherry_MX_PCB_1.50u_no_pinsPCM_Switch_Keyboard_Cherry_MX:SW_Cherry_MX_PCB_1.50u_no_pinsREF15, REF28
2SW_Cherry_MX_PCB_2.25u_no_pinsPCM_Switch_Keyboard_Cherry_MX:SW_Cherry_MX_PCB_2.25u_no_pinsREF41, REF42
110KResistor_SMD:R_0805_2012MetricR1
11uFCapacitor_SMD:C_0805_2012MetricC6
1AP7361C-33EPackage_TO_SOT_SMD:SOT-223-3_TabPin2U1
1Conn_01x05_SocketConnector_Wire:SolderWire-1sqmm_1x05_P5.4mm_D1.4mm_OD2.7mmJ1
1Korean Hroparts Elec TYPE-C-31-M-12Connector_USB:USB_C_Receptacle_G-Switch_GT-USB-7010ASVJ2
1LOGOLOGOG***
1STM32G431CBT6Package_QFP:LQFP-48_7x7mm_P0.5mmU2
1SW_Cherry_MX_PCB_1.75u_no_pinsPCM_Switch_Keyboard_Cherry_MX:SW_Cherry_MX_PCB_1.75u_no_pinsREF29
1SW_Cherry_MX_PCB_2.00u_no_pinsPCM_Switch_Keyboard_Cherry_MX:SW_Cherry_MX_PCB_2.00u_no_pinsREF14
1SW_Cherry_MX_PCB_2.75u_no_pinsPCM_Switch_Keyboard_Cherry_MX:SW_Cherry_MX_PCB_2.75u_no_pinsREF53
1SW_Cherry_MX_PCB_6.25u_no_pinsPCM_Switch_Keyboard_Cherry_MX:SW_Cherry_MX_PCB_6.25u_no_pinsREF57

The 158 most common of 169 parts.

Questions

How big is the Keyboard PCB?

It measures 285 × 94.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Keyboard use?

169 parts, built around the STM32G431CBT6, SC4702SO-N-TR, 74HC4051 and AP7361C-33E. 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 Keyboard KiCad files?

From the FishyNavi/keyboard repository on GitHub, at the commit this page was made from: the board is pcb/keyboard.kicad_pcb and its schematic pcb/keyboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Keyboard design in my own project?

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

Similar boards

  • 2 layersSmart puck, the printed circuit board in 3D

    Smart puck

    MichaelK-F/smart-puck

    A Zigbee sensor puck

    31 parts
  • 2 layers37.1 × 39.5 mmPerdican V1, the printed circuit board in 3D

    Perdican V1

    Gabouin/perdican

    A shipped, polished and polyvalent 4cm long IMU-equipped STM32 devboard with cool renders

    55 parts19MIT
  • 4 layers80 × 50.5 mmLoeti, the printed circuit board in 3D

    Loeti

    elagil/loeti

    Soldering equipment for JBC irons

    110 parts5
  • 4 layers80 × 60 mmCAN ECU, the printed circuit board in 3D

    CAN ECU

    dhruxraj/stm32-can-ecu

    A compact, "ECU-style" CAN node for learning and prototyping automotive-type embedded software. It has an STM32G4 MCU, a CAN transceiver with protection and switchable termination, a 6-axis IMU, a protected 8-18 V…

    77 parts2
  • 6 layers170 × 172.2 mmEsc rev b, the printed circuit board in 3D

    Esc rev b

    iamdarshg/drone-arm

    Reworked cheaper, maybe faster but less redundant drone controller.

    681 parts2
  • 2 layers23.4 × 40.3 mmAPX DEVBOARD, the printed circuit board in 3D

    APX DEVBOARD

    Gabouin/APX_DEVBOARD

    simple cost-effective devboard made for RESOLUTION

    30 parts1MIT
  • 4 layers71.1 × 50.8 mmStm32 audio class device, the printed circuit board in 3D

    Stm32 audio class device

    IsaacHo072/STM32-USB-Microphone-Interface

    USB Audio Class Device with STM32G431CB and TLV320ADC6120

    64 parts1