Jump to content
Why become a member? ×

Build your own MIDI controller. (I did!)


stoo

Recommended Posts

38 minutes ago, stringvelocity said:

How would you code 2 led lights instead of a screen to indicate page one or two?

The good thing is it will be possible - but unless you find someone else who’s done the same thing and published their code to share I have a feeling you may need to go through a learning curve in working out how to code it yourself 

 

Link to comment
Share on other sites

  • 2 months later...
On 04/03/2019 at 06:13, stoo said:

A few people have asked for a bit more info in the other thread - I'm going to try and keep it all here so it's easier for me to find any bits I've already answered.

First up - before anyone else asks - I'd prefer to avoid getting into building them for other people if I can avoid it... I've deliberately built mine with the cheapest components I could find and while I'm not expecting any of it to fail, I wouldn't feel to great about sending one out to someone that wasn't able to replace a footswitch if one let go.....

The good news is though - if your soldering skills are up to resoldering wires to the tags on a footswitch.... that's about as hard as any of the soldering stuff needs to get... You can get a breakout board for the microcontroller with screw terminals on, and so the only soldering required is for the wires at the footswitch end, and the midi socket. Oh, and also one resistor inline on the power leg of the midi socket - but again that's no trickier than any of the rest of it....

It's fully programmable, so pretty much everything! I've not really settled on a config yet, but so far I've got it set up with 3 pages - 

Page 1 is

SW1 - snapshot 1

SW2 - snapshot 2

SW3 - snapshot 3

SW4 - tap tempo / long press for tuner

SW5 - Preset mode

SW6 - Stomp mode

SW7 - emulates FS4 (which I currently have set to Preset Down)

SW8 - emulates FS5 (set to Preset Up)

Page 2 has the same for SW1-4, and SW5-8 directly jump to my favourite 4 guitar presets

Page 3 has the same for SW1-4, and SW5-8 directly jump to my favourite 4 bass presets

SW1+SW2 at the same time cycles page down, SW2 + SW3 cycles page up, SW7+SW8 is a panic reset type thing which changes the controller back to Page 1 and sets the Stomp to Preset 1 and puts it back into stomp mode.

 

There's lots of options though - it can change anything which the HX allows control of over MIDI.... Preset and snapshot recall, block bypass, parameter control (possibly not that useful unless I add an expression pedal input). It can also expand the 1 switch looper so you get separate buttons for play / stop / overdub / record / play once / undo/redo / forward / reverse / full / half speed.... and anything else they add MIDI control for in future updates.

In fact I think I'm going to add an extra page of looper controls and have a play with that just now.... 

>>> I've now done this and i'm not totally happy with it - I'm not sure if it's just me not being coordinated enough to use a looper properly or whether there's some lag/inconsistency in there that you just don't notice when using it for patch / setting changes...

In all honesty, not much.... I've attached a couple of pics of the sort of thing mine is showing at the moment, but the screen I used was a tiny 0.96 inch OLED... They're really cheap, and I had a spare one lying around. It was fine for testing functionality while I was building the prototype on my desk.......  But with the text size on there it's too small to be any real use while stood up. 

I'm going to play with using a bigger font to see if there's a better balance between quantity and readability of characters, but the obvious choice would be to just use a bigger screen. I reckon I'd be happy enough with just showing an indication of what page I'm on and then remembering what each button within each page does, but I'll see how I get on with it once I've had a chance to use it more.

The other type of screen I considered using was one like this - https://www.amazon.co.uk/SainSmart-Serial-Module-Shield-Arduino/dp/B007XRHBKA which is closer to what Morningstar use. They use a fixed character size, so you need to make sure you have enough columns and rows available to display all you need.... the only ones I have here are 16x2 and 20x4, and neither of those seemed ideal for an 8 footswitch configuration. The 20x4 would probably work well enough for a 6 switch setup though.

 

screen 2 med.jpg

screen 3 med.jpg

screen 1 med.jpg

Have you had an issue with the tap tempo activating on the push and release instead of just on the push?

Link to comment
Share on other sites

  • 1 month later...

Hello All,

 

I am upgrading my version of this pedal with several .96 OLED screens and I was wondering if anyone has a way to retrieve the names and settings of a preset by reading it from the HX Stomp directly. Either via MIDI or USB (similar to what HX Edit does). 
currently I hard coded them but that’s ideal. 
 

