Hackpad is a 4x4 numpad/macropad designed for the Arduino Day 2023 in cooperation with the hackspace Imaginärraum e.V. and Fablab-Bayreuth e.V..
It supports 16 MX-style switches, an EC-11 rotary encoder, and per key RGB LEDs based on SK6812.
In v0.2 all necessary components are through hole components (except for an optional reset switch and RGB-LEDs), but the ProMicro protrudes out of the case. In v0.3 this is fixed by moving some diodes to the bottom side. The bottom diodes however are SMD only.
This firmware is mostly for educational purposes. Its low level code shows how keyboard firmware works on the electronical/physical level. There is a very basic version that only includes the bare minimum to understand the keyboard matrix. The more advanced version also includes functionality like debouncing.
QMK (TLA for Quantum Mechanical Keyboard) is an open source community centered around developing computer input devices. It provides a very comprehensive firmware library, which can be customized to different keyboard hardware and layouts without the need to write own code.
Installing and locating QMK on your Computer
With QMK it is simple to define custom layouts and up to 32 layers.
Follow the instructions to install QMK on your computer.
After you've installed QMK there exists a directory
qmk_firmware in your home directory.
Under Linux, the path is
~/qmk_firmware, while under Windows should be
Adding support for the hackpad
The QMK version from the official website, does not yet include the software definitions for the
hackpad-keyboard, so we need to add it manually.
For this you need to copy the directory
hackpad found at firmware_qmk/hackpad into the
keyboards directory in the
qmk_firmware you have downloaded earlier.
You can get a copy of the
hackpad directory by downloading this repository and extracting it.
Keep in mind that there are multiple directories called
hackpad in this repository, i.e. the repository itself, one in the subdirectory
firmware_arduino and one in the subdirectory
You need to copy the
hackpad directory of the subdirectory
firmware_qmk into the
keyboards directory of your
qmk_firmware directory, to enable support for the hackpad keyboard in QMK.
Notice the difference between the directories
Once you have completed the previous steps, you should be able to compile your first firmware by typing
qmk compile -kb hackpad -km default into the command line interface provided by QMK.
Editing the layout
Flashing the firmware
After you have made your changes to the keymap you need to upload the firmware to the keyboard.
This is done by running
qmk flash -kb hackpad -km "your keymap name", where
"your keymap name" is the name of the subdirectory in the
keymaps directory which you want to upload to the keyboard.