

Hackpad schematic
Hackpad for GD Platformers
- Size
- 67 × 47 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 9
- Nets
- 16
- Pads
- 49
- Tracks, vias
- 88, 3
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 9 Jul 2026
- Updated
- 27 Sep 2026
Overview
Hackpad schematic is an open-source printed circuit board by Jacube1234, from the Jacube1234/GD-Hackpad repository on GitHub. It is a 2-layer board of 67 × 47 mm with 9 parts on 16 nets, routed with 88 tracks and 3 vias.
Its parts include 5 switches, 2 diodes and 1 IC.
README
README.mdGD Hackpad
talking about design
video demo
Note on images and files: The photos and physical build shown below do not have the RGB LEDs or don't have them working due to a footprint error on my design. However, the updated KiCad and Gerber files in this repository include the corrected LED routing, so if you fabricate a board using the current files, the LEDs will work fully as designed!
This is my Hackpad designed for the purpose to play Geometry Dash Platformer levels. Basically a DIY Sayo Device but cool yk. I chose this project as I am comfortable with Fusion 360, and a chance to learn a new program - Kicad.
Features:
- Cool 3d printed case
- 2 WS2812B RGB LEDs. Kinda under the keys. I just didn't want it to be too basic. Can also tell me whether its powered on.
- 4 arrow keys to play games
- Rotary encoder
CAD Model:
Everything fits together using 4 M3 Bolts and heatset inserts. 4 for the case.
It has 3 separate printed pieces. The base which has a tilt, the plate to hold the PCB, and the top shell.
Made in Fusion360.

I added these elevated holes because the shell was 3mm tall, which is shorter than the depth needed for the heatset inserts. Still looks visually fine I reckon.
This also shows how it is assembled. The top plate and angled base sandwhich the plate the holds the switches.

PCB
Here's my PCB!💀 It was made in KiCad. I added the silkscreen image by using the build in image converter. I got a skull emoji off google, and placed it on my front silkscreen layer.
Schematic

Layout

PCB

