Documentation for building a simple 4-key USB Keyboard that has ACGT to act as the equivalent of a tenkey for bioinformatics
DNA Sequence entry is a pretty common task when dealing with informatic stuff. The letters CGT all use the same finger on a QWERTY layout, which makes them slower to type in sequence. What if we had a keyboard to do just that?
The first build will be based on the 4Pack macropad
- PCBs and plates - 4pack PCB fabricated by JLCPCB
- Pro Micro microUSB (or Elite-C v4 USB-C, will try both) controller with pin headers ordered from KeebIO
- 9mm M2 standoffs and 6mm M2 screws from KeebIO
- Keycaps - R3 milk blanks.
- LEDs - 3mm round flangeless dome-top LEDs (RGBY)
- Resistors (2) (100 Ohm)
- Gateron KS-9 Red MX Keyswitches
- White silicone SKUF feet from KeebIO
- microUSB / USBC cable
- Soldering iron + Solder + Solder wick + Third hand + Ventilation
Install QMK (using conda within WSL, because I prefer a unix environment)
conda create -n qmk python=3
conda activate qmk
pip install qmk
qmk setup # Answer y to prompts
qmk compile -kb 40percentclub/4pack
qmk config user.keyboard=40percentclub/4pack
qmk config user.keymap=tgjohnst
qmk new-keymap
Edit the created keymap.c (to open /home/lotus/qmk_firmware/keyboards/40percentclub/4pack/keymaps/tgjohnst
in explorer just cd there and do explorer.exe .
) in a text editor. Change the layout to:
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT( /* Base */
KC_T, KC_G, KC_C, KC_A
),
};
Then, compile the new keymap (assuming the defaults were set with qmk config
above
qmk compile
You cannot flash directly from WSL, so install QMK Toolbox https://github.com/qmk/qmk_toolbox .
Load up QMK toolbox and select the .hex file you created in the last compile step. Select Auto-Flash
.
Connect your keyboard to a USB 2.0 port (3.0 has issues). short out the ground and reset pin twice in quick succession to initiate a reset. QMK toolbox should detect the device and start flashing.