

this is the pcb for my phantom macropad. it's a little keyboard that doubles as a controller for my drone. twelve mechanical keys in a 3x4 matrix plus two rotary encoders, all running off a seeed xiao
- Size
- 113.5 × 118 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 27
- Nets
- 27
- Pads
- 112
- Tracks, vias
- 222, 25
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 29 Aug 2026
- Updated
- 13 Sep 2026
Overview
Mk1 is an open-source printed circuit board by bird-spec, from the bird-spec/phantom-pad repository on GitHub. It is a 2-layer board of 113.5 × 118 mm with 27 parts on 27 nets, routed with 222 tracks and 25 vias.
Its parts include 14 switches, 12 diodes and 1 IC. It belongs with the keyboards and input boards and the NXP (LPC, Kinetis, i.MX RT) boards of this library.
README
README.mdphantom pad
this is the pcb for my phantom macropad. it's a little keyboard that doubles as a controller for my drone. twelve mechanical keys in a 3x4 matrix plus two rotary encoders, all running off a seeed xiao
the whole point is one board that's both a keyboard and a flight controller. rotate the encoders for throttle and yaw, and the four keys around each one act like a d-pad for direction. slide the top section off and it's just a normal macropad again
it's a two layer board. i wired the switches in a matrix so twelve keys only need seven pins instead of twelve, which left enough pins free for the two encoders. every switch has a diode so pressing three keys at once doesn't register a fourth one that isn't pressed
this was my first pcb ever. i learned kicad from nothing to make it. the hardest part was the routing, and figuring out that a matrix needs the rows and columns to actually reach the microcontroller, which sounds obvious but isn't when you're staring at a wall of green lines
made with the seeed xiao, cherry mx footprints, and alps ec11 encoders. firmware runs on qmk
Parts
27| Qty | Value | Footprint | References |
|---|---|---|---|
| 12 | D | Diode_SMD:D_SOD-123 | D1, D2, D3, D4, D5, D6, D7, D8, D9, D10, D11, D12 |
| 12 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3, SW4, SW5, SW6, SW7, SW8, SW9, SW10, SW11, SW12 |
| 2 | RotaryEncoder | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW13, SW14 |
| 1 | MOUDLE-SEEEDUINO-XIAO | footprints:XIAO-Generic-Hybrid-14P-2.54-21X17.8MM | U1 |
Questions
How big is the Mk1 PCB?
It measures 113.5 × 118 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Mk1 use?
27 parts. 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 Mk1 KiCad files?
From the bird-spec/phantom-pad repository on GitHub, at the commit this page was made from: the board is mk1.kicad_pcb and its schematic mk1.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Mk1 design in my own project?
Its repository states no licence, so its author keeps all rights: ask bird-spec before reusing the design.
Similar boards
- 2 layers47.6 × 27.3 mm

- 2 layers77.4 × 77.4 mm

CORAZON LEDS CON FADE
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
27 parts915 - 2 layers44.2 × 29.3 mm

- 2 layers40 × 40 mm

- 2 layers22 × 42 mm

Nvme bm to e
CRImier/MyKiCad
My KiCad boards. Can't be bothered uploading individually anymore, so here you go.
27 parts253GPL-3.0 - 2 layers80 × 61 mm

PicoProducer
pjgpetecodes/pico-streamdeck
This project is an OBS Controller using a Raspberry Pi Pico and CircuitPython.
27 parts230MIT - 2 layers186 × 45 mm

AddOnD
freeDSP/freeDSP-aurora
freeDSP ADAU1452 with 8 analog input, 8 analog outputs, S/P-DIF I/O, ADAT I/O, USB Audio Class2, WiFi, Bluetooth
27 parts226CC-BY-SA-4.0 - 2 layers29.6 × 40.6 mm

Dbwifi revB
ugcs/ddc
Drone Show Software is software designed for drone shows, allowing flight path planning as well as control of dozens of drones simultaneously in a synchronized manner.
27 parts223