The Multiplexer is an add-on for Bela that expands your analog inputs from 8 to a massive 64.
This article explains the function of the Multiplexer and provides instructions for using it.
Please note that the Multiplexer is only compatible with Bela, and is not compatible with Bela Mini.
Table of contents
- About the Multiplexer
- Tech specs
- Setting the number of channels in the IDE
- Pin numbering in software
About the Multiplexer
The Multiplexer is an add-on accessory for Bela that expands Bela’s 8 analog inputs into a massive 64.
A multiplexer is a device that combines several analog or digital input signals into one line. The Multiplexer provides this function for Bela’s analog inputs, and combines up to 8 inputs into each of the 8 analog input channels.
The Multiplexer can expand the 8 analog inputs to:
- 16 analog inputs (8 inputs x 2)
- 32 analog inputs (8 inputs x 4)
- 64 analog inputs (8 inputs x 8)
The number of inputs is configurable in the IDE in the Settings tab.
Analog sample rates
All 8 of Bela’s 8 analog inputs are sampled at 22.05kKz, or 22,050 times per second.
When the multiplexer is added, the multiplexed signals on each channel are sampled consecutively. This means that when multiplexing, the sample rate for each input channel is reduced:
- 16 inputs: Sample rate 11025Hz
- 32 inputs: Sample rate 5512Hz
- 64 inputs: Sample rate 2756Hz
With the maximum number of inputs (64) each channel will be sampled 2756 times per second.
Setting the number of channels in the IDE
Settings expand the
Capelet Settings section. Under the option
Multiplexer capelet, select the number of inputs in the dropdown. The choices are 16 channels (8 inputs x 2), 32 channels (8 inputs x 4), and 64 channels (8 channels x 8):
Pin numbering in software
The multiplexer capelet pins are labelled using a x.y notation, where x is the analog input channel and y is the multiplexed input on that channel. You will always use the eight analog input channels (so x always goes from 0 to 7).
When using 16 inputs (multiplexing 2x), y will be 0 or 1, e.g.:
0.0 0.1 1.0 1.1 ... 7.0 7.1
Or for example when using 32 inputs (multiplexing 4x), y will be one of 0, 1, 2, 3 e.g.:
0.0 0.1 0.2 0.3 1.0 1.1 1.2 1.3 ... 7.0 7.1 7.2 7.3
We provide a couple of examples which come in the IDE and give further information on how to work with all these analog input channels.