• General
  • few beginner questions (groovebox)

Hi,

I have this ambitious project to build my own groovebox, with stepsequencer, similar to the Elektron devices.
I’ve already started learning Pure Data, but I have a few questions about whether Bela would be the right option for my project.

I would like to attach some rotary encoders and buttons to Bela. Do I need programming skills for that, or can everything be done with just Pure Data?
In general, do I need any programming skills to use Bela?

Is there a way to increase the number of digital inputs on Bela? I would need at least 30-40 buttons and probably 10 rotary encoders.
Also, how would I be able to communicate with buttons and encoders and bela. Would it work through midi data?

For my project, would you recommend using Bela, or would something else be more suitable?
My biggest worry so far is that the bela community seems pretty small in general?

Thanks a lot for any help in advance!

    if Pure Data doesn't count as programming, then you don't need programming :-)

    privatbert Is there a way to increase the number of digital inputs on Bela? I would need at least 30-40 buttons and probably 10 rotary encoders.

    One way is to use the Bela cape in combination with the multiplexer capelet, which allows to repurposes some or all of the analog inputs to provide up to 64 analog inputs, which you can then use for digital or analog signals. Alternatively, using a GPIO expander such as the the TCA9555. There is also a way of using more of the on-board pins as digitals (see https://learn.bela.io/using-bela/technical-explainers/other-uses-of-gpio-pins/), although you are more limited in the number of pins you can actually use by pins used on board. I believe on Bela that's approx 17 extra channels, while on BelaMini that's 13. This would also need some C++ work that I'd be happy to do.

    So, long story short: it depends on the actual number of channesl you need.

    privatbert Also, how would I be able to communicate with buttons and encoders and bela. Would it work through midi data?

    For digital inputs, see the examples PureData/digitalin https://github.com/BelaPlatform/Bela/tree/master/examples/PureData/digital-in

    For encoders, it may depend on the model and performance. You could use two digital pins via Pd or implement something more accurate in C++ (I can do that). Still, you'll need two pins per encoder.

    So if you are looking at 40 buttons and 10 rotary encoders, that's 60 input channels and you only have two options, really:

    • use the multiplexer capelet on top of a Bela cape
    • get as many GPIO expanders (e.g.:TCA9555) as needed, up to 6.

    Hey giuliomoro.

    Thank you so much. That all sounds promising 🙂

    May I ask you one more question?

    Lets say I hook up a display with bela. How would I be able to visualize my pure data patch on it? Am I able to lets say set the "graph on parent" size to my display size so that I would be able to just see the interface of my pure data patch?

    The type of displays we support are typically small-ish OLEDs (e.g.: SH1106 or SSD1306, see here for a list of supported parts). Communication with a PD patch can happen via OSC, as per this Pd example, there you'd typically send to OSC endpoints /waveform or /parameters to visualise levels of parameters, or /display-text to just print some text.

    A longer writeout on the topic is here.

    You can in principle connect an HDMI screen to Bela (only the "big" Bela board, with the BeagleBone Black), but I've never tried that. Rendering graphics to run in there may require a lot of overhead (do you need to run a GUI for the whole linux? I don't know), so I wouldn't recommend that.

      Thanks a lot for your help again.
      128*64 is totally fine and all I would need. With OSC I guess I would be only limited to text. But I would at least need some sliders or custom dials. I already did quite a bit of digging and couldn`t find a project which gets pure data GUI on an OLED. Seems like its not that easy overall :

        privatbert I guess I would be only limited to text.

        As mentioned:

        giuliomoro /waveform or /parameters to visualise levels of parameters, or /display-text to just print some text.

        Here's examples of /waveform (the 3 displays to the left), which can be useful to visualise many parameters without text and /parameters ( the one on the right) that shows fewer parameters and their names.

        https://forum.bela.io/d/1668-i2c-multiplexer-for-oled-s/63

        privatbert . I already did quite a bit of digging and couldn`t find a project which gets pure data GUI on an OLED. Seems like its not that easy overall :

        Yeah I don't think that's doable or even useful: it's complicated to cram computer screen gui on such a small display. The method above should work well enough.

          giuliomoro Yeah I don't think that's doable or even useful: it's complicated to cram computer screen gui on such a small display. The method above should work well enough.

          Yea makes sense actually. Thanks again for your help on this. 🙂