What is Bela?

Bela is an embedded computing platform for creating beautifully responsive interactive applications. Bela provides ultra-low latency, high quality audio, analog and digital I/O in a tiny self-contained package that can be easily embedded. Built upon the BeagleBone family of open-source embedded computers, Bela combines the processing power of an embedded computer with the timing precision and connectivity of a microcontroller.

Bela features an on-board, browser-based IDE, making it easy to get up and running without requiring any additional software. The end result: digital instruments and interactive objects that are faster to develop and more responsive to use.

Bela is fast. Bela’s dedicated hardware and software environment provides hard real-time performance with 1ms latency while retaining the capabilities and power of a 1GHz embedded computer running Linux.

Bela is connected. Use Bela’s stereo audio input and output to create musical instruments and audio effects. Connect to the physical world with Bela Original’s 8 analog inputs and outputs (or Bela Mini’s 8 analog inputs), as well as 16 digital I/O pins. You can also use ethernet, USB (including MIDI) and SD card storage.

Bela is small. Bela’s compact form factor means that it easily integrates into portable interactive objects, and the condensed Bela Mini means that it fits in more places than ever before. Connect to your computer to program Bela, and then power from an external battery to run in standalone mode - no laptop required.

Getting started is easy. Connect Bela by USB, launch the on-board IDE, and start coding right away in C++, PureData, SuperCollider, or FAUST. Our IDE also features everything interactive creators need, like an intuitive interface, a huge library of example projects, and an in-brownser oscilloscope.

Why latency matters

Action-to-sound latency across platforms

  • Bela 0.5ms

  • Midi on Mac 5.0ms

  • iPhone 6+ 9.0ms

  • Arduino to Max 11.0ms

  • Arduino to RPi 19.0ms

(See this publication for more details on latency.)

Bela is designed with audio in mind. It uses the BeagleBone Black single-board computer which features a 1GHz ARM Cortex-A8 processor and 512MB of RAM. It runs a custom Linux audio environment that gives you buffer sizes as small as 2 samples, producing latency as low as 1 millisecond from audio in to audio out, or even down to 100 microseconds from analog in to analog out. What's more, every analog and digital pin is automatically sampled at audio rate, providing precise, jitter-free alignment between audio and sensors.

What this means for you is that your digital musical instruments and interactive hardware just got a lot more responsive and expressive: Bela's speed and timing precision allow for natural, intuitive and immediate gestural control. Digital instrument design has never been this elegant.

The Hardware

Bela comes in two versions. The original Bela board has 8 channels of 16-bit analog I/O, 16 digital I/O, stereo audio I/O, and on-board speaker amps. We have also developed the tiny Bela Mini, by taking the most popular features of Bela and condensing them into a form factor 1/3 the size.

The Software

Bela runs a custom audio processing environment based on the Xenomai real-time Linux extensions. Your code runs in hard real-time, bypassing the entire operating system to go straight to the hardware. We have written a custom audio driver using the Programmable Realtime Unit (PRU), a microcontroller on the same chip as the CPU. This driver is capable of buffer sizes as small as 2 audio samples for very low latency, and its performance is not affected by other system load. No other embedded Linux platform can match this performance. (Read more in this publication, which describes the technical aspects of Bela in detail.)

For development, Bela lets you code the way that suits you best, and gives you the tools you need to do it. Plug in your Bela and launch our in-browser IDE, where you can write code in C++, SuperCollider, FAUST, Csound, upload PureData patches. The IDE also includes an extensive library of example projects, illustrating synthesis, sensor handling, and a range of other techniques in a variety of languages. There is also an in-browser oscilloscope which lets you visualise multiple channels of data simulteanously, without disconnecting the board - an essential tool for sensor debugging.

Who makes Bela?

Bela was born in the Augmented Instruments Laboratory, in the Centre for Digital Music at Queen Mary University of London. Bela is now developed and produced by Augmented Instruments Ltd in London, UK. Learn more about Bela’s origins on the Our Story page.

Making products with Bela

I want to make a commercial product with Bela or integrate it into an application. How do I make that happen?

The Bela team is always eager to talk to people wanting to integrate Bela into commercial products, and we’re available for consultancy to integrate Bela into applications for commercial deployment. Please drop us an email with details of your plan, and we’d be happy to discuss it.

I've made something really cool with Bela! Can I put your logo on it?

Bela’s name and logo are trademarked, and are reserved for commercial products that are produced by or licensed by Bela and Augmented Instruments Ltd.

If you’ve made something with Bela and want to use our logo, we have a logo especially for community products! Download it here. You’re free to use it on physical products, websites, in photos, or anywhere else to show that Bela is in what you’ve made.

Can I call what I've made a Bela product?

Calling something a “Bela product” or using Bela in a product name is reserved only for things made or licensed by Bela and Augmented Instruments Ltd, and cannot be used to describe unofficial product variants - this is to provide clarity about the products that we develop, endorse and support.

If you’ve made something using Bela, here’s how you can integrate Bela with your product name:

  • [ProductName] for Bela
  • [ProductName] (Bela-compatible)

Please note that we don’t authorise the use of “Bela” outside the above, and other terms (such as “Bela [ProductName]”, “[ProductName] Bela”, or “Bela-compatible [ProductName]”) should be avoided. If you’re not sure or have any questions, please drop us a line.