Keygen
milindmadhukar·keygen·pcb/keygen.kicad_pcb
About the Keygen PCB
Keygen is an open source Nordic nRF PCB design by milindmadhukar, published on GitHub. It is a 2-layer board measuring 162.6 × 125.8 mm, with 216 components from 80 distinct parts.
Its main chip is the nRF52840 Pro Micro, from the Nordic nRF family. By type, the board carries 70 switches, 67 diodes, 66 LEDs, 4 capacitors, 2 ICs and 2 transistors.
It belongs with the keyboards, iot & wireless and displays & leds designs in this gallery.
From the project
One-off wireless split keyboard: Redox fork with knob, OLED, trackpad, per-key RGB, ZMK
A wireless split ergonomic keyboard with a custom two-layer PCB designed in KiCad 10.
Keygen is a one-off build: 66 keys over two column-staggered halves, a 2 × 2 thumb cluster, a rotary encoder on the right half, and per-key RGB that doubles as the status display. Each half has its own nRF52840 controller hidden on the PCB underside. The keyboard reaches the host over Bluetooth or USB-C, and the halves talk to each other over Bluetooth.

Main components on the Keygen
Keygen bill of materials (BOM)
216 components, 80 distinct parts — part numbers from the project's BOM.
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 2 | nRF52840 Pro Micro | nice_nano_H_USBup | U101, U201 |
| 1 | AO3401A | SOT-23 | Q101 |
| 1 | AO3401A | SOT-23 | Q201 |
| 2 | LiPo 3.7V ~1000mAh | JST_PH_S2B-PH-K_1x02_P2.00mm_Horizontal | BT101, BT201 |
| 1 | EC11 | ROT_Alps_EC11E-Switch | ENC201 |
| 1 | = | SW_MX_HS_CPG151101S11_1.25u | SW101 |
| 1 | 1 | SW_MX_HS_CPG151101S11_1u | SW102 |
| 1 | 2 | SW_MX_HS_CPG151101S11_1u | SW103 |
| 1 | 3 | SW_MX_HS_CPG151101S11_1u | SW104 |
| 1 | 4 | SW_MX_HS_CPG151101S11_1u | SW105 |
| 1 | 5 | SW_MX_HS_CPG151101S11_1u | SW106 |
| 1 | Tab | SW_MX_HS_CPG151101S11_1.25u | SW107 |
| 1 | Q | SW_MX_HS_CPG151101S11_1u | SW108 |
| 1 | W | SW_MX_HS_CPG151101S11_1u | SW109 |
| 1 | E | SW_MX_HS_CPG151101S11_1u | SW110 |
| 1 | R | SW_MX_HS_CPG151101S11_1u | SW111 |
| 1 | T | SW_MX_HS_CPG151101S11_1u | SW112 |
| 1 | Esc | SW_MX_HS_CPG151101S11_1.25u | SW113 |
| 1 | A | SW_MX_HS_CPG151101S11_1u | SW114 |
| 1 | S | SW_MX_HS_CPG151101S11_1u | SW115 |
Show 60 more
| Qty | Part | Footprint | Refs |
|---|---|---|---|
| 1 | D | SW_MX_HS_CPG151101S11_1u | SW116 |
| 1 | F | SW_MX_HS_CPG151101S11_1u | SW117 |
| 1 | G | SW_MX_HS_CPG151101S11_1u | SW118 |
| 2 | Alt | SW_MX_HS_CPG151101S11_1u | SW119, SW220 |
| 2 | Shift | SW_MX_HS_CPG151101S11_1.25u | SW120, SW221 |
| 1 | Z | SW_MX_HS_CPG151101S11_1u | SW121 |
| 1 | X | SW_MX_HS_CPG151101S11_1u | SW122 |
| 1 | C | SW_MX_HS_CPG151101S11_1u | SW123 |
| 1 | V | SW_MX_HS_CPG151101S11_1u | SW124 |
| 1 | B | SW_MX_HS_CPG151101S11_1u | SW125 |
| 2 | Ctrl | SW_MX_HS_CPG151101S11_1u | SW126, SW227 |
| 1 | ` | SW_MX_HS_CPG151101S11_1u | SW127 |
| 1 | Caps | SW_MX_HS_CPG151101S11_1u | SW128 |
| 1 | Left | SW_MX_HS_CPG151101S11_1u | SW129 |
| 1 | Right | SW_MX_HS_CPG151101S11_1u | SW130 |
| 1 | Super | SW_MX_HS_CPG151101S11_1.25u | SW131 |
| 1 | Bksp | SW_MX_HS_CPG151101S11_1.5u | SW132 |
| 1 | Del | SW_MX_HS_CPG151101S11_1.5u | SW133 |
| 1 | MSK12C02 power | SW_MSK12C02-HB | SW190 |
| 2 | Reset | SW_PUSH_6mm_H5mm | SW191, SW291 |
| 1 | - | SW_MX_HS_CPG151101S11_1.25u | SW201 |
| 1 | 0 | SW_MX_HS_CPG151101S11_1u | SW202 |
| 1 | 9 | SW_MX_HS_CPG151101S11_1u | SW203 |
| 1 | 8 | SW_MX_HS_CPG151101S11_1u | SW204 |
| 1 | 7 | SW_MX_HS_CPG151101S11_1u | SW205 |
| 1 | 6 | SW_MX_HS_CPG151101S11_1u | SW206 |
| 1 | \ | SW_MX_HS_CPG151101S11_1.25u | SW208 |
| 1 | P | SW_MX_HS_CPG151101S11_1u | SW209 |
| 1 | O | SW_MX_HS_CPG151101S11_1u | SW210 |
| 1 | I | SW_MX_HS_CPG151101S11_1u | SW211 |
| 1 | U | SW_MX_HS_CPG151101S11_1u | SW212 |
| 1 | Y | SW_MX_HS_CPG151101S11_1u | SW213 |
| 1 | ' | SW_MX_HS_CPG151101S11_1.25u | SW214 |
| 1 | ; | SW_MX_HS_CPG151101S11_1u | SW215 |
| 1 | L | SW_MX_HS_CPG151101S11_1u | SW216 |
| 1 | K | SW_MX_HS_CPG151101S11_1u | SW217 |
| 1 | J | SW_MX_HS_CPG151101S11_1u | SW218 |
| 1 | H | SW_MX_HS_CPG151101S11_1u | SW219 |
| 1 | / | SW_MX_HS_CPG151101S11_1u | SW222 |
| 1 | . | SW_MX_HS_CPG151101S11_1u | SW223 |
| 1 | , | SW_MX_HS_CPG151101S11_1u | SW224 |
| 1 | M | SW_MX_HS_CPG151101S11_1u | SW225 |
| 1 | N | SW_MX_HS_CPG151101S11_1u | SW226 |
| 1 | ] | SW_MX_HS_CPG151101S11_1u | SW228 |
| 1 | [ | SW_MX_HS_CPG151101S11_1u | SW229 |
| 1 | Down | SW_MX_HS_CPG151101S11_1u | SW230 |
| 1 | Up | SW_MX_HS_CPG151101S11_1u | SW231 |
| 1 | Fn | SW_MX_HS_CPG151101S11_1.25u | SW232 |
| 1 | Space | SW_MX_HS_CPG151101S11_1.5u | SW233 |
| 1 | Enter | SW_MX_HS_CPG151101S11_1.5u | SW234 |
| 1 | MSK12C02-HB MSK12C02 power | SW_MSK12C02-HB | SW290 |
| 33 | SK6812MINI-E | LED_SK6812MINI-E_3.2x2.8mm_P1.5mm_ReverseMount | LED101, LED102, LED103, LED104, LED105, LED106, LED107, LED108 +25 |
| 33 | SK6812MINI-E | LED_SK6812MINI-E_3.2x2.8mm_P1.5mm_ReverseMount | LED201, LED202, LED203, LED204, LED205, LED206, LED207, LED208 +25 |
| 33 | 1N4148 | D_DO-35_SOD27_P7.62mm_Horizontal | D101, D102, D103, D104, D105, D106, D107, D108 +25 |
| 34 | 1N4148 | D_DO-35_SOD27_P7.62mm_Horizontal | D201, D202, D203, D204, D205, D206, D207, D208 +26 |
| 1 | 10uF | C_0805_2012Metric | C101 |
| 1 | 100nF | C_0805_2012Metric | C102 |
| 1 | 10UF 10uF | C_0805_2012Metric | C201 |
| 1 | 100NF 100nF | C_0805_2012Metric | C202 |
| 2 | 1M | R_0805_2012Metric | R101, R201 |
Keygen design files
The KiCad project lives in the milindmadhukar/keygen repository on GitHub; these links point at the commit this page was built from.
- Layoutpcb/keygen.kicad_pcb
- Schematicpcb/keygen.kicad_sch
- BOMfab/BOM-assembly-right.csv
Keygen: common questions
What microcontroller does the Keygen use?
The Keygen is built around the nRF52840 Pro Micro, from the Nordic nRF family.
How big is the Keygen PCB?
The Keygen measures 162.6 × 125.8 mm, has 2 copper layers and is 1.6 mm thick.
How many components are on the Keygen?
216 components, from 80 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.
Where can I download the Keygen design files?
From the milindmadhukar/keygen repository on GitHub, which has the KiCad layout, the schematic and the BOM; the links under Design files point to each one.
Can I use the Keygen design in my own project?
The repository has no license, so all rights stay with milindmadhukar. Use it as a reference, and ask the author before reusing the design.
Can I test firmware for the Keygen without the hardware?
Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug Nordic nRF firmware against it before you order a PCB.
Similar boards
Nordic nRF
Keyboard
byrantech
262.5 × 109.6 mm206 parts2LMIT4.3kNordic nRF
TOTEM
GEIGEIGEIST
258.8 × 94.4 mm85 parts2LCERN-OHL-P-2.02.0kNordic nRF
Pixl.js
solosky
40 × 23 mm45 parts4LGPL-2.01.4kNordic nRF
Board hl15-latest
dennisss
61 × 37 mm14 parts2LApache-2.0381Nordic nRF
Management
dennisss
101 × 31.5 mm50 parts2LApache-2.0381Nordic nRF
Board
dennisss
363 × 128 mm420 parts4LApache-2.0381