Это видео недоступно.
Сожалеем об этом.
DIY MIDI Guitar Footswitch with Arduino
HTML-код
- Опубликовано: 14 авг 2024
- Part 2 of my DIY MIDI guitar footswitch build. In this episode I cover everything from design and component choice, to building and coding. This is my second arduino-powered MIDI controller, and pretty easy to do - and much cheaper than buying one!
Stay tuned for the next episode where I'll talk all about how I use it in Reaper - my own unique routing system for instant tone switching that works with any plugin, and any other electric or digital instrument!
If you want to make your own, here is the exact code I'm using. You can change up the pedal design fairly easily, but be sure to set up the code for your own pedal!
drive.google.c...
*UPDATED CODE* Thanks to Michael Fischer for setting up an LED Array, this code works the same, but is a little neater and easier to expand.
Version 2.0 here: drive.google.c...
Parts used:
Enclosure: lovemyswitches...
Switches: lovemyswitches...
Input Jacks: lovemyswitches...
Arduino Uno: amzn.to/3lpkqUA
LEDs: amzn.to/3A92im5
Pedal Toppers: amzn.to/3ymPDv1
Breadboard Wire: amzn.to/2TOsjaz
0:00-1:46 About/Demo
1:46-3:44 Design
3:44-4:26 Arduino
4:26-5:56 Build
5:56-8:06 Wiring
8:06-11:18 Code
11:18-12:56 Final Thoughts
#Arduino #MIDI #Guitar
Come hang out on the Discord and download my free IR's: / discord
If you want to help support this channel, buy my music on bandcamp!
____________________________________
nick-leonard.b...
myopicdc.com/
/ nickleonardband
/ myopicband
Nice video! I'm in the process of building a similar enclosure. My plan is to do what you did here and also have a bunch of loops that i can select and have a physical pedal in each loop and therefore i could use different physical overdrives with different amp modelers/pluggins in my DAW.
In your video you said at one point that in the code you use a bunch of if/else statements and that you would welcome alternatives to that... For that type of scenario it's often better to use a Switch (case) statement, the reason being the value of the "case" will be evaluated first and the branching will be made in regards to that, vs the if/else method, every statement will be evaluated in the order that they have been written until a match is found, so the last one would take more time to reach. If you choose to use a Switch statement, don't forget to include a break at the end of each case.
the syntax would be something like this:
switch (i) {
case 0:
digitalWrite(BU1LED, HIGH);
digitalWrite(BU2LED, LOW);
digitalWrite(BU3LED, LOW);
digitalWrite(BU4LED, LOW);
digitalWrite(BU5LED, LOW);
digitalWrite(BU6LED, LOW);
break;
case 1:
digitalWrite(BU1LED, LOW);
digitalWrite(BU2LED, HIGH);
digitalWrite(BU3LED, LOW);
digitalWrite(BU4LED, LOW);
digitalWrite(BU5LED, LOW);
digitalWrite(BU6LED, LOW);
break;
(...)
default:
// statements
break;
}
@@lpblewis sounds like a cool project, and thanks for the code idea. Another commentor helped clean it up too, the current code in the description is neater than the video
Nice video, thanks for the content! For the input jacks reading garbage data when not connected, I would suggest using switched stereo jacks, this way the tip and ring can be both connected to ground when there's nothing plugged. I think that would solve the issue. Cheers!
That's a great idea!
I like your Project and i have an idea for a small code-improvement. Define your LEDs as Array
byte BU_LED[NUMBER_BUTTONS] = { 8, 9, 10, 11, 12, 13 };
In the setup make a loop for initalisier the LEDs:
for (byte n = 0; n
Thanks, Michael! Took a couple tries to get everything in the right place, but it works perfectly now. Will be adding the new version in the description. I have the best viewers :)
i dont really understand. but i think what you're trying to say is something very informative. do you mind to download the codes and edit it. i think i can understand more when i see the codes
@@isaackimono8384 Nick has update the Code. See Version 2.0 in the description.
@@Michael_Fischer thak you for letting me know, wish me luck for this project 🤘🏻
A bit late .....but when I use this code the LED switches on....but when I push the button again it doesn't switch off....any ideas what could be wrong? (I have not changed antyhing in the code....)
BRUH, Thank you. I'm a tinkerer who just got back into playing guitar after about 10 years. I've been trying to find a way to use an expression pedal with my computer for my amp sims pedal boards and such, but all my options were adapter boxes that cost like 100 bucks, or a keyboard that'd take one over MIDI. I was worried this wouldn't do expression at first, so glad to see it does as well!
It does it all! Of course, parts and an exp pedal will run about 100 too, but if you have the pedal the build was around 60 for me, probably could be even cheaper
Nice. I built mine to control PA600 arranger keyboard .16 buttins. 5 to select key signature. 7 chord changes (I,IV,V,II,ii,vi,iii) 4 rhythm variations, ending, fadeout, and inteo.
I can sing and guitar while controlling backing tracks.
That's awesome!
Can wait the project with add switch for bank selector,
Cool project.
Depending on the unit you use it with, you could easily modify the code so two buttons are a particular CC or PC command
The expression pedal causing issue... You can get jack sockets that are switched, so that when you remove the jack it makes a connection. You could add that switch to another pin to turn it on and off
HI.
This is a great project.
I challenged this.
I modified the source a bit and it worked with Zoom MS70 CDR.
I stopped using LEDs. Because the second LED (D9) didn't light up.
Zoom MS70CDR is equipped with a display, so it doesn't matter if you don't have an LED.
Thanks for sharing this video.🤘
That's a great idea, glad it worked out!
For all those who are new to this and really want a footswitch so that they can change effects and presets, here is a quick complete guide answering all your questions.
What you need -
1. A box, it can be of plastic or metal( you can also use any old box that you have lying around, I used an old DTH box, removed everything from inside and saved up my money). Electric boxes like the Hammond one used in the video is rarely available in my country and I was hesitant to use a plastic box, so I went with the dusty old DTH box
2. A microcontroller - there are tons of microcontrollers out there, some are midi compliant while others are not. For example- The teensy LC is a midi class compliant microcontroller and can be used very easily, you can find the whole tutorial on RUclips. However using the most common microcontroller like the Arduino Uno is also possible, you would have to run 2 applications (mentioned in the video) while using the footswitch that's it. The most difficult task was choosing the microcontroller for me in my journey of building the footswitch, because I was not able to figure out how to use my UNO for the project, but the code provided in the video is sufficient and directly copy pasting it in Arduino IDE works just fine. I put electrical tape on the exposed parts of UNO to avoid shorting of the components.
3. Buttons - In my country the stompbox SPST switches were not available, they had to be imported and it would cost me around 30 bucks for the switches alone, I used normal SPST Momentary Switch that students generally use for their science projects, it works perfectly but the only downside is that they are smaller than regular stompbox switches, it only cost me around 2.5 dollars for 5 switches.
Wiring - You don't need to solder, it's optional, you can use hookup wire for the Daisy chain as mentioned in the video video or just use the breadboard wire, to join everything you can use gluegun to keep the wires in place.
Only 3 things are required, the rest is optional but highly recommended.
4. An expression pedal - I had to buy and expression pedal for this project ( got the M- Audio expression pedal), it is a little costly in my country but there are several workarounds with volume pedals that are quite cheaper, and you can use a volume pedal as expression pedal in some cases, controlling various parameters other than volume.
5. Barrel Jack - there are two options- either go with the Marshall sized barrel jack ( which is only available in bulk quantities in my country, a single jack is again costly in my region) or go with a 3.5mm stereo jack module that would even cost less than a dollar. You can then use a 3.5mm male to 6.3mm female adaptor to make it work like a regular one. You can attach multiple jacks if you want by editing the code. However I have only used one.
The whole project cost me around 25 bucks, where I also got the expression pedal. My friend had an uno and some wires lying around that he had no use for so I borrowed it from him.
6. LED's - Optional, I haven't used any led to keep my project simple and avoiding a bird's nest inside the box xD
Now for the most important part, the footswitch can work with almost every daw out there like FL Studio, Ableton etc. Setting up your foot switch is easy and again you can find tutorials for it.
For example I use Bias FX2 and Neural DSP, both support midi commanders and it's easy to set it up. It will also work with Amplitube and Guitar rig 6, no need to worry
The footswitch can control any parameter that you assign it to, adding more switches increases the flexibility of use.
My advise is to not buy midi footswitches ( or almost any other midi device that's out there, cause you can build them yourself and make it look as a retail unit) that go for around 100-150 US dollars, build one yourself it will only take you 2-3 hours to build one, my whole project got wrapped up in less than 25 dollars.
Other MIDI devices- I'm a guitarist and I don't have an amp at all, I only have my audio interface with me and I use a 10w speaker for the audio output. Changing knobs on my software can be quite irritating sometimes, you can also build a midi controller to change the knobs by using potentiometers, the options are endless. It can look very difficult at first but trust me, once I made the footswitch work it gave me a sense of accomplishment and I got a idea of how Arduino works.
I guess that I have covered as many issues that generally people face, if anyone has any other question they can ask me in the comments and I'll surely reply! Peace and good luck on nailing down your first Arduino project✌️
Thanks for writing this up!
Cool project!!
I can't find the connection diagram, can you share it?
right around 6:50 I showed the only diagrams I made. I didn't make a traditional schematic, but it's very simple.
Switches are all on one ground and each positive goes to D2-D7, LEDs are on one ground and go to D8-13. The jack diagram is at 7:04. hope that helps!
hey you gave me the idea to make little modules to turn my pedals on or off like the G Lab Uproar Fuzz does
Awesome, great to hear!
Hi. I’m trying to do the same device. I use the LGT8F328P controller. This is an analogue of the Arduino Nano and the firmware sketch should fit. I built a prototype on your schematic, downloaded your archive, firmware uploaded to the microcontroler without problems or errors, but nothing worked. What version of MIDI_Library did you use? And how exactly do you connect your MIDI CRAB to your computer? I have a computer with Windows 10. I understand in order to make the device work to create a virtual midi port on the computer using software. I tried to use Serial_MIDI_Converter and loopMidi, but it didn’t work. Maybe I’m doing something wrong. I would be very happy if you would answer.
looks like it's MIDI Library by Francois Best 5.0.2
LoopMIDI is part of it, but for the actual data stream, it's going through Hairless MIDI
@@NickLeonard thanks for your answer
This looks awesome, I'm gonna have to try this, thank you!
i want to build the same interface but without led lights and want to use 5 buttons using arduino uno, what should I edit in the code? (i have no coding experience)
please help. I made all the connections and uploaded the code to the Arduino but my PC doesn't recognize it when I'm in Reaper.
Did you get it working with Hairless MIDI? That's what will be recognized in reaper
I'm trying to build one strictly for punch in/out and return to start, just to keep my hands on the guitar. I hear those Teensy controllers are much easier, but I have Nanos and and Uno already so all I would need is the box/switches which are cheap. Anyway, great build and thanks for the rundown/code.
I have this just controlling actions in Reaper, so yeah it can be mapped to anything!
@@NickLeonard That's awesome to know and was a question I had. Thanks!
This ia a really cool and interesting project. Thanks for taking the time to run through it.
You give great crab!
cheers mate
Thanks!
@@NickLeonard Credit where credit's due.
HI Nick good day tried to follow all steps provided on video, but after uploading the code to my arduino reaper/amplitube 5 cant detect or midi is not showing do you have any inputs for this? thank you!
Do you have hairless midi installed and running?
@@NickLeonardhey not yet would give that one a try
@@lawrenzescover6578 without some extra steps, this build only works together with Hairless running at the same time. There is a method for turning the arduino into a midi class compliant device that is recognized natively, or you can use an arduino nano and that has native class compliance.
Hi, I hope you're very well, I have a doubt about this project, how did your PC reject the arduino as a midi device?
i've loaded the sketch to the arduino but still doesn't recognize him as such. i'd appreciate any help you can give me. Thank you.
Some Arduino boards are MIDI Class Compliant, meaning they should show up as a MIDI device in your DAW right away. For this project, I used an Arduino UNO, so I have to use Hairless MIDI (free program). I run Hairless whenever I'm using this controller, and then it shows up in my DAW.
Hi Nick!, this is awesome planning on building my own foot switch, question is what if I Decided to add expression pedal? do I need to buy a separate arduino?
My build here includes an expression already, and it doesn't require 2 arduinos
Thank you
@@NickLeonard
hi Nick! excellent video ,its a very nice project! The footswitch is plug and play? How did you configure the controller so that it is a MIDI controller and is recognized in different software such as ableton? thank you very much!
it can be, some boards like the nano can do that natively and did build one like that. with this one, I'm using Hairless Serial to MIDI (free program) to translate the data from the footswitch into MIDI for the DAW
Brother please help me,
I'm trying to make the same foot switch but without leds and I'll only use 5 buttons
What should be my code? I've never done coding
I'm using Arduino Uno with atmega328p
That board should be fully compatible with the code since it's the same kind. You can comment out the LED parts. I don't think leaving them in will hurt, but you can just select the whole section and press ctrl+/ to comment out and make them inactive
@@NickLeonard THANK YOU SO MUCH, I made my interface within 3 dollars, i had a metal box with me and just purchased the switches. I'm planning to add a jack for an expression pedal so can I use a mono guitar jack?
@@aryanchhajer8942 it has to be stereo for expression, but any stereo jack will work. Mono isn't capable of transmitting the right information
@@NickLeonard alright thank you brother, is there any reason you have used 2 stereo jacks for the build? Can I just use one because I only have one expression pedal and I guess that's sufficient for it
@@aryanchhajer8942 yes and 2 is overkill. I thought maybe I would get 2 pedals, but I never have either
¿Is there any way to make it work with LEONARDO board?
I haven't tried, I'm sure there's a way, but it may require different code, since the Leonardo runs a different chipset
Awesome project. Thanks for sharing.
Hi, that is such a nice project!
I dont wanna use the leds, so, just removing that part of the code would work? And I will use an esp32 as controller, if it works I’ll give feedback
That should work, just test the code before putting it all together!
@@NickLeonard To connect the expression pedal do you use a mono ir stereo cable?
@@rodolphonetto1 it has to be stereo to transmit analog data. Mono can only send on/off signals, like many piano sustain pedals or a drum trigger, but any guitar expression pedal is a TRS/stereo plug
hi mate, I have a noob question, does the enclosure need to be grounded as well?
Or did you simply connect the various elements to Arduino's ground?
I didn't ground the enclosure separately, but the switches are all metal and connected to ground, so it is
Hello. It is a very nice project and very understandable. The computer does not see the Arduino Uno as a midi controller. I am using neural dsp plugin standalone. Can you help me?
Are you using Hairless Serial to MIDI? You need to have that running in the background while using it.
Some boards, like the pro micro can be class compliant out of the box, and I think there's a way to do that for uno, but I just run hairless with it
Super impressive
I loved!!! Great Job!
What size resistors for the LED's did you use?
I got an LED kit and the ones that came with it were 430k and 470k
How long did it take to pick up all that fluff in the beginning? hehe
Just found your channel, thankyou for all of your wisdom and knowledge :)
thanks to the magic of VFX, not long at all! 😂
This is awesome, i need to try it. I was wondering your thoughts on adding more switches? Perhaps even double them, for Ableton looping purposes. Would you chain two arduinos or is there room in one for more switches?
You certainly can. You will likely need a multiplexer, or you could skip the LEDs and double the buttons. Either way, it would just take editing the code. The code does support multiplexers, though I've never used one and just modified the code put out by Notes and Volts. He has videos on how to use multiplexers. If lights aren't important, ditching those for more buttons is easier and doesn't require anything but a regular arduino, you just have to map those in the code and remove the LED code at the end.
This might be a stupid question but can the uno board your using be substituted for the teensy 4.1
Probably, but not directly. I don't know if the code would work on a Teensy or not, I haven't used one. A Nano is basically a smaller cheaper drop in substitute with some advantages, like being recognized as a midi controller without the software (hairless)
@onard Thanks for the reply. Thats what I thought. I have a teensy here and haven't gotten around to using it. Where you already provided the code I thought this might be an easy out.Just might pick up an uno to do this project👍
@@razputin3 if you can do a little soldering, nano it the better way to go imo
@@NickLeonard Soldering isn't a problem. I've done quite a bit in the past. I'm new to coding. Although I'm familiar with hex as used in an old midi setup. I'm just looking to simplify everything.Thanks again.
Amazing, thanks for sharing
hey everyone did i missed the wiring diagram?schematic wiring to midi port?
Check at 6:50 for the diagram. The MIDI goes through the usb port. It would be possible to add a standard 5-pin MIDI, but it would only add an extra cable. If you planned on using it to control something like a keyboard or synth without a pc, you would need it though. You can look up basic wiring for that if you need it, it would work the same way with this project.
Great stuff man, i'm planning of doing one of these for guitar playing with vst plugins. Are you connecting a normal expression pedal to the stereo jacks?
Ah, and also, what software are you using? I notice that the transition between presets is pretty smooth
It's a moog, but any normal passive expression will work. The software is Reaper and it works with any plugin. I have a whole video on that setup, it's a complicated custom routing method.
@@NickLeonard Thanks! Gonna check it out
Thanks so Mutch
I wish I could help, but I don't know!
@@NickLeonard I found that I can load it up my arduino mega, Its not working jet but in progress
Thanks for a great video! I am inspired.
Is it possible to send different MIDI CC messages in different MIDI channels by pushing just one switch?
Thanks, Andy! I'm sure there's a way. Depending on what you want to do, you should be able to map one button push to multiple simultaneous MIDI messages, or alternatively have a "bank" button that swaps the function of all buttons. I'm not great at code, but that should be totally doable!
@@NickLeonard Awesome, thanks for the reply. I didn't even know about setting up a "Bank", that opens things up. I better go and buy a Arduino and breadboard and get Started.😀
@@andypearce7442 good luck! If you have discord, come over to my server, that's the best way to chat and share your projects 😉
can we use it on multiprocessor effect (e.g nux mg300)
thanks
I haven't done it, but there is a way. You have to find out what commands the Nux is looking for and adjust those in the code. It may require wiring in a standard 5 pin MIDI plug too, but all that can be done
Very good!!! 🔥 🔥 🔥
Thanks, Filipe!
I have watched several tutorials on making midi stomp boxes, and I have one kinda weird question: Why are you all using breadboard wire instead of getting regular wire and soldering everything? It makes no sense man...
It's easier. I did another one after this that I soldered. For an Arduino, you want solid core wire preferably
Hello bro I want aduno wiring diagram can you give Can you?🤟🤟
it's in the video!
Hey! This video was so awesome it inspired me to make my own version in a similar vein, but for a slightly different purpose.
I have some MIDI capable pedals on my pedalboard, but no way to control them with midi (without dropping ~$400 on something from morningstar or disaster area). I'm using an arduino uno just like with yours, but mine is going to send midi via the TX serial port to a TRS jack, instead of sending midi via the USB port.
This is my first project like this, and I've spent a lot of time coding the software which I'm now more than comfortable with, but what I'm not familiar with is the wiring part of this project. I've never wired anything up to an arduino before and I'm not sure when/where resistors are necessary. I know from your video that you need them for LEDs, and it seems as though you didn't need to use any for your foot-switches, but will I need to use a resistor for the TRS expression pedal jack or for the TRS midi jack? I've scoured the internet for answers but this topic seems far too niche for me to get any reliable results. I was hoping maybe you could answer these questions for me since you've done almost exactly what I'm doing. Or even better, how does one know when to use a resistor in general? Is there some rule I can use to know when/when not to use a resistor in an arduino circuit?
Thank you so much for making this awesome video and inspiring me to make something of my own. Any help is greatly appreciated!
Awesome, glad to hear it!
You don't need resistors for the switches or jacks. They are useful for modifying a circuit "turning down" the voltage going to something, but in this case, we don't want that for the controls. The LEDs get resistors to control their brightness and keep them from burning out. A higher value resistor = dimmer LED.
what are the value of the resistors?
These are 560k I believe, they're just there to protect the LEDs from burning out, higher resistance will make them dimmer and lower brighter, but different colors have different strengths, so you can try to balance it out
works With Hx Stomp?
Not as it is, but it could be adapted. It looks like the ones for the HX stomp are just passive switches with TRS output, similar to this but wired differently and without the arduino. Look up the Mission Audio TT-2, you could build one fairly easy if you find out how it's wired.
Xcellent