Skip to the content
PCBKitNew board
2 layers319 × 142.5 mmGhoost Board, the printed circuit board in 3D

A fully custom 100% mechanical keyboard with a custom black PCB, hot-swap clicky switches, and full RGB where every internal component is hand soldered and nothing is by assemble.

Size
319 × 142.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
368
Nets
219
Pads
1,412
Tracks, vias
4,876, 832
Pours
2
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
21 Apr 2026
Updated
26 Oct 2026

Overview

Ghoost Board is an open-source printed circuit board by Broccoliux, from the Broccoliux/Broccoli-board repository on GitHub. It is a 2-layer board of 319 × 142.5 mm with 368 parts on 219 nets, routed with 4,876 tracks and 832 vias.

It is built around the 74AHCT125D, MCP73831 and 1N4148W, with the SK6812MINI-E and USBLC6-2SC6 among its other parts. Its parts include 168 diodes, 90 capacitors, 84 switches, 4 ICs and 3 resistors. It belongs with the keyboards and input and lEDs and displays boards and the nRF52 and nRF5x boards of this library.

Main components

5

README

README.md

Broccoli Board

License Status [blocked] MCU [blocked] PCB [blocked] Firmware [blocked] Wireless [blocked]

A fully wireless 75% mechanical keyboard built from scratch custom PCB, per-key RGB, BLE 5.0, hot-swap switches, and a 3D printed case. Every component chosen, every trace routed by hand.


What is it?

Broccoli Board is a custom 84-key 75% keyboard I designed completely from scratch. The PCB is designed in KiCad, the case in Fusion 360, and the firmware runs on ZMK. It's fully wireless over BLE 5.0 via the nice!nano V2, has per-key RGB LEDs reverse-mounted on the back of the PCB, and uses Kailh hot-swap sockets so I can swap switches without touching a soldering iron.

Why i built it?

I didn't want to spend $200+ on a keyboard that still isn't fully mine. So I built one my own that belong to me.


Zine

Zine


Gallery

CAD & Assembly

PCB

---

PCB Soldered

Features

  • 84 keys, 75% layout
  • Wireless BLE 5.0 via nice!nano V2 (nRF52840)
  • Per-key SK6812 Mini-E RGB reverse mount on B.Cu
  • Kailh hot-swap sockets no soldering to swap switches
  • Rotary encoder with push switch (EC11)
  • USB-C wired + wireless dual mode
  • 3.7V LiPo 2000mAh with MCP73831 charger IC
  • 74AHCT125 level shifter for LED data
  • USBLC6-2SC6 ESD protection on USB lines
  • ZMK firmware
  • 2-layer PCB, KiCad 10, JLCPCB fabrication
  • Custom 3D printed case tray, plate, and bezel

Hardware Specs

ComponentDetails
MCUnice!nano V2 (nRF52840), socketed
Layout75%, 84 keys
SwitchesGateron Blue × 84, 5-pin PCB mount
HotswapKailh CPG151101S11 × 84
LEDsSK6812 Mini-E × 84, reverse mount
EncoderEC11 rotary encoder with push switch
WirelessBluetooth 5.0 BLE
FirmwareZMK
Battery3.7V LiPo 2000mAh (804050), JST PH2
Charger ICMCP73831, 500mA
RegulatorME6211 3.3V LDO
Level shifter74AHCT125
ESD protectionUSBLC6-2SC6
USB connectorGCT USB4105, 16-pin USB-C
PCB2-layer, JLCPCB, KiCad 10
CaseSLA resin 3D print, Fusion 360
Matrix9 rows × 10 columns, col2row

How to Build

Order the PCB

  1. Go to JLCPCB
  2. Upload pcb/gerbers.zip
  3. 2-layer, FR-4, 1.6mm, HASL or ENIG
  4. Minimum order 5 boards

