Skip to content

Getting Started with Oopsy (Max/MSP Gen~)

This guide can be dissected into just a few parts:

  1. Installing the toolchain for your OS (MacOS or Windows)

  2. Downloading the Oopsy package and placing it in your Max 8/Packages folder

  3. Opening up one of the example patches and programming your Daisy

Toolchain Install

If you've already been doing any development with Daisy, you've probably already got this set up and can skip ahead to the next section.

Oopsy compiles firmware for the Daisy platform under the hood, and can program that firmware to the device directly from Max. In order to do these things, a few extra tools are required:

  • Make
  • arm-none-eabi toolchain
  • dfu-util

These are generally simple to install for each OS. See our MacOS Guide and Windows Guide for detailed steps.

Though, if you're on MacOS and already have Brew installed, all you need to do is paste this command into your terminal:

brew install make armmbed/formulae/arm-none-eabi-gcc dfu-util

Getting Oopsy

You can either download a pre-built version of Oopsy, ready to drop into place, or clone it from GitHub.

Option 1: Download

Download the .zip file by clicking here, and extract the file into the Max 8 Packages folder.

The packages folder can be found at:

C:\Users\YourUserName\Documents\Max 8\Packages on Windows

or

~/Documents/Max\ 8/Packages/ on MacOS

Option 2: Clone with Git

To get Oopsy set up with Git, clone the repo and then run the install script:

# first open a console in your Documents/Max 8/Packages folder, then:
git clone https://github.com/electro-smith/oopsy.git
cd oopsy
./install.sh

Programming an Example from Max

Examples can be found inside of the package.

Open up reverb.maxpat example.

You'll see a bpatcher containing:

  • A button that when pressed, will export and compile the gen~ patcher(s) for Daisy
  • A dropdown with the available breakout boards
  • A button that toggles between DISCREET/VERBOSE for printing to the console

Select the platform you're using from the dropdown (e.g., Patch for Daisy Patch, etc.).

For Daisy Seed, you can arbitrary select Pod if you're just using the audio I/O pins.

Next, put Daisy into bootloader mode by following these steps. With Daisy connected to your computer via its onboard USB, hold down the BOOT button and press the RESET button. After releasing the RESET button, you can release the BOOT button as well.

Now, you can either click the button in the Oopsy bpatcher or simply save the patcher, and the object will attempt to program Daisy with the new firmware.

When the firmware is loaded, you should see the LED on Daisy begin to blink, to indicate it is running the generated firmware.

You should now have a functioning reverb on any platform! However, Pod will have limited controls since there are four parameters contained in the patch.

For the time being, you must manually re-enter bootloader mode each time you want to reprogram Daisy.

The following platforms are currently supported:

  • Electrosmith Daisy Pod
  • Electrosmith Daisy Patch
  • Electrosmith Daisy Petal
  • Electrosmith Daisy Field

Creating a patcher

So, you've programmed one of the examples to Daisy, and now you want to take your crazy quadruple dogwhistle resonator gen~ patch and throw it on Daisy.

You can add Oopsy to your patch in a few different ways:

  • To add Oopsy to an existing patch, you can create an [oopsy.] object, where is the desired breakout board. For example, [oopsy.pod], [oopsy.petal], [oopsy.field], [oopsy.patch], etc. This will add the bpatcher with the specified target.
  • Templates exist for creating new patches with control inputs set up and ready to simulate. Start a new patch this way by clicking "File" > "New From Template" > "Oopsy <board>".
  • Alternatively, you can create an Oopsy object and set the @target attribute to your desired breakout board (e.g., Pod, Petal, Field, Patch, etc.).

Multiple Patches

Many of the supported breakout boards support loading multiple gen~ patches to the hardware at once. To do this, simply add more gen~ patches to your Max patch and load the firmware as usual.

Details for switching apps are in the oopsy README.

Troubleshooting

Please refer to the Oopsy section of the Troubleshooting Page.