Proto Pedal Example: Programmable Digital Pedal
The Teensy 3.2 is a small board built upon a powerful microcontroller, the Freescale Kinetis K20. It can be overclocked to 96 MHz, and features the Cortex M4 instruction set, which lends itself to signal processing tasks.
The Teensy is Arduino compatible, and programmable via a USB connection. If you've used any Arduino-based board, you're already partway there.
To help take advantage of the signal processing instruction set, the Audio Board adds a 16-bit stereo audio ADC and DAC.
Best of all, you don't need to be a signal processing guru to get started with the audio board. Instead, there's a web based editor that lets you start building the signal processing in a drag-and-drop, patchable GUI. To get started, you assemble the desired processing blocks in the GUI, then cut and paste a snippet of code into an Arduino sketch.
We're going to assume that the reader is familiar with Teensy and the Audio framework. If you need some additional background, there is a guide to getting started with Teensy. PJRC have also prepared a detailed tutorial on the Teensy Audio environment.
In Pedal Form
What were going to do in this project is pair Teensy Audio with the Proto Pedal, resulting a reprogrammable digital guitar pedal.
Before we begin
This is a complicated circuit! It involves a number of different types of wiring -- analog, digital, and power circuits are all included. If you're new to building guitar pedals, this might not be the best starting point.
Second, the noise floor performance of the circuit leaves something to be desired. There's a fair amount of digital crust that the authors have been struggling to remove. If you're a master of noise reduction in mixed-signal systems, we'd love for you to take a closer look! If you find things we have missed in our haste, please inform us using the comments link in the menu to the right, and we can update this guide.
Finally, if you like the idea of this project, but want ready-made hardware, you might see if you can track down the old Line 6 ToneCore development kit.