Skip to the content
4 layers516.6 × 112.1 mmApex pcb design, the printed circuit board in 3D

Apex pcb design

HashirX-ux/Apex2

Apes is a wireless keyboard built for productivity.

Size
516.6 × 112.1 mm
Copper layers
4
Thickness
1.6 mm
Parts
479
Nets
284
Pads
1,849
Tracks, vias
3,493, 1,266
Pours
4
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
1 Aug 2026
Updated
25 Sep 2026

Overview

Apex pcb design is an open-source printed circuit board by HashirX-ux, from the HashirX-ux/Apex repository on GitHub, published under the MIT licence. It is a 4-layer board of 516.6 × 112.1 mm with 479 parts on 284 nets, routed with 3,493 tracks and 1,266 vias.

It is built around the 74AHCT125D, USBLC6-2SC6 and SK6812MINI-E. Its parts include 225 diodes, 121 capacitors, 114 switches, 8 resistors and 5 ICs. It belongs with the keyboards and input boards and the nRF52 and nRF5x boards of this library.

Main components

3

README

README.md

Apex

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


What is it?

image image image image image

CAD

image image image image

Apex is a custom 112 key full size wireless mechanical keyboard I designed from the ground up after building a macropad and deciding a store bought board would never feel like mine.

The PCB is designed in KiCad, the case in FreeCAD, and the firmware is on ZMK.

On top of a standard full size layout it adds:

  • a 0.91" SSD1306 OLED (128×32, I²C) for layer / battery / connection status
  • an EC11 rotary encoder with push switch (volume and extras)
  • an onboard buzzer driven by a 2N3904
  • per-key SK6812 Mini E reverse mount RGB

Why I built it

I wanted a Keyboard that belongs to me not to any company so I build my own keyboard.


Features

  • 112 keys, full size layout (ANSI 104 + 8 extra keys)
  • 8×14 col2row matrix
  • Wireless BLE 5.0 via Nordic nRF52840 (AQFN- 73)
  • USB C wired + wireless dual mode
  • Per-key SK6812 Mini E RGB, reverse mounted
  • Kailh MX hot-swap sockets
  • 0.91" OLED (SSD1306, 128×32, I²C)
  • EC11 rotary encoder with push switch
  • Onboard buzzer (2N3904 driver)
  • 3.7 V LiPo 1500 mAh with MCP73831 charger
  • 74AHCT125 level shifter for LED data (3.3 V → 5 V)
  • USBLC6 2SC6 ESD protection on USB D+/D−
  • 32 MHz crystal for the nRF52840
  • ZMK firmware (USB + BLE, battery reporting, OLED, encoder, RGB)
  • 2-layer PCB, KiCad, JLCPCB fabrication
  • Custom 3D printed case designed in FreeCAD

ZMK is currently targeted at nice_nano_v2 as a bring up stand in. The PCB carries a bare nRF52840 (not a Pro Micro module). Pin mapping on the real board is still being finished see Firmware.


How to Build

Order the PCB

  1. Go to JLCPCB
  2. Upload the Gerbers from pcb/gerber/gerber.rar
  3. 2-layer, FR 4, 1.6 mm, HASL or ENIG (ENIG recommended for hot-swap pads and the AQFN-73)
  4. Minimum order is 5 boards
  5. Order a stencil for the nRF52840, SK6812 Mini-E, and other SMD parts the AQFN-73 is not a hand-solder-first footprint

Flash the Firmware

Firmware lives in frimware/ and is a ZMK skeleton, not the final keymap.

  1. Fork this repo (or copy frimware/ into a ZMK config repo)

  2. Current build target in frimware/build.yaml:

    yaml
    include:
      - board: nice_nano_v2
        shield: apex
  3. Edit the keymap at frimware/config/apex.keymap

  4. Push GitHub Actions builds the .uf2

  5. Download the artifact, double-tap reset to enter the bootloader, drag the .uf2 onto the drive that appears

The overlay (frimware/config/boards/shields/apex/apex.overlay) is still a 5×14 bring up matrix. The PCB is 8×14 / 112 keys. Next step is mapping the real nRF52840 pins, OLED, encoder, buzzer, and the 112 LED chain.

BOM

Estimated total: ~$230 USD can drop to $170–$200 buying locally and skipping extras (second switch pack, spare LEDs, extra PCBs).

Prices are typical AliExpress pack prices as of 2026. You buy the pack; you do not need every piece in it. Shipping not included.

