https://api.armin.ba/img/9178380e-508f-491f-a4dc-250f4d9469ca/dsc-0877-web.jpg?fm=jpg&q=80&fit=max&crop=2850%2C2848%2C729%2C0

Multi Effects Guitar Pedal

Low-cost Guitar Effects Pedal Based on ARM Cortex Microcontroller

Guitar pedals are devices that change the sound of an electric guitar. The effects that come from the analog domain can be recreated digitally using digital signal processing. Op-amp buffers with filters are used before and after processing the guitar signal.

Implementation is achieved on the STM32 Nucleo platform with a STM32H7A3ZI MCU capable of clock speeds up to 280MHz. The program is developed using the STM32CubeIDE development tool. The project setup includes setting up the Analog-to-Digital converters, Digital-to-Analog converters, and Direct Memory Access.

The code infrastructure includes setting up block-based processing with double buffering. The effects implemented are delay, tremolo, and chorus using circular buffers and low low-frequency oscillators.

The project source code can be found on GitHub.

Dsc 0907 Fixed

The effects chosen for implementation are Delay, Tremolo, and Chorus.

The delay effect is a simple effect that utilizes a circular buffer, while the tremolo utilizes the LFO. In contrast, the chorus effect uses both the circular buffer and the LFO, making it a hybrid of delay and tremolo.

Dsc 0915 Web

The user interface allows the user to interact with the guitar pedal.

For example, users can turn on and off the effects unit using a footswitch. Additionally, users can switch from one effect to another using the rotary encoder (purple knob), i.e., have the multi-effects functionality. Finally, users can adjust the effects parameters such as delay time and delay feedback using the three remaining potentiometers (black knobs).

The current effect is displayed on the LCD screen.

Dsc 0882 Web

Article

cross icon