Bizaro V-Foot Controller

Started by jpag, July 30, 2020, 01:14:06 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

jpag



Hi All,

Lurked for a while and figured I'd throw it out there to show what I've created, but also to see if there's interest in knowing more about what I did and if I can help/inspire anyone to tinker and try something of their own.

I saw the amazing demo video of the V-Controller and wanted to build it immediately.  Had intentions of doing it, but it was a little daunting at first and I find whenever I see someone using Eagle and designing their own boards, I get anxious.  I've done a few pretty complex boards in the past, but haven't done it in so long that I wanted to try something easier (connect arduino using jumpers to x -- and of course, this isn't very robust and clean, but meh).

I saw another post about some simple midi controllers that accomplish on/off of footswitches and patch up/down, etc., but that wasn't as versatile as I wanted.  So I took to the drawing board looking to build a standalone controller with simple control (arduino/teensy type stuff only, no raspberry pi or anything, mainly due to programming and startup time) and with a Goldilocks amount of functionality and complexity, but super simple front-end.

I've attached a photo of what I made.  Here's a bit about how it is intended to function (not complete, but all tested and fully functional):

Each footswitch is like a struct or object in itself; it has a footswitch, led indicator, OLED display, and rotary encoder with integrated pushbutton.  It has three main uses: 

First, as a standalone controller for the katana. 
This is strongly based on simple control and a lot of the development from this forum and alike.  It uses the sysex info, a modified modified MS3 library (the original MS3, modified by the teensy usb katana controller thread, then I modded that one), and some other stuff from the teensy usb midi thread to have patches listed in the top row of footswitches, fx control on the bottom row, and bank up/down on the right.  The fx control is intended to be like a real pedal, on/off with the footswitch, indicator LED, then the OLED shows the type of fx, also the subtype, i.e., DRIVE, TUBESCREAMER, and a fixed parameter to adjust on the fly.  This is where it gets into some functionality.  The rotary encoder is preset to control the parameter you want by default.  Want to tweak the drive or level quickly, click the encoder, rotate to dial it in, click it again to back out (the click is just to eliminate unwanted adjustments if your foot hits the encoder or something).  Then, if you want to tweak a different parameter or just sculpt the fx or amp or whatever, you hold the encoder button to edit the deeper settings.  Rotate through to the parameter you want, click to select, tweak, click to back out to the parameter list, etc.  You can also change the "default" parameter you're adjusting by longpressing in the parameter section (tried to make it very intuitive).  That's about it for the standalone katana controller.

Second, I've added a bluetooth module so it can talk to my phone.
In this case, the phone is connected to the katana and running KatanaMan Pro -- an awesome app (no affiliation).  KatanaMan Pro is a nice editor for an android phone or tablet that allows me to more easily get into the settings, write patches to the katana from my cloud drive, or dial things in.  The functionality of the foot controller is simple in that it has a three-way switch to go from standalone to android-mode to midi controller mode.  Switching it from standalone to android mode just tells the displays to be hard coded to say their respective settings as defined by the limitations of KatanaMan Pro.  KatanaMan Pro can use bluetooth keyboard strikes as toggles for the fx or up/down patches.  So I'm just hard coding DRIVE, MOD, FX, DELAY, REVERB to the bottom row of footswitches and OLED displays so I can turn things on and off by sending keystrokes to KatanaMan Pro via bluetooth.

Third, I can use it as a standalone midi footswitch like midi commander, but with 10 displays and a rotary encoder that I could also use to adjust parameters in something like BIAS FX or whatever.

It's not fully complete and polished, but all the functionality is working and I just need to make some time to finish it up.

If you have any specific questions or anything, I'll do my best to answer.  If there's a good amount of interest, I could maybe put more detail and list some components and stuff.

The main controller is a teensy for sending the sysex, but I added an arduino due as the I/O module since there are quite a few digital I/O and it was just easier when looking at the full functionality of the foot controller.

I wanted to say thanks to all the contributors and content as that's where I drew my inspiration and got a lot of help with the programming... although there were hours of tweaking to get things working still.

Thanks and regards,
-jpag


sixeight

Great to see your progress. Would love to see a short demo of its functionality. And do share your code, so others can draw inspiration from your efforts.