ComponentSpecQtyPriceNotesLink
MicrocontrollernRF52840-QIAA, AQFN-73×1$5.00Bare Nordic SoC — BLE 5.0, 7×7 mmBuy
74AHCT125 level shifterTSSOP-14×1$2.52Pack of 10 — LED data 3.3 V → 5 VBuy
MCP73831 LiPo chargerMCP73831-2-MC, DFN-8 3×2 mm×1$2.50Pack of 10 — DFN-8 footprint, not SOT-23-5Buy
USBLC6-2SC6 ESDSOT-23-6×1$1.50Pack of 10 — USB D+/D−Buy
MX mechanical switches5-pin PCB mount×112$32.00Pack of 110–120 — Gateron / any MX 5-pinBuy
Kailh hot-swap socketMX compatible, CPG151101S11×112$14.00Pack of 100 × 2Buy
SK6812 Mini-E RGB LEDReverse mount, 3.2×2.8 mm×112$27.00Pack of 100 × 2 — buy 200, use 112 + sparesBuy
1N4148W matrix diodeSOD-123×112$3.00Pack of 100 × 2Buy
EC11 rotary encoder20 mm, with push switch×1$2.00Pack of 5Buy
Rotary knobAluminum, 6 mm D-shaft, 20 mm×1$2.002 piecesBuy
Reset buttonSMD tactile, CK KMR2×1$1.50Pack of 30Buy
OLED display0.91" 128×32 SSD1306 I²C×1$2.50ER-OLED0.91, address 0x3CBuy
Buzzer12×9.5 mm, 5 V×1$1.80Pack of 10 — matches 12×9.5 RM7.6 footprintBuy
2N3904 transistorTO-92×1$1.40Pack of 50 — buzzer driverBuy
32 MHz crystalSMD 2016, 4-pin×1$1.80Pack of 10 — nRF52840 HFCLKBuy
Status LED0603 SMD×1$1.00Pack of 100 — charger / power indicatorBuy
Resistor 10 kΩ0603×3$1.20Pack of 300 — I²C / reset pull-upsBuy
Resistor 5.1 kΩ0603×2$1.30Pack of 300 — USB-C CC1/CC2Buy
Resistor 330 Ω0603×1$2.00Pack of 500 — buzzer base / LEDBuy
Resistor 1 kΩ1206 + 0805×2$1.20Pack of 300 — PROG / current limitBuy
Capacitor 100 nF0805×119$2.00Pack of 200 — 112 LED + MCU decouplingBuy
Capacitor 12 pF0402×2$1.50Pack of 100 — crystal loadBuy
USB-C receptacle 16PGCT USB4105 SMD×1$4.50Pack of 5Buy
JST PH 2-pinPH2.0, B2B-PH-K vertical×1$2.00Pack of 2 — battery connectorBuy
Polyfuse 500 mAResettable, 1206×1$1.70Pack of 10Buy
LiPo 3.7 V 1500 mAhJST PH 2.0×1$5.80Size to fit the case trayBuy
Keycap setPBT, full-size MX×104+$26.00104-key set; extras needed for 112Buy
PCB fabrication2-layer, FR-4, 1.6 mm, HASL/ENIG×5 boards$32.00Full-size board — ENIG preferredJLCPCB
3D print — caseFDM PETG / SLA resin×1$42.00FreeCAD sources in cad/ — local print is cheaperJLC3DP
M3 screwsM3 × 8 mm countersunk×10$1.00Pack of 50Buy
M3 standoffsM3 × 4–6 mm×10$1.00Pack of 50Buy

BOM notes

  • The charger footprint on the PCB is DFN-8 (MCP73831-2-MC). A SOT-23-5 MCP73831 will not fit without a bodge.
  • SK6812 Mini-E must be the reverse-mount Mini-E, not SK6812 Mini or WS2812B 3535.
  • Hot-swap sockets are Kailh MX (CPG151101S11), 1.00u. Stabilizers are still required on 2U+ keys (not listed — use your usual plate/PCB mount Cherry-style stabs).
  • nRF52840 can run from VDDH (2.5–5.5 V high-voltage mode), which is why there is no separate 3.3 V LDO on this rev. LEDs are 5 V (LED_5V / VBUS).
  • PROG resistor on the MCP73831 sets charge current (IREG ≈ 1000 / RPROG). 1 kΩ ≈ 1 A; 2 kΩ ≈ 500 mA. 500 mA is gentler on a 1500 mAh cell.

Repository

text
Apex/
├── cad/                  FreeCAD case + STEP
│   ├── APex cad.FCStd
│   └── .step
├── frimware/             ZMK config (skeleton)
│   ├── build.yaml
│   └── config/
│       ├── apex.conf
│       ├── apex.keymap
│       └── boards/shields/apex/
├── pcb/
│   ├── apex-pcb_design.kicad_sch
│   ├── apex-pcb_design.kicad_pcb
│   ├── LED-Design.kicad_sch
│   └── gerber/gerber.rar
├── Journal.md            Build log
└── LICENSE               MIT

Credits

