DIY Custom MIDI Foot Controller

Started by Blackaddr, January 19, 2017, 11:41:13 AM

Previous topic - Next topic

Blackaddr

I've actually converted my entire rig over to digital modelling, so I needed one helluva MIDI Foot Controller. Unfortunately I wasn't able to find what I wanted on the market, so I set about building my own.



Here were my requirements:

- atleast 3 or more foot switches for sending MIDI CC (to change effects on and off)
- two foot switches for sending program/preset changes.  I.e.  previous/next.
- a couple knobs*
- a graphics display that doesn't look like 1990s technology
- the abilty to program labels into presets.**
- the abilty to configure the device (and labels) using a modern app on my phone.***
- supports an external footswitch or expression pedal
- supports latching or momentary switching

The showstoppers:
* - I have to have knobs. I'm trying to seamlessly replace a complicated pedalboard. I need knobs to tweak effects just like on the real pedal. Why the hell do MIDI foot controllers have way too many switches, but ZERO knobs!

** - I will not remember what switch '2' on preset '8' does.  I want the display to use real names for the preset (like song names) and some kind of label that tells me what the switch does, like "DY" for delay.  I do not want to use a piece of paper and a secret decoder ring to figure it out in the middle of a show.

*** - I want to setup and label all my effects and preset names according to my setlist on my phone or computer then just program it to the device. I'm not gonna use that 'spin-the-knob-and-set-one-letter-at-a-time' to enter names.

It took about 2 years of hardware and software design but it's finally done. I've been using it every week with my band for about 1.5 years, from first functional prototype to final design.

What do you guys think?

Here's a picture of three sample screens from the device on the left, and what the app looks like on the right when you build a setlist.  The EFX Control screen sets the preset name at the top (in this case it's my 'default chorus' preset, as well as showing the value of all three knobs, and has indicators for the four programmable switch settings (not all four are shown in this example).  While you are turning a knob it switches to a circular graphic with indicator to give the feel more of tweaking a knob, and less setting the time on a digital clock.


It has:
- the two stomp switches to navigate and activate the next/previous preset. 
- central knob functions as a toggle between Preset Navigation and EFX Control modes/screens.
- in EFX control mode both stomp switches can control effects, plus 2 of the 3 knobs also have built in push buttons for toggling additional effects.  All 3 knobs are available to control effects as well like volume, gain, etc.
- an external jack for either an expression pedal or an external footswitch
- all stomps, pushbuttons and external footswitch can be configured for latching or momentary operation.
- Preset Builder application runs on Windows or Android
- programming and backup of presets is done over the MIDI cables themselves.

I've also got a new article and blog post about how this MIDI foot controller integrates into controlling my entire gigging rig.

Build A Live Software Rig http://blackaddr.com/articles/

Live Sound - Man In The Box http://blackaddr.com/2017/01/13/live-sound-man-in-the-box/
Blackaddr Audio
Digital Modelling Enthusiast
www.blackaddr.com

markseel

#1
Wow - really awesome.  And it looks great!  :D

Does the MIDI input get sent to the MIDI out (pass-through)?

I could control this with your controller:
http://www.diystompboxes.com/smfforum/index.php?topic=114354.80

The FlexFX board can do USB MIDI to Serlal/UART MIDI out.  So one could user a PC host to send MIDI configuration commands to your controller via USB.  And your controller could then send switch-invoked MIDI commands to the FlexFX board while playing - and those would be reflected back up to the PC (if desired) via USB MIDI.

Blackaddr

#2
Quote from: markseel on January 19, 2017, 11:47:57 AM
Wow - really awesome.  And it looks great!  :D

Does the MIDI input get sent to the MIDI out (pass-through)?

I could control this with your controller:
http://www.diystompboxes.com/smfforum/index.php?topic=114354.80

The FlexFX board can do USB MIDI to Serlal/UART MIDI out.  So one could user a PC host to send MIDI configuration commands to your controller via USB.  And your controller could then send switch-invoked MIDI commands to the FlexFX board while playing - and those would be reflected back up to the PC (if desired) via USB MIDI.

The Pass-THRU capability is actually a configurable option in the App!

The way the App works is you run it on Windows or Android and it uses the driverless USB MIDI Class Compliant protocol to send out and receive configuration data via USB MIDI.

If you are doing any software based DSP processing on a computer/laptop/tablet, you'll likely already have a USB Audio Interface with MIDI on it which can be used.  If you check out the articles above, you'll see I use a Presonus 22VSL for this purpose.

However, if you only want to use it to control a hardware unit with MIDI, you probably don't own a USB audio interface, so you would need a USB-MIDI dongle to program the box from your computer/tablet.

Some questions about your FlexFX...
Does your FlexFX (very nice project btw) use pure USB Audio Class Compliance for audio and midi data? 
Do you intend to add standard MIDI DIN connections in the future?

I think a MIDI foot controller would be a great way to make your DSP box feel like a real pedal but it would need a proper MIDI IN.  I noticed you alluded to this in your first few posts in your thread (that the board has a proper 3.3V UART but needs some extra circuitry to make it MIDI compatible of course).

Blackaddr Audio
Digital Modelling Enthusiast
www.blackaddr.com

markseel

Quote
The way the App works is you run it on Windows or Android and it uses the driverless USB MIDI Class Compliant protocol to send out and receive configuration data via USB MIDI.
Oh it already supports USB MIDI!  OK, nice.

Quote
Does your FlexFX (very nice project btw) use pure USB Audio Class Compliance for audio and midi data? 
Do you intend to add standard MIDI DIN connections in the future?
I'll limit the board to 3.3V serial TX/RX for MIDI to keep it simple.  It has those signals routed to the header in case folks want to either connect it directly to another micro controller or add proper MIDI interface circuitry for a DIN connector.

Quote
I think a MIDI foot controller would be a great way to make your DSP box feel like a real pedal but it would need a proper MIDI IN
Yeah I totally agree - a MIDI foot controller would be great to have.  Sort of separating effects processing from effects control (could be a MIDI foot controller like your unit, MIDI from a computer, BLE?).

Blackaddr

#4
Uploaded the manual and Windows software application to my website.  The manual has lots more details and screenshots of how the foot controller works.


Manual

Windows Preset Builder Application
Blackaddr Audio
Digital Modelling Enthusiast
www.blackaddr.com

Ice-9

Wow, I had a look over at your website and this looks really great, and what a name, Blackaddr Audio.  I love it.
www.stanleyfx.co.uk

Sanity: doing the same thing over and over again and expecting the same result. Mick Taylor

Please at least have 1 forum post before sending me a PM demanding something.

Blackaddr

Quote from: Ice-9 on January 27, 2017, 05:17:03 PM
Wow, I had a look over at your website and this looks really great, and what a name, Blackaddr Audio.  I love it.

Thanks! Getting it up and started was a lot of work having never done web programming before! 

Planning to write some more articles and shorter blog posts over the next few months for DSP and MIDI sutff.
Blackaddr Audio
Digital Modelling Enthusiast
www.blackaddr.com