Make a USB Shortcut Pad with an RP2040 MacroPad

Start with one harmless keyboard shortcut, then organize a small set of shortcuts you can remember.

PineMux Editorial 29 Sep 2026 3 min read

Microcontrollers & Input

Adafruit MacroPad RP2040 — source hardware reference
Reference photo: Adafruit. Hardware or source project shown; see the guide for the proposed build.

01 / Project overview

A macro pad is most useful when its actions are predictable. This build uses the Adafruit MacroPad RP2040 and its documented CircuitPython keyboard and mouse support. The board’s keys and rotary encoder are already connected; a bare Pico requires a different wiring and input design.

02 / Materials & software

ItemWhat to check
MacroPad RP2040Use the board named in the source guide.
USB data cableConnect directly while configuring.
CircuitPython and HID librariesUse a matching bundle for the installed version.
Text editor on the hostA safe place to inspect test key presses.

03 / Connections & first setup

No external key wiring is needed for the named board. Confirm the keyboard layout used by the host before assigning symbols. Keep a way to stop the script during development so a looping key press cannot repeatedly trigger a shortcut.

04 / Build the project

  1. Confirm input events

    Run the board’s key example and check each key number. Label the physical arrangement on paper. Test the encoder separately so you know which input produced each event.

  2. Send one benign key

    Use the official HID example with a blank text editor focused. Send one character on a press and release it explicitly. Check that holding a key does not start an unintended flood of actions.

  3. Map a small workflow

    Choose three shortcuts from one application. Keep a plain-text map in the project directory and make key labels match that map. Avoid shortcuts that delete or submit work during the first test.

  4. Add visual feedback

    Use a stable color for the active profile and a brief indication when a key is pressed. Do not require color alone to identify a destructive action. Keep labels legible at the actual desk angle.

  5. Check application focus

    Test what happens when another window is active. Add a profile switch or separate layouts before expanding to several applications. Save the known-good profile so later remapping is easy to undo.

Example profile specification

Profile: Writing
Key 1: Copy
Key 2: Paste
Key 3: Undo
Encoder: reserved until tested

05 / Check the result

CheckExpected behavior
Single pressExactly one intended shortcut is received.
Key releaseNo modifier remains held down.
Profile switchLabels and actions change together.

Troubleshooting. A shortcut that works in one program may mean something else in another. If punctuation looks wrong, check host keyboard layout. If modifiers stick, inspect release handling before adding delays that only hide the fault.

06 / Sources & build notes

Prepared by PineMux from the official sources above. These are editorial build instructions; this project has not been bench-tested by PineMux. The cover shows reference hardware or a source project; image credit is provided above. Use the manufacturer’s revision-specific diagrams for exact wiring.

Shopping Cart
Scroll to Top