Made by Hashir 2026


License

MIT

Parts

479
QtyValueFootprintReferences
119100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC10, C11, C100, C101, C102, C103, C104, C105, C106, C107, C108, C109, C110, C111, C112, C113 +103
1121N4148Diode_SMD:D_SOD-123D1, D10, D11, D100, D101, D102, D103, D104, D105, D106, D107, D108, D109, D110, D111, D112 +96
112SK6812MINI-ELED_SMD:LED_SK6812MINI-E_3.2x2.8mm_P1.5mm_ReverseMountD114, D115, D116, D117, D118, D119, D120, D121, D122, D123, D124, D125, D126, D127, D128, D129 +96
112SW_PushSwitch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00uSW1, SW10, SW11, SW100, SW101, SW102, SW103, SW104, SW105, SW106, SW107, SW108, SW109, SW110, SW111, SW112 +96
310kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R2, R8
212pFCapacitor_SMD:C_0402_1005MetricC1, C2
25.1kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR5, R6
11500mAhConnector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_VerticalJ2
11kResistor_SMD:R_1206_3216MetricR7
11kResistor_SMD:R_0805_2012MetricR9
12N3904Package_TO_SOT_THT:TO-92_InlineQ1
132MHzCrystal:Crystal_SMD_2016-4Pin_2.0x1.6mmY1
1330RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR10
1500mAFuse:Fuse_1206_3216MetricF1
174AHCT125Package_SO:TSSOP-14_4.4x5mm_P0.65mmU5
1BuzzerBuzzer_Beeper:Buzzer_12x9.5RM7.6BZ1
1ER_OLEDM0.91_1x-I2CDisplay:ER_OLEDM0.91_1x-I2CU1
1LEDLED_SMD:LED_0603_1608MetricD113
1MCP73831-2-MCPackage_DFN_QFN:DFN-8-1EP_3x2mm_P0.5mm_EP1.7x1.4mmU3
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_MountingHolesSW113
1SW_PushButton_Switch_SMD:SW_Push_1P1T_NO_CK_KMR2SW114
1USBLC6-2SC6Package_TO_SOT_SMD:SOT-23-6U2
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ1
1nRF52840Package_DFN_QFN:Nordic_AQFN-73-1EP_7x7mm_P0.5mmU4

Similar boards

  • 2 layers319 × 142.5 mmGhoost Board, the printed circuit board in 3D

    Ghoost Board

    Broccoliux/Broccoli-board

    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.

    368 parts3
  • 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
  • 2 layers273.8 × 109 mmTrueStrike42, the printed circuit board in 3D

    TrueStrike42

    byungyoonc/TrueStrike42

    TrueStrike42 is a columnar staggered unibody split keyboard designed to maximize performance and minimize finger fatigue.

    167 parts24
  • 2 layers296 × 234 mmDeck, the printed circuit board in 3D

    Deck

    joshjetson/phosphor

    A full fledged DAW in TUI and GUI flavors: Run it in the terminal or run it as a desktop app (Desktop App Coming Soon..maybe)

    281 parts12MIT
  • 2 layers278.9 × 138.4 mmTrueStrike56, the printed circuit board in 3D

    TrueStrike56

    byungyoonc/TrueStrike56

    TrueStrike56 is a columnar staggered unibody split hall effect keyboard with popular 4x6_4 layout.

    211 parts3MIT
  • 2 layers133.5 × 86 mmNexus PCB, the printed circuit board in 3D

    Nexus PCB

    HashirX-ux/Nexus

    A customizable mechanical macropad for productivity, shortcuts, and macros. Built with QMK firmware support.

    75 parts2MIT
  • 2 layers228.6 × 91.4 mmN teller xl diy, the printed circuit board in 3D

    N teller xl diy

    atoomnetmarc/n-teller-xl-diy

    n-teller-xl-diy is an IoT device that displays the number of checked in participants and visitors at the hackerspace called Revelation Space (or RevSpace).

    161 parts1Apache-2.0
  • 2 layers85.7 × 83.7 mmCommandPad, the printed circuit board in 3D

    CommandPad

    ILikeFood971/CommandPad

    Mechanical macropad utilizing the Seeed XIAO RP2040

    50 parts1MIT

Questions

How big is the Apex pcb design PCB?

It measures 516.6 × 112.1 mm and has 4 copper layers, 1.6 mm thick.

What parts does the Apex pcb design use?

479 parts, built around the 74AHCT125D, USBLC6-2SC6 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 Apex pcb design KiCad files?

From the HashirX-ux/Apex repository on GitHub, at the commit this page was made from: the board is pcb/apex-pcb_design.kicad_pcb and its schematic pcb/LED-Design.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Apex pcb design design in my own project?

Its repository publishes it under the MIT licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).