Skip to the content
2 layers176 × 105 mmReference Keyboard, the printed circuit board in 3D

The reference keyboard for the MagLev Switch MX

Size
176 × 105 mm
Copper layers
2
Thickness
1.6 mm
Parts
91
Nets
68
Pads
408
Tracks, vias
612, 1,532
Pours
276
Routed
Yes
KiCad
KiCad 8.0 (file 20240108)
Created
29 Apr 2024
Updated
29 Mar 2025

Overview

Reference Keyboard is an open-source printed circuit board by famichu, from the famichu/MagLevSwitch_ReferenceKeyboard repository on GitHub, published under the MIT licence. It is a 2-layer board of 176 × 105 mm with 91 parts on 68 nets, routed with 612 tracks and 1,532 vias.

It is built around the RP2040, W25Q16JVSSIM and LM1117RS-3.3, with the 1SS387, SKQGAFE010 and NX3225SA-12MHZ-STD-CSR-6 among its other parts. Its parts include 28 switches, 17 capacitors, 12 resistors, 10 diodes and 3 ICs. It belongs with the keyboards and input boards and the RP2040 boards of this library.

Main components

7

README

README.md

MagLev Switch Reference Keyboard

Summary

This keyboard is a reference keyboard for using the MagLev switch, which has linear-output Hall effect sensors and magnetic levitation switches.

Features

  • A 28-switches keyboard for the left hand
  • Uses 4 MagLev switches for the WASD keys
  • Able to read the depth of the MagLev switches
  • Built-in OLED displaying MagLev switch depth graphs

BOM

Main PCB

  • Main PCB x1
  • Kailh Switch Socket x24
  • Cherry MX compatible switch x24
  • MagLev Switch MX x4
  • Stabilizer(2U) x2
  • Incremental rotary encoder(PEC12R series of compatible) x1
  • RP2040 x1
  • Other small devices(refer to the schematic)

Flex-PCB with OLED

  • Flex-PCB x1
  • OLED SSD1366 x1
  • Other small devices(please refer the schematic)

Shell

  • Top case(3D printed) x1
  • Top plate(3D printed) x1
  • knob(3D printed) x1
  • Bottom case(3D printed) x1
  • Stand(3D printed) x2
  • Rubber foot(25mmx8mm oval) x2
  • Bottom switch cap(3D printed) x1
  • Screw M2x5mm x4
  • Screw M2x8mm x4
  • Insert nut M2x3mm(OD3.5mm) x8
  • Cherry MX compatible keycap x28

3D Printing

Use FFF 3D printers to print shell parts.

PCB

I had manufactured at JLCPCB. The main PCB in this repository has an LCSC number as well. This allows you to order the PCBA without selecting individual devices.

Assembly

    1. Solder all devices.
    1. Insert switches through a top plate.
    1. Place the bottom switch cap onto the bottom case (Insert nuts into holes on the bottom plate if you print it by yourself.).
    1. Fix the PCB with screws.
    1. Insert an OLED module with a flex PCB into the top case (Insert nuts into holes on the top plate if you print it by yourself).
    1. Connect the flex-PCB with the main PCB.
    1. Close the top and bottom cases with screws.
    1. Stick rubber feets.
    1. Install keycaps and a knob.
    1. Finish!

Directory configuration

  • bin: Binary of the firmware
  • pcb: Schematics & PCB artworks
    • libs: PCB libraries
    • Reference_Keyboard: Main PCB
    • SSD1366_FFC_Adapter: Flex-PCB with OLED
  • shell: 3D models for FFF printer
  • src: Source codes of the firmware

Parts

