Skip to content

Constant 2018

Becky edited this page Dec 15, 2018 · 13 revisions

This workshop has four parts:

  1. You will get familiar with the basics of coding with Pure Data first on the computer, then Bela.

  2. Then you will learn how to make different types of paper sensors and attach them to Bela in order to control Pure Data.

  3. Tomorrow, for those that are interested, you can learn how to use advanced sensor libraries with Bela.

  4. The rest the workshop you will put your new skills into practice and prototype your own design.

This workshop is part of a research project run by the School of Electronic Engineering and Computer Science at Queen Mary University of London. Your prototypes and questionnaires will be used along with photos and videos of the workshop to help us better design tutorial materials for makers wanting to work with digital tech.

If you are willing for us to capture this data for our research, please be sure to sign one of the consent forms. Likewise, if you would prefer to not be included in photos shown publicly, just let us know.

What is Bela?

Bela is built on top of Beaglebone Black, an embedded Linux platform. In other words, it is a full, small computer, similar to a Raspberry Pi. It is like a laptop without a keyboard, mouse, or screen attached. Bela is a custom operating system and an circuit board which sits on top of the Beaglebone Black.

There is a now a smaller version of the board called Bela Mini based on the Pocket Beagle.

(Yes, Bela is a commercial product - you can buy your own here. It started as a research project at Queen Mary University of London.)

Intro to Pure Data

Here is how to install Pure Data and an intro to some basic concepts.

  1. Download these example patches by going here and clicking on the Download button.

Beginning Audio Synthesis with Pure Data

From the Floss Manual to Pd:

Pure Data on Bela

We need to copy the Pd externals to a particular folder on the Bela. That way multiple projects can use the same core externals without having to add them to each individual project. You can do this in two different ways.

Using the IDE

  1. Connect the Bela to your computer with the USB cable.

  2. Create a new project called Pd-externals.

  3. Delete the _main.pd file from the Resources.

  4. Copy over the contents of the pure-data-bela-turtorials/abstractions folder on your computer

Using the Terminal and Command Line

  1. Connect the Bela to your computer with the USB cable.

  2. In a terminal cd to the pure-data-bela-turtorials/abstractions folder on your computer.

  3. scp -r ./ root@bela.local:~/Bela/Projects/pd-externals Here is the full documentation for building Pure Data patches on Bela. We will be using the IDE (not following the instructions for using Heavy).

Key things to remember

  • When you create a new project, but sure to say you want it to be a Pure Data project. It defaults to C++ projects which then will ignore any Pure Data patches.
  • The patch needs to be called _main.pd. It's highly recommended that you added a comment in the patch to help you identify exactly what that patch is supposed to do. Your computer will start filling up with a multitude of files all called _main.pd.
  • Whenever you want to edit the patch, you edit it in Pure Data on your computer, and then you need to upload (or drag and drop) the patch into the Bela IDE in order for those changes to be made on Bela.

Sensor Tutorials

These are the sensors you can build. You can make as many or as few as you would like.

Light sensor with a light dependent resistor

Piezo vibration or (some) movement sensing

Reed switch magnetic field sensing

Velostat pressure sensing

Paper slider

Push button switch

Using an IMU with Bela

The Bela On Ur Head Project has all the source code for the IMU handling.

We will work with the IMU Synth (Pd) Example.

Using Capacitive Sensing with Bela

Capacitive sensing library

Clone this wiki locally