A CircuitPython firmware for the Adafruit MacroPad RP2040 — a 12-key macro pad built for streamers using OBS and Twitch. Two layers of hotkeys control scene switching, camera/mic toggles, clip markers, chat commands, Discord audio, and a safe 30-second stream-end sequence.
Download the latest CircuitPython UF2 for the MacroPad RP2040: https://circuitpython.org/board/adafruit_macropad_rp2040/
Hold BOOTSEL while plugging in → drag the .uf2 file to the RPI-RP2 drive → MacroPad reboots as CIRCUITPY.
Install circup on your machine, then run:
circup install adafruit_macropad adafruit_hid adafruit_display_text adafruit_debouncer adafruit_ticks neopixel
Or manually copy these from the Adafruit CircuitPython Bundle into CIRCUITPY/lib/:
adafruit_macropad/adafruit_hid/adafruit_display_text/adafruit_debouncer.mpyadafruit_ticks.mpyneopixel.mpy
Copy code.py to the root of the CIRCUITPY drive. The MacroPad reboots and starts running immediately.
The MacroPad Manager is a Windows desktop app that runs the companion service — it bridges the MacroPad's hotkeys to OBS WebSocket and the Twitch API. It auto-starts the service on launch and shows a live log pane.
- Build or download
MacroPad Manager Setup X.X.X.exefromapp/dist/ - Run the installer — installs to
%LOCALAPPDATA%\Programs\macropad-manager\ - Create a
.envfile in the install directory (see Setup Guide for all variables):
%LOCALAPPDATA%\Programs\macropad-manager\.env
- Launch MacroPad Manager from the Start Menu — the service starts automatically
Requires Node.js 18+ and the VS Build Tools with C++ workload.
cd app
npm install
# Rebuild native addon against Electron (requires VS Build Tools):
$env:VCINSTALLDIR = "C:\Program Files (x86)\Microsoft Visual Studio\<version>\BuildTools\VC\"
npm run rebuild
npm run dist
The installer is output to app\dist\MacroPad Manager Setup X.X.X.exe.
If you get a symlink error during
npm run dist, enable Developer Mode in Windows Settings → System → For developers, then delete%LOCALAPPDATA%\electron-builder\Cache\winCodeSignand retry.
- Button Reference — every button, layer, and encoder input explained
- Setup Guide — OBS, Twitch, Discord configuration and
.envreference