Arduino (Teensy) USB MIDI foot controller for Katana amps

Started by SteveO, February 04, 2019, 01:10:25 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

scion19801

do i need to have the midi i/o port in order to build this, or can it be added in later?  I don't really have much that uses midi and would lower the initial parts bill i need to get this rolling. I can also add the midi i/o part later down the road if i need it. The code has it in place, so all i would have to do is wire it in and be good to go.

SteveO


scion19801

cool. just got all my needed parts in my shopping basket....I think i can omitt the power supply as well as i dont currently have a pedal board or anything, so a phone charger or my 1amp/2amp battery pack should run this with no issue i hope.

how hard would it be to change the leds out for rgb and have them respond properly to the rgy of the display?

scion19801

ok all my parts that i need are ordered to build myself this unit. had to go thru ebay in order to get the usb host shield in a decent time frame. the amazon ones were all about a month out. just a heads up for those who order the parts. probably gonna build my own custom wood enclosure.

gumtown

RGB leds (Neopixel) was going to be my next 'thing' with this project, at the time.
Sort of put it away in a cupboard somewhere for the time being.

There is an open-collector 5 volt rated pin on the Teeensy LC for running Neopixel leds, but you need 5 volts to run the leds.
there is a WS2812 library to run them, and this will free up a lot of other pins used by the current leds.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

scion19801

#155
was looking a 4 lead one with common cathode, or common anode rgb leds.
my thought was to save space plus have them individually change color depending on the effect that was on, similar to the rgy on the katana head.
But i couldn't find how i would wire them into this project without messing up the current code, then there was not finding and good info on how to keep the pin use count down, but still having individual control of each rgb led. My quick search lead my to believe i'd need to add more parts into this project, such as a led driver to be able to address each color of each led independantly. Then it was saying the pwm capabale pins were the best to use on the teensy, which would require some reconfiguring of the code. i ordered just normal 5mm 5v leds to get this up and running. But may with further researching till i get my parts, look more into the neopixels or WS2812 LED's as suggested by philjynx.
Cant wait to get parts and begin....lol


On another quick note to all who download from the github site for this project. if you extract the zip, go into the libraries folder and make sure you dont have to go into another folder before you see the files. IE(C:\Users\********\Desktop\KatanaUSB_Midi_controller-master\libraries\LiquidCrystal\LiquidCrystal)..i found out when changing my arduino ide to only point to the desktop folder, i was getting compile errors and files missing. in my case i have just unziped the library files in the folder and they had all been double foldered. once i changed all of them to:(C:\Users\********\Desktop\KatanaUSB_Midi_controller-master\libraries\LiquidCrystal) everything work as expected and compiled with no erorrs.

scion19801

#156
ok so i have my controller mostly built... need to get the mini usb host wired up. display works. but a few issues.
1. when i fire it up only the first 3 leds fire. Are all 5 supposed to fire on power up?
2. when i push any button nothing seems to be working, or atleast the lcd doesnt change...

anyone got any ideas on why?
id do have the following setting the code at top:
//uncomment below to debug without the Katana connected.
#define MS3_OVERRIDE_MODE

edit>>>>>>
I got the leds straight now. Now how do i get it working so that when teensy is hooked to pc i can get some visual indication that buttons are being pressed and changes are being made? when ever i try to start serial monitor i get error, so obviously can do it that same way as arduino's

sixeight

#157
I have a test sketch for the VController. It has some  simple code to test the Neopixel LEDs.

Check here:
https://github.com/sixeight7/VController_v3/blob/master/Firmware/Hardware_test_VC_PM/LEDs.h

I keep all hardware related settings in one place, so you need some lines from here as well and adjust them for your hardware:
https://github.com/sixeight7/VController_v3/blob/master/Firmware/Hardware_test_VC_PM/hardware.h

scion19801