Thank you 

 

P. 

IMG_1327.jpeg

  • Like 3
Link to comment
Share on other sites

3 hours ago, Bklyn3 said:

Hello All,

 

I am upgrading my version of this pedal with several .96 OLED screens and I was wondering if anyone has a way to retrieve the names and settings of a preset by reading it from the HX Stomp directly. Either via MIDI or USB (similar to what HX Edit does). 
currently I hard coded them but that’s ideal. 
 

Thank you 

 

P. 

IMG_1327.jpeg

 

Nice - it looks like Heiko has made some decent progress on cracking the USB comms between his Stomp and HX Edit... In his project he uses Python scripts on his computer to get the info from the Stomp - 

https://line6.com/support/topic/60839-another-lockdown-project-talk-to-your-hx-stomp-over-usb/

https://github.com/kempline/helix_usb 

 

I'd planned to see if I could get something similar working on Arduino with a USB host adaptor.... life keeps getting in the way though!

Edited by stoo
  • Like 4
Link to comment
Share on other sites

  • 2 months later...
On 28/08/2023 at 04:30, stringvelocity said:

Is there a way to add an expression pedal to this code??

 

Sorry - I was sure I'd already replied to this... must have closed the window before the post got submitted.

 

The nextion/mega version has an expression pedal input, but the oled/nano original version didn't.

 

If you wanted to add an expression pedak to the oled/nano version, you'd need to add the extra bits in yourself depending on how you want yours to work.

 

My implementation was a bit odd because my "expression  pedal" was actually a converted wah pedal - so it had a audio taper pot instead of linear, and a latching footswitch instead of momentary. If you have a linear pot expression pedal and a momentary switch (or no switch at all) then you could probably simplify things a lot

Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...
  • 2 months later...
3 hours ago, Bklyn3 said:

Finally finished this project. 
Thanks Stoo for the idea. 
I added a feature to control YouTube which is super useful when practicing. 

 

Wow - that looks awesome!

 

Link to comment
Share on other sites

3 hours ago, Gottastopbuyinggear said:

That does indeed look really good!

 

Can I ask where you sourced the footswitches, or rather the coloured surrounds if they're separate from the switch?

http://www.timetravelaudio.co.uk/shop/components/switches/foot-switches/3pdt-foot-switch-illuminated-type-with-led-ring-colour-options-on-led-cap/

 

Just one example

 

The keywords in your search need to include "illuminated" and "led" plus then your choice of footswitch type.

  • Thanks 1
Link to comment
Share on other sites

21 hours ago, EBS_freak said:

http://www.timetravelaudio.co.uk/shop/components/switches/foot-switches/3pdt-foot-switch-illuminated-type-with-led-ring-colour-options-on-led-cap/

 

Just one example

 

The keywords in your search need to include "illuminated" and "led" plus then your choice of footswitch type.

Brilliant, thanks - not sure why i couldn't find any the last time I tried searching!

  • Like 1
Link to comment
Share on other sites

  • 1 month later...

Hi all. I have built my own MIDI controller - 4 switches, Arduino Nano Every, 3D printed case etc. 

All wired up, Arduino flashed. Code works (LED on Arduino blink when pressing switches) etc but there is no communication with my HX Stomp. 

 

I have tested MIDI commands via computer (Logic Pro) and Stomp reacts).

 

No reaction via MIDI port. I tested connector for voltage, it is getting 5V. 

 

One thing that is different on my configuration is that I use 1W 220ohm resistors - simply ordered 1W by mistake and that's what I have for now. 

 

I used Stuu's code for looped page moving and Arduino sends that loop but HX Stomp can't get it. Everything is set to Channel 1 and all MIDI settings on Stomp are active.

 

 

Any ideas? IMG_2199.thumb.jpg.3c6c94c7f08f05fbf7bc4eb655394773.jpg 

 

Link to comment
Share on other sites

9 minutes ago, AngryBanana said:

Only on serial monitor in Arduino IDE and sends characters through. This is the looped code Stoo presented here few pages back.

 Screenshot2024-03-06at20_41_58.png.3c001a82eb77bc4711795e248d2a7615.png

Not ideal.

