A framework for making digital instruments with sensors, driven by a need to improve access.

Instrument Maker is an open source framework for digital instrument building with sensors, for Pure Data running on Bela / Raspberry Pi + Arduino.

Distributed under the terms of the GNU Public license version 3.

The code is developed by Charles Matthews, initially through workshops in collaboration with Gift Tshuma, and with more in the pipeline through our project Blurring the Boundaries.

Many thanks to Roybn Steward and Dave Darch for testing the code in workshops and helping generate documentation.

Read about the philosophy behind this framework at the blog.

Please access the wiki for more information and development notes.

A diagram illustrating different aspects of the instrument maker framework: sensors, scales, effects, and code.


Instrument Maker is one of my first public repos, and will definitely be messy for a while.

Please feel free to explore, and download and try out the abstractions if you are already familiar with Pure Data..but I recommend waiting a little while until everything’s more coherent.

How does it work?

The main resource is an library of objects for Pure Data.

Having downloaded the library, create and connect building blocks in the form of obects with the im. prefix: e.g. inputs, outputs, tuning systems, processors, and synthesisers. Upload this code to Bela, or use a Raspberry Pi with an Arduino-type device connected.

Using Bela, choosing a setup should be a case of dragging and dropping into a browser; the Pure Data files can exist as templates or presets, no need to edit or look at the code unless desired.

A screenshot of the Instrument Maker objects in Pure Data: a white screen, featuring minimal outlined boxes with black connecting lines. The boxes are labelled: input, scale, sinewave, volume, and they are connected to further boxes labelled echo and output. The lines are drawn from the top, through each of the boxes in various inlets and outlets, into a box labelled output.

Current demo setup

Deken release coming soon.

We are currently focusing on Raspberry Pi/desktop setups, but will be updating with instructions for Bela again soon (including the new IDE).

Recommended: clone this repo

  • Clone the repo to a local folder by opening a terminal:
    • git clone
    • On a Mac, you might be required to download developer tools. There is no need to install Xcode if prompted.
    • Keep up to date by periodically typing git pull within the folder in terminal.

Direct download Click the green Clone or Download icon at the top of the GitHub repo to download a zip file. If doing so, you will need to download updates manually in the future.


  • Install Pure Data

    • On a Mac, you may need to right-click on the downloaded application to open it.
  • Add the instrument-maker folder to the search path in Pure Data: click new, and browse to the folder you cloned to.

  • Look for _current-objects.pd in the main folder

  • Right-click on the objects found here to open help files. Make sure you press ctrl-E to enter edit mode before clicking on any boxes!

a list of current objects