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.
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.
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.