91
QtyValueFootprintReferences
19SW_PushMX_Hotswap:MX-Hotswap-1USW1, SW2, SW3, SW4, SW5, SW10, SW11, SW13, SW14, SW16, SW17, SW18, SW19, SW21, SW22, SW23 +3
100.1uCapacitor_SMD:C_0603_1608MetricC2, C3, C4, C5, C7, C10, C11, C12, C16, C17
91SS387Diode_SMD:D_SOD-523D2, D3, D4, D5, D6, D7, D8, D9, D10
8MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2, H3, H4, H5, H6, H7, H8
410kResistor_SMD:R_0603_1608MetricR9, R10, R11, R12
41kResistor_SMD:R_0603_1608MetricR5, R6, R7, R8
4MagLevSwichMagLevSwitch:MagLevSwitch_UpML-SW1, ML-SW2, ML-SW3, ML-SW4
3SKQGAFE010Button_Switch_SMD:SW_SPST_SKQG_WithStemSW25, SW27, SW28
20.01uCapacitor_SMD:C_0603_1608MetricC13, C14
210uCapacitor_SMD:C_0603_1608MetricC15, C18
227Resistor_SMD:R_0603_1608MetricR1, R2
25.1kResistor_SMD:R_0603_1608MetricR3, R4
25.6pCapacitor_SMD:C_0603_1608MetricC1, C8
2SW_PushMX_Hotswap:MX-Hotswap-2.25USW15, SW24
12.2uCapacitor_SMD:C_0603_1608MetricC9
184953-4Connector_FFC-FPC:TE_84953-4_1x04-1MP_P1.0mm_HorizontalJ4
1Conn_01x01_PinTestPoint:TestPoint_Pad_D1.5mmTP1
1Conn_01x03_PinConnector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_VerticalJ1
1LM1117RS-3.3Package_TO_SOT_SMD:TO-252-3_TabPin2U3
1LOGOLOGO:MX_KiCADG***
1LOGOLOGO:famichuG***
1LOGOLOGO:WebQRG***
1NX3225SA-12MHz-STD-CSR-6Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mmY1
1PolyfuseFuse:Fuse_0805_2012MetricF1
1RB161MM-20TRDiode_SMD:D_SOD-123FD1
1RP2040Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mmU1
1RotaryEncoder_SwitchRotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mmSW26
1SW_PushMX_Hotswap:MX-Hotswap-1.75USW12
1SW_PushMX_Hotswap:MX-Hotswap-1.5USW7
1SW_PushMX_Hotswap:MX-Hotswap-1.25USW20
1USB_C_Receptacle_USB2.0Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12J2
1W25Q16JVSSIMPackage_SO:SOIC-8_5.23x5.23mm_P1.27mmU2

More from famichu/MagLevSwitch_ReferenceKeyboard

1
  • 2 layers22.5 × 31 mmSSD1306 FFC Adapter, the printed circuit board in 3D

    SSD1306 FFC Adapter

    famichu/MagLevSwitch_ReferenceKeyboard

    The reference keyboard for the MagLev Switch MX

    10 parts2MIT

Similar boards

  • 4 layers267 × 100.5 mmWachcioDrop, the printed circuit board in 3D

    WachcioDrop

    wachcio/WachcioDrop_PCB

    PCB board for WachcioDrop

    74 parts
  • 2 layers61.6 × 53.7 mmOsborne floppy emulator, the printed circuit board in 3D

    Osborne floppy emulator

    khaddra/osborne-floppy-emulator

    Floppy disk drive emulator for the Osborne 1. Unfinished.

    82 parts2
  • 6 layers100 × 100 mmAp03b stm32, the printed circuit board in 3D

    Ap03b stm32

    leafony/ap03b-stm32

    Leafony AP03B STM32 Leaf

    446 parts
  • 6 layers45 × 75 mmLeafony stm32n6, the printed circuit board in 3D

    Leafony stm32n6

    leafony/ap05-stm32n6

    Leafony AP05 STM32N6リーフ

    207 parts
  • 2 layers61 × 100 mmBd2op, the printed circuit board in 3D

    Bd2op

    kanengomibako/EffectsPedals

    102 parts14Unlicense
  • 2 layers17.8 × 33 mmC pro micro, the printed circuit board in 3D

    C pro micro

    zgtk-guri/c-pro-micro

    The atmega32u4 micro-controller board with USB Type-C receptacle, which is compatible with SparkFun Pro Micro

    24 parts36

Questions

How big is the Reference Keyboard PCB?

It measures 176 × 105 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Reference Keyboard use?

91 parts, built around the RP2040, W25Q16JVSSIM, LM1117RS-3.3 and 1SS387. 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 Reference Keyboard KiCad files?

From the famichu/MagLevSwitch_ReferenceKeyboard repository on GitHub, at the commit this page was made from: the board is pcb/Reference_Keyboard/Reference_Keyboard.kicad_pcb and its schematic pcb/Reference_Keyboard/Reference_Keyboard.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the Reference Keyboard 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).