A 3x3 custom mechanical macro pad
Go to file
Tomek Wójcik 824f111ec5 Initial commit. 2019-01-13 11:16:26 +01:00
Case 3D Models Initial commit. 2019-01-13 11:16:26 +01:00
KiCad Initial commit. 2019-01-13 11:16:26 +01:00
qmk_firmware@48742539f5 Initial commit. 2019-01-13 11:16:26 +01:00
.gitignore Initial commit. 2019-01-13 11:16:26 +01:00
.gitmodules Initial commit. 2019-01-13 11:16:26 +01:00
LICENSE Initial commit. 2019-01-13 11:16:26 +01:00
NOTICE.txt Initial commit. 2019-01-13 11:16:26 +01:00
README.md Initial commit. 2019-01-13 11:16:26 +01:00
geekpad.jpg Initial commit. 2019-01-13 11:16:26 +01:00



A 3x3 custom mechanical macro pad.


Building your own

To build your own GeekPad, you'll need the following:

  1. A 3D printer with at least 75x75x20mm of available workspace,
  2. Means of making the PCB,
  3. A computer capable of building the firmware and uploading it to the controller,
  4. A [SparkFun Pro Micro 5V/16Mhz] controller board (or a compatible clone),
  5. 9 plate mounted Cherry MX compatible switches of your choosing,
  6. 9 1N148 diodes,
  7. A two-pin tactile switch,
  8. 4 10mm standoffs,
  9. 8 M3 screws,
  10. 4 rubber or plastic feet,
  11. A soldering iron,
  12. Tinkerer's spirit ;).

This repository contains the PCB Project, Case 3D Models and the customized QMK Firmware Code.

PCB Project

The KiCad directory contains the KiCad project with PCB source. You can use it to make or order a PCB.

The PCB project was created using KiCad v5.

Case 3D Models

The Case 3D Models directory contains STL files for the case. You can use them to 3D print case parts.

The GeekPad - Leg file contains model of a "leg" - the side part. You'll need two of them. The GeekPad - Plate files contains model of the switch plate.

QMK Firmware Code

The qmk_firmware directory contains source code for GeekPad's firmware. It's based on QMK. Since the directory is actually a submodule, you'll need to fetch it prior to working with it.

If you're using the command line git client on a compatible OS, use the following commands to fetch the code:

$ git submodule init
$ git submodule update

If you're using other git client, please refer to its docs to learn how to fetch the submodule.

GeekPad specific code lives in the keyboards/bthlabs/geekpad directory.

Please refer to QMK docs for information on how to set up QMK, customize the keymap and build the firmware.


GeekPad is developed by Tomek Wójcik.


GeekPad is licensed under terms of Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) License.

GeekPad's QMK code is licensed under terms of GNU GPL v2 License.


GeekPad includes modified version of KiCad library of Pro Micro by Biacco24, licensed under terms of MIT Licese.