Open-source effects pedal by Lehel Török
Bela gets transformed into a powerful and programmable pedal designed for guitarists
In this post we look at the latest project from Lehel Török, currently a Sound Design student at the Institute for Electronic Music and Acoustics in Graz. They created an slick looking and powerful programmable open-platform effects pedal based on our Bela Mini.
The objective of this project was to create a customizable guitar effects pedal using Bela’s embedded computing framework. The pedal allows guitarists to design and run their own effects on dedicated audio hardware.
Custom Extension PCB in Pedal Form
To achieve this, an extension cape for Bela Mini has been developed, integrating essential components such as rotary encoders, switches, and audio inputs/outputs onto a single printed circuit board. Additionally, a software framework has been created using Pure Data, providing all the necessary functions for utilizing the device.
The circuit board was designed using KiCad, and manufactured with Eurocircuits. The cape is conceived as a stompbox incorporating four rotary encoders, each equipped with a switch, as well as two footswitches, all of which can be assigned based on personal preferences.
Guitar Pedal Components
It incorporates a 6.3 mm mono jack socket for audio input and two identical sockets for audio output, a 3.5 mm stereo jack socket for headphones output, and a 6.3 mm stereo jack socket for expression pedal input. To provide visual feedback for various modes, changes, and the status of each rotary encoder, I incorporated a bicolor LED and an OLED screen into the board. Additionally, to ensure compatibility with pedal board power supplies, I included a DC Barrel Jack that enables external power (5V/100mA) using 2.1 mm or 2.5 mm plugs with a negative polarity.
The Sound Generation
The software which runs on the pedal was created using Pure Data. You can download the patches on Lehel’s Github. Delay_Chain is an example project that serves as a demonstration of utilizing the effect_cape in a multi-effect configuration and provides all the necessary frameworks to operate the hardware. With the exception of a custom render.cpp file dedicated to reading the values from the rotary encoders, all software components were developed exclusively using Pure Data.
The audio effects included are as follows: (their order is interchangeable in the _main patch):
- [scanner] Hammond’s Scanner Vibrato simulator with an adjustable rate, depth, and mix.
- [tapedelay] Tape delay simulator with variable-speed tape and saturation.
- [freeverb] Schroeder reverberator implementation using the Freeverb algorithm.
- [looper] Looper with overdub capability and clock synchronized to the first layer.
The Github repository also includes code for executing all the hardware functionality: reading from the rotary encoders, displaying information on the screen, moving between patches, controlling parameters of the effects from a phone using OSC messages over wifi. The project is released under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License, so if you want to build your own version, you can get all the files from this repository.
About Lehel Török
Being a Sound Design student at the Institute for Electronic Music and Acoustics in Graz, this project holds significance as it forms an integral part of my Master’s thesis. The primary objective of my thesis is to assess the feasibility of utilizing Bela for developing real-time guitar effects, while also conducting a comparative analysis with other reprogrammable effect pedals constructed on similar platforms.
I was amazed by the remarkable tutorials and invaluable support offered on the Bela platform, which enabled me to successfully accomplish this project. I would like to sincerely express my gratitude to the Bela team for their outstanding contributions. Additionally, I extend my thanks to the user community for generously sharing excellent code examples, which serve as a solid foundation for all of us to build upon.