Flash the Firmware

  1. Fork the ZMK firmware repo
  2. Edit keymap at boards/shields/broccoli_board/broccoli_board.keymap
  3. Push GitHub Actions builds automatically
  4. Download .uf2 from Actions artifacts
  5. Double-tap reset on nice!nano to enter bootloader
  6. Drag .uf2 onto the USB drive that appears

note: The frimware isn't completely, i will complete it once this gets approved.

Assembly Notes

  • Solder LEDs on B.Cu reverse mount facing down
  • Solder hotswap sockets on F.Cu
  • Solder the nice!nano v2
  • Battery connects via JST PH2 to J2

BOM

💰 Estimated total: ~$174 USD — can drop to $120–$140 buying locally.

ComponentSpecQtyPriceNotesLink
Microcontroller (MCU)nice!nano V2 nRF52840×1$7.00Clone — cheaper, slightly less reliableBuy
74AHCT125 Level ShifterTSSOP-14×1$2.52Pack of 10 — LED data 3.3V→5VBuy
MCP73831 LiPo ChargerSOT-23-5×1$2.50Pack of 10 — LiPo charging ICBuy
ME6211 3.3V LDOME6211C33 SOT-23-5×1$2.20Pack of 10 — 3.3V regulatorBuy
USBLC6-2SC6 ESD ProtectionSOT-23-6×1$1.50Pack of 10 — USB ESD protectionBuy
Gateron Blue SwitchG Pro Blue 5-pin×84$24.00Pack of 100 — 5-pin PCB mountBuy
Kailh Hotswap SocketMX compatible×84$7.00Pack of 100Buy
EC11 Rotary Encoder20mm with push switch×1$2.00Pack of 5Buy
Reset ButtonSMD tactile 3×4mm×1$1.50Pack of 30Buy
SK6812 Mini-E RGB LEDReverse mount×84$13.50Pack of 100 — buy 100, need 84 + sparesBuy
1N4148W Matrix DiodeSOD-123×84$1.50Pack of 100 — buy 100, need 84 + sparesBuy
Resistor 10K0603×10$1.20Pack of 300Buy
Resistor 5.1K0603×5$1.30Pack of 300Buy
Resistor 330Ω0603×1$2.00Pack of 500Buy
Capacitor 100nF0805×100$2.00Pack of 200Buy
Capacitor 10µF0805×1$2.20Pack of 200Buy
USB-C Receptacle 16PGCT USB4105 SMD×1$4.50Pack of 5Buy
JST PH2 2-pinPH2.0 2-pin connector×1$2.00Pack of 2Buy
Polyfuse 500mAResettable fuse 1206×1$1.70Pack of 10Buy
LiPo 3.7V 2000mAh804050, JST PH×1$9.40Price for 2Buy
Keycap SetPBT 75% MX compatible×75$22.50100+ keycaps includedBuy
Rotary KnobAluminum 6mm D shaft 20mm×1$2.002 piecesBuy
PCB Fabrication2-layer, FR-4, 1.6mm, HASL×5 boards$22.20Minimum 5 piecesJLCPCB
3D Print — TraySLA resin×1$25.30Local 3D printer recommendedJLC3DP
3D Print — Top PlateSLA resin×1$8.30Local 3D printer recommendedJLC3DP
3D Print — Top CoverSLA resin×1$2.65Local 3D printer recommendedJLC3DP
M3 ScrewsM3 × 8mm countersunk×10$1.00Pack of 50Buy
M3 StandoffsM3 × 4mm×10$1.00Pack of 50Buy

Schematics note

Schematics is reviewed my multiple people in fallout + AI. there was problem init that i fixed, and now it LGTM repo is surface checked by riitam

Credits

Made by Nabeel Ahmed (18) × Hashir (17) — Punjab, Pakistan 🇵🇰 BWP


License

MIT

why the heck it dont work

Parts