COOL..I'll check it out. i did finally find i was having intermittent communication issues with arduino ide and the teensy. ran a few test sketches to test leds. they all fire properly now. did a button test sketch and they all seem to function as well. had a few wire crossed on my breadboard also..lol opps. now i just need to do the modifications to the usb mini host and i believe wire a capacitor in as well for the 5v too. Then i should be all set to hook up to the katana amp for the first time. need to double check mini usb host wiring as well. Found out i also need to add two resistor to lcd that werent in the original fritzing.

felipenob

#159
First of all, awesome work!

I'm about to buy the parts, however, I still have some questions.
I don't have experience with Arduino or electronics, but I have a little bit of notion.

Can someone help me?

1. The OP said that Teensy LC can be used. What's the difference for this project? Is Teensy 3.2 really better? If I use Teensy LC am I going limited to something?

2. I live in Brazil so I don't have plenty of components available. It's hard to find the MIDI jack. I know it's not necessary, but I would like to access the features available for expressions pedals. Can I use a common P10 (TRS) jack to control the efx parameters, for example, with Boss EV-5?
I also have a MIDI to USB simple interface, which I connect my keyboard to the PC/Tablet. Is it possible to use it instead?

3. Everything that I need is in the Github page? I just need to assembly the components and upload the files to the Teensy board?

Thank you in advance!

scion19801

i would stick with the teensy 3.2. i just built one and have it working. If you haven't seen my thread, it is here:https://www.vguitarforums.com/smf/index.php?topic=26286.0.

your simple midi interface may or maynot work. I use my controller through the usb port. I left out the midi section as i have no other midi devices.

there are expression pedal input built into the controller, but from all i've read it is still a work in progress area. the trs jacks are the next things i need to wire in on my controller.

I beleieve that one of the major contributors (Gumtown) started off with the teensy LC, but he changed to the teensy 3.2.

What amp do you have, or planning to use this with?

gumtown

I am still using the Teensy LC.
You will also require a "USB Host" board which interfaces using a protocol called SPI.

I am not sure what the purpose is of your USB-Midi adapter for the project?
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

SteveO

I started with an Arduino Nano then moved to a Teensy 3.2. The last version I made is using a teensy 3.6 only because I had one lying around unused (the code as written still requires a separate USB host shield).

felipenob

Quote from: scion19801 on September 01, 2019, 08:13:23 AM
i would stick with the teensy 3.2. i just built one and have it working. If you haven't seen my thread, it is here:https://www.vguitarforums.com/smf/index.php?topic=26286.0.

your simple midi interface may or maynot work. I use my controller through the usb port. I left out the midi section as i have no other midi devices.

there are expression pedal input built into the controller, but from all i've read it is still a work in progress area. the trs jacks are the next things i need to wire in on my controller.

I beleieve that one of the major contributors (Gumtown) started off with the teensy LC, but he changed to the teensy 3.2.

What amp do you have, or planning to use this with?

Thank you so much for your help!
I'm going to build my project using your scheme. It's all I've wanted!

I also thank the others for the help.
I'll buy Teensy 3.2.

alphaminus

So I made a very very simple version of this a couple of years ago for my katana 50. I used a Teensy LC and sent USB MIDI through an old raspberry pi that is acting as a host/bridge. It has 3 buttons, one for each effect, which was very simple to implement, because I was just sending CC messages with a velocity of 0 or 100 as I toggled them. I'm really interested in adding this elegant tap tempo functionality to my simple pedal. My question is, do you know how I would, or if I could send the 2 byte sysex data over USBMidi? Just looking for some dumb syntax help.

gumtown

Quote from: alphaminus on November 04, 2019, 01:04:23 PM
So I made a very very simple version of this a couple of years ago for my katana 50. I used a Teensy LC and sent USB MIDI through an old raspberry pi that is acting as a host/bridge. It has 3 buttons, one for each effect, which was very simple to implement, because I was just sending CC messages with a velocity of 0 or 100 as I toggled them. I'm really interested in adding this elegant tap tempo functionality to my simple pedal. My question is, do you know how I would, or if I could send the 2 byte sysex data over USBMidi? Just looking for some dumb syntax help.

The code in the controller measures the Tap time of a button press, then calculates a delay value from BPM to milliseconds, and directly manipulates the Delay 'time' parameter via a sysx message which requires 16 bytes per message.

Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

