Required Components:
- Breadboard-ready Hallmoebas
- Gateron Magnetic Switches
- Keycaps
- 830-point Breadboard
- RP2040 MCU Board + Corresponding USB cable (RP-Pico uses microUSB, but USB-C breakouts for the RP2040 can be found.)
- Male to Male Jumper Wires
-
Through-hole SPST Tactile Switches
*If you don't want to buy buttons, you can also use open-ended wires connected to the MCU and pull those to ground whenever you want to "press" a button.
- Adhesive to hold the magnetic switches onto the Hallmoebas, since the switches cannot be soldered. We recommend a washable adhesive such as Elmer's washable school glue so that the components can be reused.
-
(Optional) Non-slip rubber stickers to keep the keypad from moving
Wiring
RP2040 Pinout
Firmware
Source: https://github.com/gamaPhy/qmk-keyboards/releases/tag/latest
Keypad Calibration
- Load the firmware onto the RP-2040 board
- While keeping the calibration button held down (right button), press all the keys through their maximum range of motion. The LED on the Pico will turn on while in calibration mode, and will turn off after calibration is computed.
- Release the calibration button
(Optional) Reading Keypad Debug Logs
- Download qmk toolbox
- Start qmk toolbox, and open the HID Console
- You should see debug messages in the HID console.
Configuration Instructions
- Use the VIA webapp
*Or if you prefer not using web-serial, download VIA from source: https://github.com/the-via/releases/releases
- Download the following VIA draft file by right-clicking, and pressing "Save link as...":
https://raw.githubusercontent.com/gamaPhy/qmk-keyboards/main/release/freedom/3k/via/via.json
- Navigate to the "design" tab (paintbrush icon) of the VIA webapp, and load the following via draft file.
After loading the draft file, the menu should look like this:
- Navigate to the "Configure" tab and select the IC icon in the bottom left to change actuation settings. (There may be more settings present for you if the `via.json` was updated since the creation of these instructions)
Debugging
- If the keypad is spamming keys even after calibration, the firmware may be corrupted. To fix this, follow RasberryPi's instructions on resetting flash memory.
- The hall effect sensors are sensitive to temperature drift. Temperature drift compensation has not been implemented, so if the ambient temperature changes by too much, the board may need to be recalibrated.
To see how much drift has occurred, you can look at the HID console to see how much the `min calibrated range` differs from the `current reading range` while keys are not pressed: - If the temperature drift is still a problem, the DRV5056A3QDBZR hall-effect sensor may be better because it has temperature drift compensation built in.