The first steps for using a Raspberry Pi as a USB relay will be to decide on which Raspberry Pi to use.
Under is a List of some tests we have done that can be used as a guide line
| Model | Test case | CPU Load | Mem Load | Recommendations: |
| Model 3B 1GB | 15 Buttons | 14-16% | 174MB | Single Stream Deck, with feedbacks that does not need high FPS, Do not use Scrolling Text |
| Model 4B 4GB | 42 Buttons | 33-36% | 204MB | 1 to 3 Stream Decks depending on model |
| Model 5 8GB | 50 Buttons | 10-12% | 277MB | This Pi should suffice for most setups and will mostly be limited by available power, if you need more than 4 USB port be sure to use a powered Hub and test the hub for compatibility with your Pi. |
| Model 5 8GB | 100+ Buttons | 16-18% | 280MB + |
This is neither an exhaustive nor a complete test so use it as a guideline. As you can see USB relay is not particularly memory hungry so no need to buy the top tier Raspberry Pies, a 4GB version will cover most use cases. We have tested with Raspberry Pi OS Light Trixie, wich is a CLI only version. This will save on boot time and resources as there is no unnecessary overhead on features that won't be used anyways.
When you have landed on a Raspberry Pi, we recommend you download the Raspberry Pi Imager from https://www.raspberrypi.com/software/ This will prepare the SD card for use and also help you set up the config file for your installation.
When you have downloaded the imager application and inserted your Sd card in the reader on your computer. let's start the application.
First we need to select the right device.
The we need to pick the right OS, scroll down a bit and select Raspberry PI OS (other)
Select the Raspberry Pi OS Lite (64-bit) and click on NEXT.
Then we need to select the card we are using, this will often show the name of the reader, but it should be recognizable by the size of the card. But be aware, if you have a thumb drive connected at the same time that will also be shown so pick the right one. So you don't delete your thumb drive.
Then we set the Hostname of the Raspberry Pi, this will also be the name of the USB relay in Buttons.
So give it a recognizable and meaningful name. so that it's easy to find and in Buttons. Click NEXT.
Next, setup you localisation settings, this determines your time and keyboard settings. Click NEXT.
Then we setup the Username and Password of the Admin account of the Raspberry Pi. We will need this later so make sure to put it in a password-manager to keep it safe.
If you plan to use the USB relay with WiFi you can set it up in this window. if you don't plan to use WiFi, just click NEXT.
Next we need to turn on SSH (SecureShell), you can choose wether you want to to use Password Authentication or a Key pair to logon to the Pi. We will choose Password for this instruction. Click Next.
Raspberry Pi Connect is a service that is provided by the manufacturer, and can be a nice way to manage your USB Relay PI's, even if they are not on the same network as you are. As long as they can reach the Internet. It's basically the same thing as TeamViewer or AnyDesk, but specifically for RaspberryPi.
The Access is through a secure site on Raspberry Pi's webpage https://connect.raspberrypi.com/sign-in
Next we will be asked to authenticate, to start the writing process. This is the credentials for your local computer.
The writing process will take some time, depending on the speed of your Sd Card.
When the process is finished, remove the card from your computer and insert it in the Raspberry Pi. Attach it to the network, and plug in your Stream Deck and Power supply. Next we will log into the Raspberry Pi to Install the USB Relay Software. This is done with Rasberry Pi Connect or SSH from Terminal or other similar Command prompt
The usual command for using ssh is.
ssh "username"@"ip of remote computer"On first connect, you may be asked if you want to continue with the connection, as there was no key fingerprint found, just answer Yes and then enter the Password for your Raspberry PI.
Download USB relay on our computer from https://user.bitfocus.io/download
For Raspberry Pi you want the ARM64 version.
Extract the archive on your computer
Next we need to copy the file .deb file from our computer to the Raspberry Pi the easiest way to do that is to use a sftp client like filezilla or similar. log into your Pi with sftp://xxx.xxx.xxx.xxx:22 and the username and password of the Pi exactly how that is done will vary between ftp clients.
Then navigate to the file on your computer and move it over to the home directory on you Raspberry Pi.
If you use the command ls you should see the file listed as the only visible file in the home folder of the Raspberry Pi.
Next use the command.
sudo apt install ./bitfocus-buttons-usb-relay-headless_*.deb this will start the install process. and start the services.
You can also check the status of the USB relay with the command.
systemctl status bitfocus-buttons-usb-relayTo find more information about USB relay you can go to: Bitfocus Buttons USB Relay (Headless)