Learn Raspberry Pi Setup

Getting Started

Welcome to RNBO


RNBO Basics

Key Differences

Why We Made RNBO


Audio IO

Messages to rnbo~

Using Parameters


Messages and Ports

Polyphony and Voice Control

Audio Files in RNBO

Using Buffers

Using the FFT

Export Targets

Export Targets Overview

Max External Target
Raspberry Pi Target

Raspberry Pi Target Overview

Raspberry Pi Setup

Exporting to the Raspberry Pi Target

Raspberry Pi FAQ and Troubleshooting

Configuring Audio on the Raspberry Pi

Using Bluetooth MIDI on the Raspberry Pi Target

The Web Export Target
The C++ Source Code Target

Code Export

Working with JavaScript
Working with C++

Raspberry Pi Setup

The Raspberry Pi Export target allows for RNBO patches to be exported from RNBO directly to a Raspberry Pi device via a shared network.

To install, download the provided run-ready image, unzip it, and flash it to a micro SD card with image writing software. Any image writing software will work, however, we suggest the Raspberry Pi Imager, which allows for setting up the wifi network , the Pi's name, and a password for ssh'ing into the Raspberry Pi at the time of flashing.

Directions with Raspberry Pi Imager

With the formatted sd card connected to the machine, open the Raspberry Pi Imager.

Screen Shot 2022-09-27 at 12.07.47 PM.png

Select Choose OS and scroll to the bottom where it says use custom . Browse to where the Bullseye image was unzipped and select open (if it doesn't appear in the browser folder in the dialog, make sure all files is set for filetype.)

Screen Shot 2022-09-27 at 12.08.00 PM.png

Navigate to Choose Storage and select the SD card drive.

Before hitting write, navigate to the small gear icon at the bottom right. Here, the hostname for the Pi can be set, which will be the name of the Raspberry Pi. If no name is set, the name will default to c74rpi.

Make sure the Enable SSH box is checked for changing the settings via ssh, a username and password will need to be input. It's important you do not fill in the Username field, as this needs to stay the default provided username: pi. You can choose a password however.

Enable WiFi by checking the box for Configure Wireless Lan and fill in the SSID, the associated Passphrase, as well as the Timezone.

Next, save your settings and select Write to start flashing. Once the Raspberry Pi image has been written to the SD Card, eject the SD card and place it into the Pi.

Connection and configuration

When RNBO detects one or more RNBO-ready hardware devices on the shared network, they will appear under the Devices section in the Export Sidebar. Double-clicking the named device opens the device configuration window, which displays some information about the remote device and available export configuration options.

NOTE : If you are opening RNBO for the first time after using the Raspberry Pi Imager to write the image, you may need to wait a few minutes for the device to show up in the Export sidebar.

In the case that the named Pi is not on Wifi or a WiFi network was not set up when flashing the image, an ethernet cable from the machine to the Pi can be connected via a CAT6 cable. This will establish a local connection between the two devices.

For exporting configuration , the Raspberry Pi Target Export Overview Guide highlights all of the features of the Export Target.

Controlling the Pi

Connected Audio Devices

For the Raspberry Pi to be ready to run exported RNBO code, it must be connected to a supported audio interface. Most current audio usb inserfaces will work, just as long as the audio interface is Alsa class-compliant .

Navigate to the Configuring Audio Guide to to configure audio settings on the Raspberry Pi with the connected audio hat or interface. Once the audio settings are configured and the Pi is updated, the target is now ready to be configured for export.

Once exported, The RNBO Runner will take advantage of the configured audio devices inputs and outputs if there are associated in~ and out~ objects . For more on how this works, check out the Audio I/O Guide.

Connected MIDI Devices

Midiin and midiout objects in the exported RNBO code can be used on the RPi target to send and receive MIDI messages on the RNBO Runner. This means any MIDI hardware connected to the Pi's interface will be able to send and receive Midi data.

These can also be used to sync up to other hardware. For a more detailed overview, see Synchronization and Locking to Transport in RNBO guide.

Local Samples on the Raspberry Pi

Sample Data in RNBO can be exported to the Raspberry Pi by checking the Copy Sample Dependencies box creates a media folder to the Output directory on export. Any sample data referenced by buffer~ and data objects' file attribute will be exported to a folder on the Raspberry Pi .

Remote control via the rnbo.remote object

The RNBO code on the Raspberry Pi can be set and retrieved from the rnbo.remote object in Max. The rnbo.remote object is a max-level object included in the RNBO package that allows for loading and hot-swapping patches on the Raspberry Pi. Once Loaded, setting and receiving changes on parameters, presets, data references, MIDI, transport timing, and inport and outport values can all be done via the rnbo.remote . When the rnbo.remote is on the same network as the Rasperry Pi with running RNBO code, it can reference that Pi by its name, enabling remote control and retrieval of changes to patches on the Pi.

Further Configuration with SSH

Logging into the Pi

With the Pi powered up and connected to the same network as the PC/Mac, secure shell can be used to log in and change the settings. On Windows, an SSH client like PuTTY or OpenSSH. will work. On MacOS, just open up terminal. For Windows open up command prompt :

$ ssh pi@c74rpi.local

To connect, use the command ssh pi@c74rpi.local. This is assuming the name of the pi is c74rpi. If a password was not determined at the time of the image being flashed, the default password is c74rnbo.

Screen Shot 2021-09-08 at 9.18.25 pm.png

RPi naming

run sudo raspi-config . Go to System Options and select Hostname to change the hostname.

For instance: c74rpi-yourinitials

This will prevent hostname conflicts from occurring when working with multiple devices on the same network: Make a note of the hostname somewhere, especially in the case of having several Pi's on the same network.

Screen Shot 2021-09-08 at 9.21.54 pm.png

Wifi Setup

One simple method to connect to the Pi is via an Ethernet cable. If yconecting via WiFi is preferred, or want to switch the Pi to another network, the Pi can be set up to automatically connect to LAN via Wifi using the same configuration menu. Go to System Options and select Wireless LAN then enter the SSID and passphrase. Now when the Pi boots up, it will connect to the Wifi address automatically.

Screen Shot 2021-09-08 at 9.24.07 pm.png