Skip to the content
2 layers133.5 × 86 mmNexus PCB, the printed circuit board in 3D

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

Size
133.5 × 86 mm
Copper layers
2
Thickness
1.6 mm
Parts
75
Nets
77
Pads
310
Tracks, vias
1,036, 168
Pours
1
Routed
Yes
KiCad
KiCad 10.0 (file 20260206)
Created
6 Jul 2026
Updated
14 Jul 2026

Overview

Nexus PCB is an open-source printed circuit board by HashirX-ux, from the HashirX-ux/Nexus repository on GitHub, published under the MIT licence. It is a 2-layer board of 133.5 × 86 mm with 75 parts on 77 nets, routed with 1,036 tracks and 168 vias.

It is built around the 74AHCT125D and SK6812MINI-E. Its parts include 25 diodes, 15 capacitors, 14 switches, 8 resistors and 4 ICs. It belongs with the keyboards and input boards and the nRF52 and nRF5x boards of this library.

Main components

2

README

README.md

Nexus

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

A wireless 3x4 macropad i'm building to speed up my workflow. Hot-swap switches, per-key RGB, an OLED screen for status, and a rotary encoder for macros. Works wired or wireless.


What is it?

Nexus is a custom 3x4 (12 key) macropad i designed mainly for shortcuts and repetitive commands i was tired of typing out. Built around a nice!nano v2 so it can do bluetooth LE, with USB-C as a backup if the battery dies or i just don't feel like pairing it again. 12 hot swap sockets, per key RGB underneath, an EC11 rotary encoder, and a little OLED that shows battery % and what its connected to.

(quick note to future me: the tagline used to say QMK somewhere, thats wrong, QMK doesnt really do BLE on this board properly so i switched to ZMK. fix that if you see it anywhere else)

Why build it

Because reaching over to a full keyboard just to hit a macro or shortcut combo got annoying. If i build the layout, lighting and firmware myself it actually fits how i work instead of some generic layout someone else made.


Status

Research + design phase mostly done, now just cleaning stuff up. Schematic and routing still need some touch ups here and there. Full build log with all the component reasoning is in journal.md if you wanna see why i picked what i picked (spoiler: half of it was just "this was in stock on lcsc").

  • Component research (MCU, diodes, switches, USB-C, passives)
  • Schematic design
  • PCB routing
  • PCB fabrication
  • Firmware pin mapping
  • Assembly
  • Case design

Planned Specs

ComponentChoice
Layout3x4, 12 keys
MCUnice!nano v2 (nRF52840)
ConnectivityBluetooth LE (wireless) + USB-C (wired)
SwitchesHot-swap, MX-compatible (Kailh / Gateron / Cherry MX)
Matrix diodes1N4148
RGBPer-key, WS2812B
EncoderEC11 rotary encoder
DisplayOLED - battery % + connected device
FirmwareZMK
USBUSB-C, USB 2.0 (480Mbps, 5V/500mA)

text

Tried to keep this organized roughly the way hack club's hardware codex shipping guide recommends - source files seperate from the manufacturing stuff so its easier for someone else to just grab and rebuild.

If you dont wanna open kicad just to look at the board, theres a KiCanvas link so you can view it in browser: View PCB on KiCanvas


Build log

Most of the actual thinking (datasheets i looked at, why i swapped parts, dumb mistakes i made along the way) is in journal.md. Genuinely recommend reading it if your building something similar, its more useful than just staring at the BOM.


Roadmap

  1. finalize schematic (matrix wiring, rgb data line, oled i2c, encoder pins, reset button)
  2. route + order the pcb
  3. build/test zmk firmware against actual pin assignments (not just what i think they are)
  4. design + print the case
  5. assemble, flash, pair, hope it works first try

How to build

1. order the PCB

  1. go to JLCPCB
  2. upload Gerber.zip
  3. settings: 2 layer, FR-4, 1.6mm, HASL (or ENIG if your feeling fancy)
  4. order the parts seperately with Nexus-BOM.csv as your shopping list - digikey, lcsc, aliexpress all work fine

2. print the case

  1. open cad/ - print the .stl as is, or crack open the .f3d in fusion if you wanna change dimensions
  2. 0.2mm layer height, ~20% infill is plenty, its just sitting on a desk not getting thrown around
  3. test fit the plate BEFORE you solder anything, learned that one the hard way

