Audio Effects Processor for DSP Course - Foxglove

What is your project about?

Meet Foxglove—the pet name I’ve given to an audio effects processor PCB designed to teach students the basics of Digital Signal Processing in an interactive and engaging manner. From a features perspective, it offers a high-impedance interface to electric instruments, such as electric guitars, basses, violins, etc., four expression_ pedal inputs, auxiliary audio input to play along with backing tracks, rotary encoders and an OLED screen for a basic user interface, and a beefy Teensy 4.1 MCU to run all the audio effects you can dream of. The hardware is designed to be as cheap as possible to source, and fully hand-solderable with only through-hole components.

More importantly however, Foxglove is designed to be a teaching tool. With the help of Foxglove, students can learn about sampling and reconstruction theory, decimation and interpolation, digital filtering (IIR, FIR, CIC, etc.), non-linear operations on signals, oversampling, dither + noise shaping, and a bunch of other more advanced topics.

And at the end of class, you’ll still have a cool, useful piece of kit to play around with!

Design files, firmware, and course materials will be released fully and freely once the project is completed!


Why did you decide to make it?

The idea for Foxglove was born out of disappointment—disappointment that my university, MIT, was no longer offering a signal processing class I had been looking forward to for several years. To be honest, I wasn’t fully satisfied with MIT’s offering of signal processing courses more generally—they were too simple, too abstract, or didn’t cover the subject matter I was interested in.

I wanted to change this, and offer a “Crash Course in Digital Signal Processing” during MIT’s one-month winter term. This course aims to cover, in brief, core signal processing ideas I’d hope to have learned sooner. And instead of just a dry lecture on a chalkboard, the course aims to be engaging and interactive—taught with a cool piece of hardware students could keep.

The idea for a fully-custom DSP-based guitar amplifier had been floating around in my head since the fall of 2020. Fast-forward to today, and I realized this would be a perfect project with which to teach the fundamentals of real-time digital signal processing. The hardware wouldn’t be too complicated, and would be possible to implement cheaply with only through-hole components—meaning students could solder their own boards and take them home.  

Over a long weekend, I converted the doodles in my notebook into a fully completed schematic and board layout. More work is in progress and I have high hopes!

How does it work?

A complete answer to this question is something we’d discuss in the DSP crash course :)

In brief, Foxglove’s first biases the input signal from the instrument around VDD/2 (1.65V) and buffers it with an op-amp stage. It then amplifies the signal and filters it to take advantage of the MCU ADC’s full dynamic range while minimizing high-frequency aliasing. Foxglove’s MCU, a Teensy 4.1, then digitizes the signal with its internal 12-bit ADC, applies digital effects, and outputs this processed signal through its Medium Quality Sound (MQS) peripheral. The signal out of the MQS peripheral is a dithered + noise shaped PWM signal with high frequency content. Foxglove then filters this MQS signal with a 3rd-order multiple-feedback Butterworth reconstruction filter (same as the input anti-aliasing filter). Finally, Foxglove further buffers the signal, volume adjusts it, mixes it with a stereo auxiliary input, AC couples it, and sends it out over its 3.5mm output jack.

Foxglove also hosts a basic user interface in the form of five rotary encoders and RGB LEDs, a cheap 1.3” I2C-controllable SH1106 OLED, and four expression_ pedal inputs (treadle potentiometers or stomp switches), to control DSP effect parameters.

Foxglove is powered from USB through the Teensy’s onboard regulator. It should be able to accept power from a power bank for maximum portability.

Full schematics are available at the provided GitHub link. Firmware will be released upon project completion!


How PCBWay Can Help

I have used PCBWay as a PCB fabricator for industrial, research, and hobby projects, and have full confidence in their ability to produce high-quality boards at reasonable prices. I’d order boards from them in a heartbeat if I had the means.

However, I’m offering this course independently from MIT and can’t receive funding for it as a result. Generosity and support from companies like PCBWay are needed to make this course possible. Help me bring Foxglove and an interactive, engaging DSP course to students and the world :).

When I release design files, firmware, and course materials freely, anyone can do the same too!

 

Apply for sponsorship >>
13800+ Projects Sponsored
Dec 02,2023
1,463 viewsReport item
  • Comments(2)
  • Likes(2)
Upload photo
You can only upload 5 files in total. Each file cannot exceed 2MB. Supports JPG, JPEG, GIF, PNG, BMP
0 / 10000