aaronlyon Posted April 24, 2018 Share Posted April 24, 2018 I made a two-button footswitch for changing Helix patches up and down, using a generic (Elegoo) Arduino Nano board. It sends MIDI program change messages, and is endlessly customizable. Complete parts list: Hammond 1590a enclosure Elegoo nano (set of three for cheap https://www.amazon.com/Arduino-Elegoo-ATmega328P-without-compatible/dp/B0713XK923 ) two SPST momentary (normally open) switches LED and 220 ohm resistor (optional) panel-mount MIDI jack panel-mount 9v jack (optional, easy to power from 9v battery--Nano draws only 25mA, and only 37mA while LED is lit) hookup wire My code is pasted below. Entire project took less than two hours, and cost less than dinner. // midi.controller // Sends midi program change // Aaron Lyon April 2018 #include <MIDI.h> MIDI_CREATE_DEFAULT_INSTANCE(); byte patchNum = 0; #define BUTTON_PIN_1 2 #define BUTTON_PIN_2 3 #define LED_PIN 13 void setup() { pinMode(BUTTON_PIN_1, INPUT_PULLUP); pinMode(BUTTON_PIN_2, INPUT_PULLUP); pinMode(LED_PIN, OUTPUT); MIDI.begin(MIDI_CHANNEL_OMNI); } void loop() { if (digitalRead(BUTTON_PIN_1) == LOW && patchNum < 99) { // Next Program digitalWrite(LED_PIN, HIGH ); patchNum++; MIDI.sendProgramChange(patchNum, 1); delay(200); digitalWrite(LED_PIN, LOW ); } if (digitalRead(BUTTON_PIN_2) == LOW && patchNum >= 1) { // Next Program digitalWrite(LED_PIN, HIGH ); patchNum--; MIDI.sendProgramChange(patchNum, 1); delay(200); digitalWrite(LED_PIN, LOW ); } } 1 1 Quote Link to comment Share on other sites More sharing options...
fredsiegle Posted April 24, 2018 Share Posted April 24, 2018 This is excellent! I've been looking at Arduino to do something similar but doing CCs instead of PCs. Can I use your design and code but send CCs instead? Quote Link to comment Share on other sites More sharing options...
aaronlyon Posted April 24, 2018 Author Share Posted April 24, 2018 Yes, super easy. The MIDI library includes SendControlChange commands: http://arduinomidilib.fortyseveneffects.com/a00041.html#gac1109ed9d013b536471fb782c06235c6 Quote Link to comment Share on other sites More sharing options...
aaronlyon Posted April 24, 2018 Author Share Posted April 24, 2018 Heck, you could set this up as a MIDI oscillator. Like, send a LFO to sweep the wah position. Quote Link to comment Share on other sites More sharing options...
aaronlyon Posted April 26, 2018 Author Share Posted April 26, 2018 I built a new program switcher into a plywood base for my Line 6 50 receiver and an expression pedal, for ease of portability and setup. Let me know if you would like to buy the MIDI pedal I built, shown above, the one in the Hammond 1950a chassis. Quote Link to comment Share on other sites More sharing options...
soundog Posted April 26, 2018 Share Posted April 26, 2018 Very cool. Does your original box do MIDI via USB as well as the 5-pin DIN? Quote Link to comment Share on other sites More sharing options...
aaronlyon Posted April 26, 2018 Author Share Posted April 26, 2018 Yes, if you connect the Nano to your PC using a USB cable, you can transmit MIDI to PC also. But that wouldn't be very convenient with this unit, because you'd have to remove the chassis cover to get to the Nano. Quote Link to comment Share on other sites More sharing options...
WADEAL Posted August 14, 2018 Share Posted August 14, 2018 Do you have a schematic or afew photos where the full wiring is shownfor this. I'd love to build it but cannot see what is wired to what. Thanks Quote Link to comment Share on other sites More sharing options...
patbar Posted August 18, 2018 Share Posted August 18, 2018 I'm also experimenting with sending midi signals to the Helix, but sending the preset number on channel 1 does not change the preset correctly. I expected that with the command: MIDI.sendProgramChange (10, 1); the helix selected preset 10 and with the command MIDI.sendProgramChange (xxx, 1); select preset n ° xxx while instead with any number only select patch 0 or 60 did any of you have the same problem? Quote Link to comment Share on other sites More sharing options...
tuxmrk Posted December 31, 2018 Share Posted December 31, 2018 aaronlyon is it possible to send a MIDI-command to change snapshots? I have an idea: I use sometimes the Helix Native as a stand-alone-program on my PC. I not realy need a DAW for using Native. So, in some presets I use, there are snapshots. The idea now is: sending a MIDI-command with a homemade footswitch to change snapshots. Can you test this thing or what do you think? is that possible? :-) Can you give us the used MIDI-Library, please? Quote Link to comment Share on other sites More sharing options...
zolko60 Posted December 31, 2018 Share Posted December 31, 2018 3 hours ago, tuxmrk said: I use sometimes the Helix Native as a stand-alone-program on my PC. I not realy need a DAW for using Native. How do you use HxN stand alone? I was convinced HxN is plugin and need some kind of host. I have even written a tutorial how to use midi to control HxN. Quote Link to comment Share on other sites More sharing options...
Rewolf48 Posted December 31, 2018 Share Posted December 31, 2018 There are generic plugin hosts such as Savihost if you don’t want to use a dedicated live performance host. E.g. https://www.thegearpage.net/board/index.php?threads/helix-native-w-savihost-and-asio4all-no-noticeable-latency.1857013/ https://www.soundonsound.com/sound-advice/q-there-simple-way-play-vst-instrument-without-daw Quote Link to comment Share on other sites More sharing options...
zolko60 Posted December 31, 2018 Share Posted December 31, 2018 Sure, you can use any host that works and use either HxN automation handles with midi controller or HxN midi control with midi controller. Quote Link to comment Share on other sites More sharing options...
markbrid Posted June 14, 2020 Share Posted June 14, 2020 FYI, if you want to experiment with coding an Arduino based footswitch and would like to avoid building hardware, the Disaster Area Designs DMC 1st gen footswitches are basically an Arduino Nano based device. You can plug one into a computer, bring up the Arduino IDE and set it to Nano, and program away on the footswitch like it is a Nano. The custom PCB inside the DMC has the microcontroller and FTDI USB driver identical to the Nano. I'm currently coding a DMC-6L for a Kemper and AmpliFIre, and will perhaps add a third mode for a Pod XT. There are other projects out there that custom code the Gen 1 DMCs (at one time Disaster used to encourage this). This might save you some time if you want to give it a shot, the pin assignments for the DMC-6L I have: int SW[6]={2, 3, 4, 5, 6, 7}; //Switch inputs //LED pin assignments: // LED for switch Color D pin // -------------- ----- ----- // SW1 Blue 9 // SW2 Yellow 14 // SW3 Green 15 // SW4 Green 16 // SW5 Blue 17 // SW6 Blue 13 // SW6 Red 12 // SW6 Green 11 // NOTE: LED for SW6 is tri-color #define SidePot A5 //Pot installed in side of DMC-6L #define PotJack A4 //Jack for controller pedal in back of DMC-6L, not factory wired Quote Link to comment Share on other sites More sharing options...
mattzz Posted June 14, 2020 Share Posted June 14, 2020 7 hours ago, markbrid said: I'm currently coding a DMC-6L for a Kemper and AmpliFIre, and will perhaps add a third mode for a Pod XT. Good info, thanks. Also, feel free to check out the Arduino Code of my Midi Muppet for the HX Stomp on Github. Quote Link to comment Share on other sites More sharing options...
dan5150 Posted February 20, 2021 Share Posted February 20, 2021 Has anyone come up with a wiring diagram for one of these yet? Looks like a fun weekend project. Quote Link to comment Share on other sites More sharing options...
mattzz Posted February 24, 2021 Share Posted February 24, 2021 On 2/20/2021 at 7:43 AM, dan5150 said: Has anyone come up with a wiring diagram for one of these yet? Looks like a fun weekend project. There is a wiring diagram on the github page of the "MIDI Muppet HX". (Probably wouldn't hurt to add a Schottky diode for reverse polarity protection as well - Pesky details...) And yes, it IS a a fun weekend project :) Quote Link to comment Share on other sites More sharing options...
alamondm Posted March 28, 2021 Share Posted March 28, 2021 How would you go about changing the midi channel from OMNI to Channel 4. I like the Midi Muppet but I see no way of changing it on that because it emulating the footswitches but I think I could use the PC changes if I could set the channel to 4 as I have quite a few midi pedals and omni just wont work. Im not arduino savy. I can build analog effect pedals all day long but I cant wrap my head around arduino. I have successfully built the Muppet for my guitar player and he loves it, so Thank you for that one. Thanks Matt Quote Link to comment Share on other sites More sharing options...
rmaz Posted May 5, 2021 Share Posted May 5, 2021 I'd like to add a 'MIDI In' to this device i.e. to enable an external midi controller generating note data to be merged with the PC changes from this device. The Note and PC data would be mutually exclusive i.e. not occuring at the same time. Hence a simple solution may be ok e.g. buffer the MIDI In with an opto-isolator and connect it directly to MIDI Out along with the Arduino output. Would that work... any thoughts? Thanks, Roy Quote Link to comment Share on other sites More sharing options...
soundog Posted May 5, 2021 Share Posted May 5, 2021 FYI, I've been really liking the Teensy (Arduino based) boards for MIDI controller projects: https://www.pjrc.com/teensy/ Quote Link to comment Share on other sites More sharing options...
HonestOpinion Posted May 6, 2021 Share Posted May 6, 2021 This is an impressive topic! Love seeing people sharing these DIY projects. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.