3. assemble

  1. solder the nice!nano v2 diodes resistors and other supprt parts per the pcb/ schematic
  2. solder in the hot swap sockets, then just press the switches in, no soldering needed there
  3. wire the oled, encoder and rgb chain per the pin notes in journal.md
  4. seat the finished pcb intothe case

4. flash it

  1. follow the zmk build steps in firmware/ (shield config + keymap)
  2. double tap reset on the nice!nano to drop into UF2 bootloader mode
  3. drag the compiled .uf2 onto the drive that shows up
  4. pair over bluetooth, or just plg it in over usb-c if you want wired

5. done

flip it over, look at the rgb for a bit, start binding macros. if somethings broken check journal.md first, saves time vs trying to figure it out from scratch again.


BOM

ful parts list + links in Nexus-BOM.csv


Credits

Built by Hashir


License

MIT, see LICENSE

Parts

75
QtyValueFootprintReferences
15100nFCapacitor_SMD:C_0805_2012Metric_Pad1.18x1.45mm_HandSolderC2, C3, C4, C5, C6, C7, C8, C9, C10, C11, C12, C13, C14, De_Cap1, De_Cap2
12SK6812MINI-ELED_SMD:LED_SK6812MINI-E_3.2x2.8mm_P1.5mm_ReverseMountD14, D15, D16, D17, D18, D19, D20, D21, D22, D23, D24, D25
91N4148Diode_SMD:D_SOD-123D1, D2, D6, D7, D8, D9, D10, D11, D12
31N4841Diode_SMD:D_SOD-123D3, D4, D5
210kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR3, R4
25.1kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR1, R2
11kResistor_SMD:R_1206_3216MetricR5
11kResistor_SMD:R_0805_2012MetricR8
12N3904Package_TO_SOT_THT:TO-92_InlineQ1
12kResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR6
1330RResistor_SMD:R_0603_1608Metric_Pad0.98x0.95mm_HandSolderR7
1500mAFuse:Fuse_1206_3216MetricF1
174AHCT125Package_SO:TSSOP-14_4.4x5mm_P0.65mmU4
1BTN1Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00uSW1
1BTN10Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00uSW10
1BTN11Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00uSW11
1BTN12Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00uSW12
1BTN2Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00uSW2
1BTN3Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00uSW3
1BTN4Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00uSW4
1BTN5Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00uSW5
1BTN6Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00uSW6
1BTN7Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00uSW7
1BTN8Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00uSW8
1BTN9Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_1.00uSW9
1BuzzerBuzzer_Beeper:Buzzer_12x9.5RM7.6BZ1
1Conn_01x02Connector_JST:JST_PH_B2B-PH-K_1x02_P2.00mm_VerticalJ1
1LEDLED_SMD:LED_0603_1608MetricD13
1MCP73831-2-MCPackage_DFN_QFN:DFN-8-1EP_3x2mm_P0.5mm_EP1.7x1.4mmU3
1OLED_0.91"_12CDisplay:ER_OLEDM0.91_1x-I2CU2
1Reset_BTNButton_Switch_SMD:SW_Push_1P1T_NO_CK_KMR2SW14
1Rotary_EncoderRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_MountingHolesSW13
1USB_C_Receptacle_USB2.0_16PConnector_USB:USB_C_Receptacle_GCT_USB4105-xx-A_16P_TopMnt_HorizontalJ2
1nice_nanonice_nano:nice_nanoU5

The 71 most common of 75 parts.

Similar boards

  • 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 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 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
  • 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 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
  • 2 layers100 × 91.8 mmDuet MIDI, the printed circuit board in 3D

    Duet MIDI

    nashriveraramirez0520-art/Duet-MIDI

    A dual-mode USB MIDI controller for melodies and drum pads, designed for Hack Club Half Life.

    39 parts1

Questions

How big is the Nexus PCB PCB?

It measures 133.5 × 86 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Nexus PCB use?

75 parts, built around the 74AHCT125D 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 Nexus PCB KiCad files?

From the HashirX-ux/Nexus repository on GitHub, at the commit this page was made from: the board is Nexus_PCB.kicad_pcb and its schematic LED_sch.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Nexus PCB 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).