
V6 pcb
reven/V6-conversion
Hardware and firmware to convert a V6 Keychron keyboard to north-facing LEDs.

mithril keyboard, a split keyboard with 4x6 column ortholinear staggered keys and 3 thumb keys.
Mithril is an open-source printed circuit board by sanfeps, from the sanfeps/mithril_kb repository on GitHub. It is a 4-layer board of 269.8 × 158.8 mm with 247 parts on 195 nets, routed with 1,540 tracks and 242 vias.
It is built around the ATMEGA32U4-AU, USB6B1 and SK6812MINI-E. Its parts include 108 diodes, 54 switches, 28 capacitors, 10 resistors and 6 connectors. It belongs with the keyboards and input boards and the AVR (ATmega, ATtiny) boards of this library.
A 54-key (27 per side) column-staggered split ergonomic mechanical keyboard with per-key underglow, USB-C on each half, and a dual-MCU design.

ATmega32U4 on each half (true split, dual-MCU)SK6812MINI-E reverse-mount per-key underglow| PCB & switches | Keycaps on | Underglow |
|---|---|---|
![]() | ![]() | ![]() |
3D render of the panelised PCB:

Mithril/
├── Mithril.kicad_pro Main PCB project (schematics + layout)
├── Mithril.kicad_pcb
├── Mithril.kicad_sch Root schematic
├── lefthalf.kicad_sch Left-half matrix
├── righthalf.kicad_sch Right-half matrix
├── mcu.kicad_sch MCU + USB-C + TRRS (half 1)
├── mcu1.kicad_sch MCU + USB-C + TRRS (half 2)
├── leds.kicad_sch SK6812 underglow chain
├── Mithril-panneled/ Panelised PCB for fabrication
├── Top_plate/ Switch top plate (separate KiCad project)
├── Production/ Gerbers, BOM, positions (PCB)
│ ├── Mithril.zip
│ ├── bom.csv
│ ├── positions.csv
│ └── designators.csv
├── case/ 3D-printable case (STEP)
│ ├── caseLeft.stp
│ └── caseRight.stp
├── docs/
│ └── schematic.pdf Full schematic (all sheets in one PDF)
└── images/ Photos and rendersProduction/Mithril.zip (or Mithril-panneled/ if your
fab requires a panel). The BOM and pick-and-place files are in
Production/bom.csv and Production/positions.csv.Top_plate/production/Top_plate.zip. It is a
PCB-as-plate; if you prefer laser-cut acrylic/FR4, export the edge cuts to
DXF from KiCad.case/caseLeft.stp and case/caseRight.stp. Any
filament works; PETG/PLA are tested.Production/bom.csv. Notable items:
ATmega32U4-AU (QFN-44) × 2SK6812MINI-E reverse-mount LEDsQMK PR: qmk/qmk_firmware#26212
(adds keyboards/mithril/rev1/).
LAYOUT_ortho_4x6_3COL2ROW0x8371, PID 0x4D52Pin mapping (per half, ATmega32U4):
| Function | MCU pin(s) |
|---|---|
| Rows | C7, C6, B6, B5, B4 |
| Columns | F0, F1, F4, F5, F6, F7, D7 |
| TRRS (split) | D0 (SOFT_SERIAL_PIN) |
| LED data | D2 (RGB_DI_PIN) |
VIA / Vial JSON: not bundled yet.
Designed by @sanfeps. Inspired by foostan/crkbd and the ZSA Voyager, among other column-staggered ergo splits.
| Qty | Value | Footprint | References |
|---|---|---|---|
| 54 | Diode | Diode_SMD:D_SOD-123 | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D22, D23 +38 |
| 54 | Keyswitch | PCM_Switch_Keyboard_Hotswap_Kailh:SW_Hotswap_Kailh_MX_Plated_1.00u | S1, S2, S10, S11, S12, S13, S14, S15, S16, S17, S18, S19, S20, S21, S22, S23 +38 |
| 54 | SK6812MINI-E | Ariamelon:LED_OPSCO_SK6812MINI-E | D55, D56, D57, D58, D59, D60, D61, D100, D101, D102, D103, D104, D105, D106, D107, D108 +38 |
| 14 | 100n | Capacitor_SMD:C_0805_2012Metric | C3, C5, C6, C7, C8, C9, C10, C20, C22, C23, C24, C25, C26, C27 |
| 12 | Brakeout | PCM_Ariamelon-HolePad:Mousebites | MB1, MB2, MB3, MB4, MB5, MB6, MB7, MB8, MB9, MB10, MB11, MB12 |
| 10 | MountingHole | MountingHole:MountingHole_2.2mm_M2_DIN965 | H1, H2, H3, H4, H5, H6, H7, H8, H9, H10 |
| 9 | LOGO | LOGO | G***, G***, G***, G***, G***, G***, G***, G***, G*** |
| 4 | 22 | Resistor_SMD:R_0805_2012Metric | R4, R5, R9, R10 |
| 4 | 22p | Capacitor_SMD:C_0805_2012Metric | C1, C2, C18, C19 |
| 4 | 5k1 | Resistor_SMD:R_0805_2012Metric | R1, R2, R6, R7 |
| 2 | 100nF | Capacitor_SMD:C_0603_1608Metric | C16, C24 |
| 2 | 10k | Resistor_SMD:R_0805_2012Metric | R3, R8 |
| 2 | 10nF | Capacitor_SMD:C_0603_1608Metric | C15, C23 |
| 2 | 10u | Capacitor_SMD:C_0805_2012Metric | C11, C28 |
| 2 | 16MHz | Crystal:Crystal_SMD_SeikoEpson_FA238-4Pin_3.2x2.5mm | Y1, Y2 |
| 2 | 1u | Capacitor_SMD:C_0805_2012Metric | C4, C21 |
| 2 | 4.7uF | Capacitor_SMD:C_0603_1608Metric | C17, C25 |
| 2 | ATmega32U4-A | Package_QFP:TQFP-44_10x10mm_P0.8mm | U2, U4 |
| 2 | AVR-ISP-6 | Connector:Tag-Connect_TC2030-IDC-FP_2x03_P1.27mm_Vertical | J1, J4 |
| 2 | AudioJack4 | Connector_Audio:Jack_3.5mm_PJ320E_Horizontal | J3, J6 |
| 2 | FerriteBead | Ariamelon:L_0805_2012Metric | FB1, FB2 |
| 2 | USB6B1 | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U1, U3 |
| 2 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12 | J2, J5 |
| 2 | ~ | Button_Switch_THT:SW_PUSH_1P1T_6x3.5mm_H4.3_APEM_MJTP1243 | RESET, RESET |
It measures 269.8 × 158.8 mm and has 4 copper layers, 1.6 mm thick.
247 parts, built around the ATMEGA32U4-AU, USB6B1 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.
From the sanfeps/mithril_kb repository on GitHub, at the commit this page was made from: the board is Mithril.kicad_pcb and its schematic Mithril-panneled/Mithril-panneled.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask sanfeps before reusing the design.

reven/V6-conversion
Hardware and firmware to convert a V6 Keychron keyboard to north-facing LEDs.

BrettZolstick/MicroKey8
8 key rhythm game controller that uses microswitches commonly found in mice for short travel and advanced debouce.


buu342/BuuKeeb
A custom keyboard PCB with 105 keys and ISO Enter, designed to fit in the case of a "Glorious PC GMMK 100% Barebones"

sadekbaroudi/barobord
I have spent a lot of time and money designing prototypes, testing, developing, etc. Any contributions would be greatly appreciated!



sini6a/phnx
PHNX is an ergonomic keyboard featuring 54 MX compatible switches. It is inspired by the Miryoku layout and includes one additional row at the top along with macro keys on both sides.