Firmware Overview
This hackpad uses KMK firmware for everything.
I might change the lights to change colour in the future.
File structure
There's 4 main folders: CAD, Firmware, PCB, and Production. The CAD folder contains the .step file for the case as a whole. It also contains the 3mf of the same thing, and the fusion f3z. The PCB folder contains .kicad_pcb, .kicad_pro, and .kicad_sch. The Firmware folder contains files for KMK firmware. The production folder has files for 3D printing and for the PCB printing.
BOM (Bill of Materials):
Here should be everything you need to make this hackpad
- 1 Unsoldered Seeed XIAO RP2040
- 4x MX-Style switches
- 4x white blank DSA keycaps
- 2x SK6812 MINI-E LEDs (Neopixels)
- 1x EC11E Rotary Encoder
- 4x M3x16mm screws
- 4x M3x5mx4mm heatset inserts
- 3D printed case
- 3D printed knob
- PCB
Software
- KMK folder from here and have a quick read through. Download where it says "copy of KMK" or here
- UF2 Circuit python for the Seeed XIAO RP2040
- Fusion is recommended if you want to look through my building timeline here
- Kicad recommended to view the Gerber files or the general
.pcb.pro.schfiles
Tools:
- 3D Printer
- Soldering Iron
- Solder
- M3 Allen key
How to build/replicate
- Get everything that is on the BOM.
- Download the step files from here and 3d print them.
- Use the Gerber files here to order the pcb online.
- Buy the screws and heatset inserts online or at a hardware store.
- Buy the rest of the items online somewhere (sorry!)
Note that I will be getting most parts from Alex's Hackpad kit, and and the pcb ordered with the $15 grant.
- Solder the parts but NOT the switches in their specificed location using solder and a soldering iron.
- If you need help refer to the images earlier in this
README.mdor here
-
Install the heat-set inserts. Heat up your soldering iron and gently press the 4 M3 heat-set inserts into the 3D printed case. Take your time and let the heat do the work so you don't accidentally melt all the way through the plastic.
-
Put the software on the XIAO RP2040. Plug the microcontroller into your computer and drop the CircuitPython
.uf2file from here onto theRPI-RP2drive. Basically follow this -
Install KMK and your code. Put the
kmkfolder from the KMK firmware zip and the files from theFirmwarefolder in this repository onto the newCIRCUITPYdrive. -
Assemble the hardware. Snap your 4 MX switches through the 3D-printed plate so they sit securely. Sandwich your finished PCB between the base piece and the top shell, making sure the plate is aligned correctly.
-
Screw it together. Thread your 4 M3x16mm screws through the bottom of the case and into the heat-set inserts you installed in step 3. Try not to overtighten them.
-
Finishing touches. Slap your 4 blank white DSA keycaps onto the switches and push the custom 3D-printed knob onto the rotary encoder.
Hopefully it should work flawlessly because I have 100% tested the code.
Project Reflection
Some stuff already mentioned elsewhere in this README.md
- What I made: I made the GD Hackpad—a custom 4-key macro pad with a rotary encoder designed specifically for playing Geometry Dash Platformer levels (basically a DIY Sayo Device). It features a 3-piece 3D-printed angled case designed in Fusion 360, a custom PCB featuring a skull silkscreen created in KiCad, and is powered by a Seeed XIAO RP2040 running KMK firmware.
- What was challenging: Learning KiCad from scratch since I was originally much more comfortable with Fusion 360. Learning the stardance process and this general hackclub stuff.
- What I am proud of: How well the 3D-printed case fits together using M3 bolts and heat-set inserts, adding a custom skull emoji silkscreen to the PCB, and getting everything running smoothly with 100% tested code.
- How to test: Everything you need to replicate it is in the repository, including the 3D print production files, Gerber files for ordering the PCB, the BOM, and a full guide on setting up CircuitPython and KMK firmware. Note: The photos of my physical build ldon’t have the RGB LEDs due to an early board error, but the updated KiCad and Gerber files in the repo feature the corrected LED routing!
Extra stuff
Hi guys
Bye guys
Parts
9| Qty | Value | Footprint | References |
|---|---|---|---|
| 4 | SW_Push | Button_Switch_Keyboard:SW_Cherry_MX_1.00u_PCB | SW1, SW2, SW3, SW4 |
| 2 | NeoPixel_THT | Care Package:SK6812MINI-E_fixed | D1, D2 |
| 1 | LOGO | LOGO | G*** |
| 1 | MOUDLE-SEEEDUINO-XIAO | Care Package:XIAO-Generic-Hybrid-14P-2.54-21X17.8MM | U1 |
| 1 | RotaryEncoder_Switch | Rotary_Encoder:RotaryEncoder_Alps_EC11E-Switch_Vertical_H20mm | SW5 |
Questions
How big is the Hackpad schematic PCB?
It measures 67 × 47 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Hackpad schematic use?
9 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 Hackpad schematic KiCad files?
From the Jacube1234/GD-Hackpad repository on GitHub, at the commit this page was made from: the board is PCB/GD-Hackpad/Hackpad schematic.kicad_pcb and its schematic PCB/GD-Hackpad working LED/GD.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Hackpad schematic design in my own project?
Its repository states no licence, so its author keeps all rights: ask Jacube1234 before reusing the design.
Similar boards
- 2 layers103 × 30.5 mm

- 2 layers31.8 × 47.6 mm

- 2 layers24 × 27.3 mm

Expansion Card Retrofit
FrameworkComputer/ExpansionCards
Reference designs and documentation to create Expansion Cards for the Framework Laptop
9 parts1.1kCC-BY-4.0 - 2 layers15.6 × 17.3 mm

SKR Mini TFT Thermistor Board
VoronDesign/Voron-Hardware
Cool Hardware designed by the Voron Design group
9 parts1.1kGPL-3.0 - 2 layers39.1 × 49.5 mm

Learnoliver
hackclub/OnBoard
💡 Join 1,000 teenagers and make your first PCB with a $100 grant!
9 parts915 - 2 layers17.4 × 16.9 mm

- 2 layers9.8 × 108 mm

- 2 layers

Keyboard after
adamws/kicad-kbplacer
KiCad plugin for automatic keyboard's key placement and routing
9 parts547GPL-3.0