alphaminus

Right, I'm just wondering if you know how to send that sysex with USBmidi.

gumtown

Quote from: alphaminus on November 10, 2019, 12:00:35 PM
Right, I'm just wondering if you know how to send that sysex with USBmidi.

Yes,
The source code is a few pages back, I think this was the last version I posted

https://www.vguitarforums.com/smf/index.php?action=dlattach;topic=25185.0;attach=18843

To do an Arduino routine to measure a switch input and calculate Tap time into delay time, then convert the number into 2 x byte 7bit hex,
then a midi send routine which encapsulates the sysx header, machine ID, data address, delay data, continuously calculated checksum, and sysx footer,
you are looking at about 150~200 lines of code.

The actual USB-midi send routine in contained in a 3rd party Arduino library, so sending midi and sysx is no different to using any other Arduino midi port function.
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/

Bauerbyter

He Guys,
your work is AWESOME! Thank you for all that afford.
I bought a 100 MK2 (really like it)  and the only thing i am not liking is "MISSING MIDI"! I am a programmer and also like to tinker around with arduino.
Are you guys interested in making your Code into a Library? so more people can use that easily and can write their own code for custom pedalboards ( I for myself, building a Lasercut Midiboard with a nextion display and some WS2812).
I can do it, but would need some help for it :-) (I mean the library)

Idea is to just make something like:
Katana katana;
katana.changeChannel(1);
katana.read(..)
katana.write(EQ,4,100);.....

and so on, so that the handling of connection and stuff is happening there and you just have to use it.


SteveO

I can't speak for Gumtown but as far as I'm concerned you do can anything you'd like with the code on my GitHub page. I just started a new job and don't have any time to spare on much of anything right now.

Bauerbyter

Thanks I will try to create something! Wish you lots of fun in your new Job!

jpag

Hi,

Been lurking for a while here.  Thanks for all the contributions to this stuff; really neat.

I finally got all the parts to build something like this.  Here's a photo of my build so far:



I'd followed along with this thread, used a teensy, everything worked good after some fiddling.  One thing that I added that I wanted was the name of the patch I was on.

Additionally, while I had it on my bench, I figured I can configure it to be a general purpose MIDI controller for use with stuff like BIAS FX.  So far so good.  Not fully complete on the enclosure, but plan to do the sides out of maple and maybe the bottom from lexan.

Once I get the chance to tweak the code to my liking, I can try to post it or answer any questions people may have, but largely I just wanted things to be more like a pedal board with actual pedals.  As such, I'm going to take a stab at mapping all parameters similar to the VController, but hoping to make it very intuitive.  From the photo, you can see each footswitch has a small OLED display, LED indicator, and rotary encoder that's also a push button.  My control philosophy is to have the footswitch as an on/off, a preset parameter assigned to the rotary encoder so when you want to quickly tweak the level or whatever, you can just click it (to avoid accidental adjustments) dial it super quick and you're jammin.  Then, you hold the button on the rotary encoder to edit any parameter you want and set that to the default action for the encoder.

Additionally, I have KatanaMan Pro, an excellent android app that lets you control the katana from your phone or tablet and get into the sneaky settings.  This app is cool, but it also has a neat feature that enables bluetooth control for on/off of the footswitches and patch up/down.  This prompted me to expand the funtionality of my Katana Foot Kontroller further by adding a bluetooth module that connects to my phone for control.  This is necessary since you can only connect one device to the katana usb on the back.  So, I can now use my phone and KatanaMan Pro to access a massive library of tones I've downloaded from Juca Nery, others from various sources, etc. and write them to the katana; i could then ditch the phone connection and just used the footswitch in standalone mode; and third, can use it as a general midi controller for something like BIAS.

Anyway, thanks for your contributions again and hope I can pass along something that I learned and developed from this thread.

Cheers,
jpag

gumtown

Great job, well done !!
Would like to see some photos or video or it in action if you could,
cheers !!
Free "GR-55 FloorBoard" editor software from https://sourceforge.net/projects/grfloorboard/