# GeekPad

A 3x3 custom mechanical macro pad.

![GeekPad](geekpad.jpg)

## Building your own

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

1. A 3D printer with at least 75x75x20mm of available workspace,
1. Means of making the PCB,
1. A computer capable of building the firmware and uploading it to the
   controller,
1. A [SparkFun Pro Micro 5V/16Mhz] controller board (or a compatible clone),
1. 9 plate mounted Cherry MX compatible switches of your choosing,
1. 9 1N148 diodes,
1. A two-pin tactile switch,
1. 4 10mm standoffs,
1. 8 M3 screws,
1. 4 rubber or plastic feet,
1. A soldering iron,
1. 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](https://qmk.fm/). 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](https://docs.qmk.fm/#/) for information on how to
set up QMK, customize the keymap and build the firmware.

## Author

GeekPad is developed by [Tomek Wójcik](https://www.bthlabs.pl/).

## License

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.

## Credits

GeekPad includes modified version of 
[KiCad library of Pro Micro](https://github.com/Biacco42/ProMicroKiCad) by
[Biacco24](https://github.com/Biacco42), licensed under terms of MIT Licese.