368
QtyValueFootprintReferences
84100nfCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC12, C13, C14, C15, C16, C19, C20, C21, C22, C23, C24, C25, C26, C27, C28, C29 +68
841N4148WDiode_SMD:D_SOD-123D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +68
84Gateron_Bluehotswap kahli pritty:SW_Hotswap_Kailh_MX_1.00uSW1, SW2, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW23 +68
84SK6812Mini-ELED R footprints:LED_SK6812MINI-E_3.2x2.8mm_P1.5mm_ReverseMountLED1, LED2, LED10, LED11, LED12, LED13, LED14, LED15, LED16, LED17, LED18, LED19, LED20, LED21, LED22, LED23 +68
5100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC1, C2, C3, C17, C18
410KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR_RST1, R4, R5, R7
1100nfResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderC75
110uFCapacitor_SMD:C_0805_2012MetricC_RF1
1330RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR3
15.1KResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR8
15.1kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR9
1500mAFuse:Fuse_1206_3216MetricF1
174AHCT125Package_SO:TSSOP-14_4.4x5mm_P0.65mmU2
1Battery_JST_PH2Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_VerticalJ2
1EC11Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_MountingHolesENC1
1MCP73831Package_DFN_QFN:DFN-8-1EP_3x2mm_P0.5mm_EP1.7x1.4mmU3
1ME6211-3.3VPackage_TO_SOT_SMD:SOT-23-5U4
1RESETButton_Switch_SMD:SW_Push_1P1T_NO_CK_KMR2BTN1
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6D_ESD1
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ1
1nice!nanonice_nano:nice_nanoU1

The 360 most common of 368 parts.

Questions

How big is the Ghoost Board PCB?

It measures 319 × 142.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Ghoost Board use?

368 parts, built around the 74AHCT125D, MCP73831, 1N4148W and SK6812MINI-E. 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 Ghoost Board KiCad files?

From the Broccoliux/Broccoli-board repository on GitHub, at the commit this page was made from: the board is pcb/Ghoost Board.kicad_pcb and its schematic pcb/2nd page.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Ghoost Board design in my own project?

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

Similar boards

  • 4 layers560.1 × 158.8 mmKeyboard, the printed circuit board in 3D

    Keyboard

    DEV-ajthedj/Keyboard

    A custom RGB keyboard that features three 1D capacitive touch sliders, two joysticks, an OLED screen, a fingerprint sensor, and plenty of macro keys!

    439 parts
  • 4 layers516.6 × 112.1 mmApex pcb design, the printed circuit board in 3D

    Apex pcb design

    HashirX-ux/Apex

    Apes is a wireless keyboard built for productivity.

    479 parts2MIT
  • 2 layers432.2 × 143 mmScottoModules, the printed circuit board in 3D

    ScottoModules

    CalamityCow/MacOS-Keyboard

    Two modules based on the STM32F072CBT6 to make integrated MCU PCBs simpler. They're designed to sit between 2 switches on an ortholinear or row-staggered keyboard, column-staggered will require some manual moving to get…

    440 parts
  • 4 layers120 × 89.3 mmSMK macro pad, the printed circuit board in 3D

    SMK macro pad

    mburger89/SMK_macro_pad

    4x4 wireless macro pad — RP2040 + Raspberry Pi RM2. KiCad project generated from Python; includes a 42%-smaller 'mini' variant with back-mounted electronics.

    89 partsMIT
  • 6 layers90 × 90 mmCodex micro wired revA route nognd, the printed circuit board in 3D

    Codex micro wired revA route nognd

    slopus/codex-keybored

    A 100% vibe-coded hardware build: Fusion 360, six-layer KiCad PCB, STM32 firmware, and live JLC factory handoff.

    97 parts10
  • 4 layers228.2 × 80.6 mmSnake pcb, the printed circuit board in 3D

    Snake pcb

    1000eyed/snake

    Repository for snake keyboard

    199 parts6
  • 2 layers353.1 × 124.9 mmSkeleton68rev2, the printed circuit board in 3D

    Skeleton68rev2

    skeletonkbd/Frost68

    252 parts5
  • 2 layers347.7 × 123.8 mm87keyboard, the printed circuit board in 3D

    87keyboard

    danielpclin/87keyboard

    87 keys keyboard - Uno

    420 parts