Loading files…
This is a compact 3×3 macropad built with Raspberry Pi Pico / RP2040, running CircuitPython/Arduino. It connects via USB using the Adafruit HID library, allowing you to assign keyboard shortcuts, media keys, and macros. An OLED display shows layer and status information for easy feedback.
arduino/Trkey_macro.ino) with 3x3 box reveal, TRKEY splash, and version text.WEBSERIAL_CONNECTION.md)."1".."0") plus legacy aliases ("ONE".."ZERO").layers.json handling when LittleFS is unavailable.| Component | Details |
|---|---|
| Microcontroller | Raspberry Pi Pico / RP2040 |
| Switches | 9x Cherry MX Brown Hyperglide 45g tactile |
| Display | OLED I2C 128x32 (link) |
| PCB | Custom 3×3 macropad (link) |
| Power | USB only |
PCB
UF2 Firmware:
macropad.uf2 — stable, all-in-one with CircuitPython, libraries, and codedev_firmware.uf2 — development version for testing new featuresKey Features: Tap/Hold, Layers, Media keys
If you want to move from CircuitPython to Arduino IDE, use arduino/Trkey_macro.ino.
Startup animation is now included in the main sketch (arduino/Trkey_macro.ino).
For beta experiments, you can still use arduino/Trkey_macro_Beta.ino (also provided as arduino/Trkey_macro Beta.ino).
This sketch keeps the same behavior as code.py:
MO(x), TO(x), TT(x), DF(x)MACRO_n)A-Z, a-z, 0-9, space, newline)LIST, GET, PUT, DEL, RELOADRequired Arduino libraries:
Adafruit_TinyUSB_Arduino)Recommended board core: Raspberry Pi Pico/RP2040 (Earle Philhower core).
RP2040 TinyUSB note (important):
tusb_init() in your sketch (the RP2040 Arduino core already initializes TinyUSB).Adafruit_TinyUSB_Arduino).Documents/Arduino/libraries/Adafruit_TinyUSB_Library, remove it to avoid library conflicts.Documentation:
WEBSERIAL_CONNECTION.md — USB CDC/WebSerial command flow, upload handshake, persistence behavior, and troubleshooting.layers.json in repo root — example keymap/profile format used by firmware and mapper.Flash the UF2 (macropad.uf2 or dev_firmware.uf2) onto your Pico — everything is included, no additional setup needed.
Plug in the macropad — ready to use.
Use your macropad:
This beta feature is implemented in Arduino firmware (arduino/Trkey_macro.ino) and an optional PC CLI app (pc_companion/trkey_music_companion.py).
MODE music.Quick start:
arduino/Trkey_macro_Beta.ino).arduino/Trkey_macro.ino).python pc_companion/trkey_music_companion.py --port <PORT>.music to load the music layer by name.np Song|Artist|45|180|Spotify to update metadata.Supported companion key tokens (in layers.json):
APP_PLAY_PAUSEAPP_NEXTAPP_PREVAPP_MUTEAPP_VOL_UPAPP_VOL_DOWNAPP_SEEK_FWD_10APP_SEEK_BACK_10APP_* keys emit APP_EVENT <token> on serial and media actions also fallback to HID media controls.
Customize your macropad's key bindings using the web-based key mapper:
Access the key mapper here: trinibos1/micropad_web
Contributions are welcome to improve the key library, including:
Email: Trinibos1@proton.me
No comments yet. Be the first to ask about this board.