

Magkeys
The firmware is KMK and it can be found here!
- Size
- 447 × 114.6 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 247
- Nets
- 186
- Pads
- 798
- Tracks, vias
- 1,131, 164
- Pours
- 1
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 6 Oct 2026
- Updated
- 11 Oct 2026
Overview
Magkeys is an open-source printed circuit board by Ahad732, from the Ahad732/Magkeys repository on GitHub. It is a 2-layer board of 447 × 114.6 mm with 247 parts on 186 nets, routed with 1,131 tracks and 164 vias.
It is built around the RP2040, W25Q128JVPIQ and 1N4148W. Its parts include 103 switches, 101 diodes, 15 capacitors, 7 resistors and 3 ICs. It belongs with the RP2040 boards of this library.
Main components
3RP2040
LQFN-56(7x7)12bit 133MHz 30 LQFN-56(7x7) Microcontrollers (MCU/MPU/SOC) ROHSRaspberry PiMicrocontrollers (MCU/MPU/SOC)W25Q128JVPIQ
WSON-8-EP(5x6)-40℃~+85℃ 100,000 cycles 10uA 120ms@(32KB) 128Mbit 133MHz 2.7V~3.6V 20 Years Power-on reset、Hardware write protection、Software write protection、Write enable latch、Absolute write protection、Power lock protection SPI WSON-8-EP(5x6) NOR FLASH ROHSWinbond ElecNOR FLASH1N4148W
SOD-123150mA 1A 1V@50mA 1uA@75V 400mW 4ns 75V Independent SOD-123 Switching Diodes ROHSSTMicroelectronicsSwitching Diodes
README
README.mdMagkeys
Magkeys is a 2-part magnetically attached keyboard made with the RP2040 microcontroller and the Raspberry pi pico W, which enables wireless connectivity. The main keyboard consists of 84 keys in a keycool 84 layout and the numpad has 17 keys, along with a rotary encoder with a switch, and these two are magnetically connected via a UART connection. Here is the onshape link to the projects case. The PCB was made in KiCAD and can be seen here on kicanvas. Here's how it looks:







The firmware is KMK and it can be found here!
why make it!
We made this project for several reasons one of which was to actually coordinate together, which we are really bad at doing. We hope to make better projects in the future together!!
BOM
Note:
The 3d renders in onshape do not have any sort of keycaps, because there were some issues trying to add them, thus i chose to stay away and not add the keycaps. sorry :(
Parts
247| Qty | Value | Footprint | References |
|---|---|---|---|
| 101 | 1N4148W | Diode_SMD:D_SOD-123 | D1, D2, D10, D11, D12, D13, D14, D15, D16, D17, D18, D19, D20, D21, D100, D101 +85 |
| 87 | SW_Push | easyeda2kicad:SW_Cherry_MX_1.00u_Plate | SW1, SW2, SW10, SW11, SW12, SW13, SW14, SW15, SW16, SW17, SW18, SW19, SW20, SW21, SW22, SW101 +71 |
| 10 | 100n | Capacitor_SMD:C_0402_1005Metric | C3, C4, C5, C6, C7, C8, C9, C11, C12, C13 |
| 8 | MountingHole | MountingHole:MountingHole_3.2mm_M3 | H1, H2, H3, H4, H5, H6, H7, H8 |
| 3 | SW_Push | easyeda2kicad:SW_Cherry_MX_1.25u_Plate | SW75, SW76, SW77 |
| 2 | 10k | Resistor_SMD:R_0402_1005Metric | R1, R7 |
| 2 | 10u | Capacitor_SMD:C_0402_1005Metric | C14, C15 |
| 2 | 15p | Capacitor_SMD:C_0402_1005Metric | C1, C2 |
| 2 | 27 | Resistor_SMD:R_0402_1005Metric | R4, R5 |
| 2 | 5.1k | Resistor_SMD:R_0402_1005Metric | R2, R3 |
| 2 | Conn_01x04_Pin | Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical | J1, J3 |
| 2 | SW_Push | easyeda2kicad:SW_Cherry_MX_1.75u_Plate | SW47, SW72 |
| 2 | SW_Push | easyeda2kicad:SW_Cherry_MX_2.00u_Plate | SW30, SW100 |
| 2 | SW_Push | easyeda2kicad:SW_Cherry_MX_2.25u_Plate | SW59, SW61 |
| 2 | SW_Push | easyeda2kicad:SW_Cherry_MX_1.50u_Plate | SW32, SW45 |
| 2 | SW_Push | easyeda2kicad:SW_Cherry_MX_2.00u_Vertical_Plate | SW92, SW99 |
| 1 | 12 MHz | Crystal:Crystal_SMD_3225-4Pin_3.2x2.5mm | Y1 |
| 1 | 1k | Resistor_SMD:R_0402_1005Metric | R6 |
| 1 | 1u | Capacitor_SMD:C_0402_1005Metric | C10 |
| 1 | 1u | Inductor_SMD:L_0402_1005Metric | L1 |
| 1 | ADP2108AUJ-3.3 | Package_TO_SOT_SMD:TSOT-23-5 | U3 |
| 1 | Jumper_2_Open | Jumper:SolderJumper-2_P1.3mm_Open_TrianglePad1.0x1.5mm | JP1 |
| 1 | RP2040 | Package_DFN_QFN:QFN-56-1EP_7x7mm_P0.4mm_EP3.2x3.2mm | U2 |
| 1 | RaspberryPi_Pico_W | Module:RaspberryPi_Pico_W_SMD | A1 |
| 1 | RotaryEncoder_Switch_MP | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm_MountingHoles | SW103 |
| 1 | SW_Push | easyeda2kicad:SW_Cherry_MX_6.25u_Plate | SW78 |
| 1 | SW_Push | Button_Switch_SMD:SW_SPST_PTS810 | SW104 |
| 1 | USB_C_Receptacle_USB2.0_16P | Connector_USB:USB_C_Receptacle_XKB_U262-16XN-4BVC11 | J2 |
| 1 | W25Q128JVP | Package_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mm | U1 |
The 244 most common of 247 parts.
Similar boards
- 2 layers307.3 × 148.3 mm

- 4 layers60 × 45 mm

Hotplate
Keyaan-07/Hotplate
Check out the Project's files on KiCanvas(PCB and Heating element) and Onshape!
85 partsMIT - 2 layers290.1 × 130 mm

- 4 layers114 × 87.7 mm

- 2 layers67.9 × 131 mm

FW16 EPD
arthomnix/FW16_EPD
Touchscreen e-paper input module for Framework Laptop 16
67 parts44CC-BY-SA-4.0 - 2 layers151 × 98 mm

- 4 layers114.3 × 76.2 mm

Letsupuri 2024 MX main
Pekaso/letsupuri
A remake of the 48 key split keyboard "Let's Split".
93 parts12 - 2 layers27.3 × 13.2 mm

NovaMkII
SpacehuhnTech/USB-Nova-MkII-PCB
USB Nova is a cute little USB “drive” that acts as a keyboard, much like the USB Rubber Ducky, WiFi Duck, and other BadUSBs.
36 parts7CERN-OHL-P-2.0
Questions
How big is the Magkeys PCB?
It measures 447 × 114.6 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Magkeys use?
247 parts, built around the RP2040, W25Q128JVPIQ and 1N4148W. 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 Magkeys KiCad files?
From the Ahad732/Magkeys repository on GitHub, at the commit this page was made from: the board is Hardware/Magkeys.kicad_pcb and its schematic Hardware/Magkeys.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Magkeys design in my own project?
Its repository states no licence, so its author keeps all rights: ask Ahad732 before reusing the design.