How is your computer connected to the Stomp to send MIDI ... can you not use the computer MIDI in and run a MIDI monitor program on it?  You mention Logix Pro so I'm guessing you are Mac based ... this is the MIDI monitor I use https://hautetechnique.com/midi/midiview/

 

Sam x

Link to comment
Share on other sites

Yeah, I am on Mac. Installed this app but it only shows logic virtual midi. I have my midi Arduino controller connected to Mac but it's not shown there. I can see LED on Arduino reacts to footswitches. 

 

Is it not a problem that I have 1W Capacitors ? Both 220ohm

Edited by AngryBanana
Link to comment
Share on other sites

40 minutes ago, AngryBanana said:

Yeah, I am on Mac. Installed this app but it only shows logic virtual midi. I have my midi Arduino controller connected to Mac but it's not shown there. I can see LED on Arduino reacts to footswitches. 

 

Is it not a problem that I have 1W Capacitors resistors? Both 220ohm

The power rating (watts) of a resistor just tell you how much power they can cope with, it is fine to use a 1W (I presume the original circuit called for 1/4 or 1/2 watt?).

 

If it were me, I'd try running something really simple (ignoring the footswitches for now) to check that your wiring is OK ... This example seems pretty useful and basic.

https://docs.arduino.cc/built-in-examples/communication/Midi/

 

Sam x

 

Edited by SamIAm
Link to comment
Share on other sites

44 minutes ago, SamIAm said:

The power rating (watts) of a resistor just tell you how much power they can cope with, it is fine to use a 1W (I presume the original circuit called for 1/4 or 1/2 watt?).

 

If it were me, I'd try running something really simple (ignoring the footswitches for now) to check that your wiring is OK ... This example seems pretty useful and basic.

https://docs.arduino.cc/built-in-examples/communication/Midi/

 

Sam x

 

I did swap my Arduino Nano Every to Amazon special £5 Arduino Nano and it bloody works. Dont understand why 3 times more expensive board doesnt work....

  • Like 1
Link to comment
Share on other sites

On 17/01/2024 at 07:16, Gottastopbuyinggear said:

That does indeed look really good!

 

Can I ask where you sourced the footswitches, or rather the coloured surrounds if they're separate from the switch?

I used those https://guitarpedalparts.com/products/led-foot-switch-ring-red-blue?variant=34878770938009&currency=USD&utm_medium=product_sync&utm_source=google&utm_content=sag_organic&utm_campaign=sag_organic&gad_source=1&gclid=CjwKCAiAxaCvBhBaEiwAvsLmWLOFVszIC6x9xGQhBPdm5GQCpSke6koclw0TgzPfrOuVqBMCZLZcKhoC8gQQAvD_BwE

Link to comment
Share on other sites

On 21/01/2024 at 19:18, stringvelocity said:

Do you have any programmable switches?

Not sure what you mean exactly. All of them are hooked to a teensy 4.1 that maps each of them to different functions based on the page. 

Link to comment
Share on other sites

On 06/03/2024 at 22:35, AngryBanana said:

I did swap my Arduino Nano Every to Amazon special £5 Arduino Nano and it bloody works. Dont understand why 3 times more expensive board doesnt work....

 

Does the Nano Every run at 3.3V? If so, you need to use different resistors to the 220R on each side that you use for 5V. Use a 33R instead of 220R between MIDI DIN pin 4 and 3.3V, and 10R instead of 220R between Tx and pin 5.

Link to comment
Share on other sites

2 hours ago, tauzero said:

 

Does the Nano Every run at 3.3V? If so, you need to use different resistors to the 220R on each side that you use for 5V. Use a 33R instead of 220R between MIDI DIN pin 4 and 3.3V, and 10R instead of 220R between Tx and pin 5.

I have 9V on VIN for this. 

 

 

Anyway. To solve the problem on EVERY this line of code below: 

MIDI_CREATE_INSTANCE(HardwareSerial, Serial1, MIDI);

 

need to replace this line:

 

MIDI_CREATE_DEFAULT_INSTANCE();

 

On EVERY Serial is USB connection, Serial 1 is on TX and we need to point out to this in code. 

 

After that change communication to Stomp was established and my MIDI controller works like a charm. 

 

Again, this only applies to Arduino Nano EVERY - it is not the same Arduino as Nano

 

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...