A Raspberry Pi is a common, low-cost way to run USB Relay near the Stream Decks it's relaying: this guide covers choosing a model, imaging the SD card, and getting it ready for the software. Installing and managing the software itself is identical to Install USB Relay on Linux, so this page links there rather than repeating those steps.
USB Relay only needs a 64-bit ARM Raspberry Pi (the current package targets arm64) and isn't especially memory-hungry: a 4GB model comfortably covers most setups. As an informal guideline from Bitfocus' own testing, not an exhaustive benchmark:
Model
Test case
Recommendation
3B, 1GB
15 buttons
A single Stream Deck with feedbacks that don't need high frame rates; avoid scrolling text.
4B, 4GB
42 buttons
Comfortably handles 1–3 Stream Decks depending on model.
5, 8GB
50–100+ buttons
Should suffice for most setups: you're more likely to be limited by available USB power than the Pi itself. If you need more than 4 USB ports, use a powered hub and confirm it's compatible with your Pi first.
If in doubt, test with your actual hardware and button count rather than relying on this table alone.
Choose Raspberry Pi OS (other) → Raspberry Pi OS Lite (64-bit): a CLI-only image keeps boot time and resource use down, and USB Relay has no need for a desktop environment.
Select your SD card (double check you haven't selected another connected drive by mistake).
Set a Hostname: this also becomes the relay's name when it shows up in Buttons, so make it something recognizable.
Set your localization settings.
Set a username and password for the Pi's admin account, and record it somewhere safe.
Configure Wi-Fi if you're not using a wired connection.
Enable SSH, with password authentication or a key pair as you prefer.
Write the image, then move the card to the Pi, connect it to the network, and plug in your Stream Deck and power supply.
Connect to the Pi, either over SSH or with Raspberry Pi Connect (a remote-access service from the Raspberry Pi Foundation, useful if the Pi isn't on your local network):
ssh <username>@<ip of the Pi>
Download the arm64 USB Relay package and transfer the .deb file to the Pi (an SFTP client such as FileZilla, connecting to sftp://<pi ip>:22, works well for this).
From here, everything else (checking logs, configuring outbound connection mode, managing the service, uninstalling, and handling a Buttons certificate change) is exactly as described in Install USB Relay on Linux.