micknilsson
Published © GPL3+

USB MIDI expression pedal for DAW VST effects

Expression pedal using MIDI CC messages over USB to control compatible Digital Audio Workstation VST guitar effects like wahwah pedals.

IntermediateFull instructions provided4 hours4,930
USB MIDI expression pedal for DAW VST effects

Things used in this project

Hardware components

Teensy LC
The cheapest micro-controller with class-compliant USB MIDI capability
×1
M-Audio EX-P Expression Pedal
Analog expression pedal to be converted to digital USB MIDI
×1
USB A to Micro-B Cable
Digilent USB A to Micro-B Cable
Any USB-A to Micro-USB cable of your preferred length to connect the pedal to your computer
×1
Cable Tie, Belt Ty™ In Line
Cable Tie, Belt Ty™ In Line
×1

Software apps and online services

Arduino IDE
Arduino IDE
The Arduino IDE supports the Teensy LC with support files installed by Teensyduino
Teensyduino add-on for the Arduino software
This installs the required files to the Arduino IDE to enable Teensy LC support
MIDIcontroller software library and example code by joshnishikawa
MIDIcontroller library and MIDIpot example is all that is required
Flicker software library by joshnishikawa
For capacitive touchscreens, but needs to be included in order for the code to compile

Hand tools and fabrication machines

Soldering iron (generic)
Soldering iron (generic)
Solder Wire, Lead Free
Solder Wire, Lead Free
Mini Side Cutter, 120mm Length with 25mm Jaw Capacity
Mini Side Cutter, 120mm Length with 25mm Jaw Capacity
Multitool, Screwdriver
Multitool, Screwdriver

Story

Read more

Schematics

Schematic of finished modifications

Code

MIDIcontroller Library

A library for creating Teensy MIDI controllers

MIDIpot example code

Used to generate MIDI CC messages over USB corresponding to the position of a potentiometer. I changed the example code line 3 to use MIDI channel 1, and line 10 to use CC number 11 (which is the standard CC number for Expression). Don't forget to install the MIDIcontroller and Flicker libraries. The documentation states Bounce2 and Encoder are also required, but they are for the other examples. For MIDIpot they are not needed.

Flicker library

Really for capacitive touchscreens, but the code will not compile without this library being installed.

Credits

micknilsson

micknilsson

1 project • 0 followers
Thanks to joshnishikawa.

Comments