Jump to content
Why become a member? ×

Build your own MIDI controller. (I did!)


stoo

Recommended Posts

17 minutes ago, stoo said:

It's something I did look into - my first arduino project was an LED lighting controller for my van with 420 addressable LEDs around the ceiling. Slight overkill, but hey-ho :D

The HX Stomp has got LED rings around each footswitch which change colour depending on effect type and brightness depending on it's enabled or not...  but it doesn't send much information out on MIDI for the controller to know what's going on.... I suppose you could manually program the controller with settings for each preset and then update the LED behaviour depending on the last Program Change, but that seems like a lot of work programming in dozens of presets worth of config into the controller, and having to keep them updated whenever I make changes on the Stomp.

I think all the other Helix models have got a MIDI command centre which allows you trigger various MIDI messages on all sorts of various conditions..... but if I'd got one of the bigger Helix models then I wouldn't need the MIDI controller in the first place! 

Ah true. Is there a MIDI implementation chart? As you say though, no feedback to acknowledge program change.

Link to comment
Share on other sites

17 minutes ago, EBS_freak said:

Ah true. Is there a MIDI implementation chart? As you say though, no feedback to acknowledge program change.

Yeah - they've published it all, but - for the HX stomp at least - it's pretty much all one way. When the preset is changed it does send out a PC message to confirm it, but that's only any use if your midi controller knows the initial state of that preset, which FS each block is assigned to, whether it starts on or off, what type of effect is in that block etc etc.

With the old Zoom stuff it was totally the other way round - they sent out a Sysex message with all the info in it that you could ever need, but the data format was deliberately obfuscated and there was no documentation on it at all, so you end up spending ages with MIDI sniffers trying to work out what the hell was going on.... and it was slightly different for each Zoom pedal, so the work someone else had done wouldn't necessarily work on yours.

Not to worry though - my controller's at the point where I'm not too bothered about doing anything else with it for a while.... Functionality-wise it's doing everything I need it to. Might tweak the preset pages here and there, but other than that I'm OK with it. I'm not very happy with the enclosure, but it's not bad enough that it's worth printing another one. 

 

Link to comment
Share on other sites

On 20/01/2020 at 18:04, stoo said:

Hiya,

I'd never really thought about whether the code Nextion version could fit on a Nano before... it would definitely need some optimisation but it might be do-able... couldn't say for sure without trying it though!

When I did the OLED + Nano version, I remember the main limitation was RAM. One thing that helped a lot was making sure all the char array text strings were set to use PROGMEM using the F() macro. I know I didn't bother doing that on the Nextion version because the RAM was plentiful enough it just wasn't worth it.

Some other things you'll need to take into consideration with Nano : 

Nano only has one Serial... the MIDI port needs one, and so does the Nextion. You should be able to create a SoftwareSerial port on the Nano, but it's not something I've done. The Arduino IDE also uses Serial to upload new sketches to the Nano... so you may find you need to disconnect your MIDI devices or the Nextion (whichever you have plugged into the hardware serial port on the nano) when you upload a new sketch. 

Power - I was able to power the Nextion from the 5v pin on the Mega, but I'm not sure how much power the power regulator on the Nano can supply safely. If you're running from USB power, it might be a good idea to power the Nextion using the microUSB adapter that should come with your screen, and then power the Nano from the spare pins on the back of that adaptor.

I'm not totally sure what you mean by the "final .ino file".... I had all those files saved separately, and they should appear as different tabs in the Arduino IDE. When it compiles it should work through them in the order the tabs appear in the IDE. Having the different parts of code split into separate tabs made it a bit easier to find stuff as I was going along. I've attached a screenshot so you can see what I mean.

The single_double_long file can be ignored.... it's just a flowchart I was using to plan out the code for single press / long press / double click / multiple switch press functionality and track which bits I'd implemented. You can open it with a free program called yEd if you want to see what's in it, but other than that you can ignore it.

You could get rid of the Booting page on the Nextion if you wanted - there's probably a few other pages in the Nextion HMI file that aren't needed too. It won't hurt to leave them on there though - deleting unused pages on the Nextion memory won't free up any memory on the Nano. Be wary though - if you delete things in the Nextion editor, it can end up automatically renumbering other items with a higher ID#.

Hope that helps....!

 

tabs.png

Rather than a Nano what about one of the Teensy line - even Teensy LC has twice the memory of the Nano.

I’ve built a basic 4 button foot switch using a Teensy LC board which will do MIDI via 5 pin DIN connector and USB MIDI in parallel, so I can use it on either my Stomp or with AmpliTube on my Mac.

I’ve now gone a step further and used a Raspberry Pi to give me USB MIDI thru so I can use USB on the Stomp instead.  Target is to build a second MIDI controller to give me the amp EQ and volume controls in a controller on top of my amp so I can tweak easily during a gig.  

 

 

Link to comment
Share on other sites

@stoo - how many pins are you utilising at the moment? Was thinking about projecty stuff last night whilst driving. ESP8266 may give you the option of a web based editor which may be easier for bulk configuration... meaning that touch screen could be for just on the gig changes. Mind you, if you've got your phone with you...

Link to comment
Share on other sites

3 minutes ago, EBS_freak said:

@stoo - how many pins are you utilising at the moment? Was thinking about projecty stuff last night whilst driving. ESP8266 may give you the option of a web based editor which may be easier for bulk configuration... meaning that touch screen could be for just on the gig changes. Mind you, if you've got your phone with you...

8 for the footswitches

2 for the nextion TX/RX

1 for the midi TX

1 for the pedal pot

1 for the pedal toeswitch

Funnily enough, I've just about finished up a completely unrelated project with a Wemos D1 Mini in it... Not enough pins available on those, but I think the bigger D1R2 might just be able to squeak it..... hmmmm

3 hours ago, Gottastopbuyinggear said:

Rather than a Nano what about one of the Teensy line - even Teensy LC has twice the memory of the Nano.

I’ve built a basic 4 button foot switch using a Teensy LC board which will do MIDI via 5 pin DIN connector and USB MIDI in parallel, so I can use it on either my Stomp or with AmpliTube on my Mac.

I’ve now gone a step further and used a Raspberry Pi to give me USB MIDI thru so I can use USB on the Stomp instead.  Target is to build a second MIDI controller to give me the amp EQ and volume controls in a controller on top of my amp so I can tweak easily during a gig.  

 

 

The Teensy stuff looks like a good shout for USB MIDI with minimal hassle... Would need to be sure the display was OK with running on 3.3V or you'd have to add in a level converter to the plan somewhere.

I love the idea of having a physical amp controls module though.... Have you got any more detail on your build posted up anywhere? 

Link to comment
Share on other sites

1 hour ago, stoo said:

8 for the footswitches

2 for the nextion TX/RX

1 for the midi TX

1 for the pedal pot

1 for the pedal toeswitch

Funnily enough, I've just about finished up a completely unrelated project with a Wemos D1 Mini in it... Not enough pins available on those, but I think the bigger D1R2 might just be able to squeak it..... hmmmm

The Teensy stuff looks like a good shout for USB MIDI with minimal hassle... Would need to be sure the display was OK with running on 3.3V or you'd have to add in a level converter to the plan somewhere.

I love the idea of having a physical amp controls module though.... Have you got any more detail on your build posted up anywhere? 

Wemos D1 is my go to board for most things, just wish they'd come out with a 5Ghz version!

Link to comment
Share on other sites

2 hours ago, stoo said:

I love the idea of having a physical amp controls module though.... Have you got any more detail on your build posted up anywhere? 

No, afraid not.  Partly because it isn't built yet, and mainly because I'm awful at documenting stuff.  I'd be embarrassed about my shonky code too!

I have been doing a bit of tinkering, however, and I'm fairly certain I've variously got everything working that I need.  It's a case of sticking it all together to see if it works.  I should make an effort to document it properly.

Broadly speaking I'm thinking along these lines:

The requirement is to be able to use a few different programs on the Stomp in a gig situation - basically amp sims, compression, and very occasionally perhaps some chorus.  I'm putting the Stomp straight into a power amp, so I'd like to be able to tweak the EQ during a gig to account for venue to venue sound differences.  Ideally that would be via MIDI control of the global EQ, but alas that's not currently an option, so it's going to have to be via the amp's EQs.  I'm also going to experiment with the Tilt EQ block a bit, to see if that helps with on-the-fly EQ tweaks.

I think I can get everything for the "head" end on a 2U rack blanking plate, though I haven't confirmed yet.  I'll probably stick in 10 rotary encoders which should give me more than enough for my needs.  Nextion display for seeing the settings, and maybe for saving changes.  

I'll have to store all the parameters I'm changing in non-volatile memory and send them every time I change the program.  

I've already built a footswitch as a proof of concept to give me prog up and prog down, tuner (so I can get that off the Stomp's third foot switch) and a quick way of switching between 0 gain and +20dB on the output block so that I can get enough signal into the power amp when I'm using it.  It's occurred to me that I could also put Tilt or even Bass/Mid/Treble adjustment on the footswitch too, but that might be going too far.

I didn't really want a ring of MIDI cables between Stomp, "head", and footswitch so that's why I looked into the MIDI thru idea, and as with everything (thankfully!) I found someone has already done it.  I'll dig out the links later and post them in this thread.

My main concern at the moment is whether I run the risk of introducing noise with all this hacked together DIY microcontroller based stuff floating around!

Edit: Forgot to say, the Teensy 3.3v pins seem fine with the Nextion with the quick tinker I've had.

Time is the real killer with all this.  Having jumped onto the Nextion learning curve I'm now on a Photoshop learning curve, trying to see whether I can get some reasonable graphics together for visual feedback for volume and tone controls, etc.

I'd really like to get a 3D printer too, to make some decent enclosures for some of my projects, but apart from the cost of getting a reasonable one (I haven't got the patience to go the budget put-it-together-first route) but that's another huge learning curve.
 

 

Edited by Gottastopbuyinggear
Link to comment
Share on other sites

  • 2 weeks later...
On 09/12/2019 at 19:11, stoo said:

Yeah - It's a big improvement over the 0.96"OLED, that's for sure... thanks again for the tipoff!

Although with the tiny OLED at least there was no danger I'd put my foot through it!

Slowly getting there......

IMG_20191209_182116.jpg

I’m thinking hard about getting a 3D printer.  @stoo, what material did you use for the case - I’m wondering whether PLA would be strong enough or whether it would have to be ABS?

Link to comment
Share on other sites

17 minutes ago, Gottastopbuyinggear said:

I’m thinking hard about getting a 3D printer.  @stoo, what material did you use for the case - I’m wondering whether PLA would be strong enough or whether it would have to be ABS?

The first one I did with the tiny screen was done in PLA. The v2 is PETG for the main enclosure, with PLA for the bezel and bottom cover. I tend to be fairly generous with wall widths / perimeter and top and bottom layer count, but both enclosures are way stronger than they need to be. If I hadn't had to split them into multiple sections to fit on the build plate of my printer, they'd have been stronger still.

Maybe I could have got away with using less material if I'd used ABS or nylon, but I can't be bothered building an enclosure for my printers. 

I'm going to get some ASA filament next time to try next time I make an order... From what I can gather it's similar to ABS, but less hassle to print. Mainly for increased UV resistance... Which isn't really a massive concern for the footswitch enclosure!

Link to comment
Share on other sites

  • 1 month later...

Okay, so here's the prototype for the rack mounted Stomp parameter controller I said I was planning.

IMG_0390.thumb.jpeg.d66cf057ae4ca23938b7e73631c45aeb.jpeg

What I have here is the parameter controller and a foot controller sending MIDI over USB, and a Raspberry Pi running as a USB MIDI Thru box linking everything, including the Stomp, together.

Parameter controller and foot controller are based on a Teensy boards which provide easy USB MIDI capabilities.  Teensy LC currently used, but the parameter controller needs a Teensy 3.2 to provide enough RAM to allow me to support multiple Stomp programs as I've currently run out of memory for the arrays of strings I need for the "labels" for the parameters.  I could work out a more efficient way of doing it, but I think it would still be marginal as there are a few more improvements I could make.

The parameter controller uses rotary encoders to change the values of the Stomp parameters I want to control.  For each Stomp program I have one page for the Amp parameters (typically Gain, Bass, Mids, Treble, Master Volume and Channel Volume) and one for a single stomp, so usually an overdrive.  I've also put a Tilt block in each Stomp program and that's accessible on the Amp page so that I can try making quick overall changes on the fly with one button, or perhaps link that to switches on the foot controller.  Display is via a Nextion, and that also supports buttons for swapping between Amp and Stomp pages, saving of the current parameter settings, or reset of the current settings to those saved.

On power up the controller reads in all parameters from EEPROM, and sends them to the HX Stomp for the currently selected program.  Changing a parameter immediately changes the value on the Stomp, but nothing is "saved" until you explicitly select "Save", whereupon the values are stored permanently on EEPROM.  Obviously when I say save I mean saved in the controller, not the Stomp.  Changing the program on the stomp results in the current in-memory parameter set for the program being sent to the Stomp.  In this way I can tweak the parameters and change back and forth between programs without losing the changes I've made.  If I want to discard the changes I can use "Reset" to replace them with the set stored on EEPROM.

The foot controller is pretty basic at the moment - I've set it to give me tuner on the lower left, program up and down on the right, and the top left toggles a 20dB boost on and off for when I want to use the Stomp to drive a power amp.  I'm planning to replace this with a six switch version with another Nextion display to show what each switch is doing.  

The code all needs some work, and is pretty amateur (monolithic, global variables, etc.), but it's been 25 years since I did any coding in any serious capacity and I've forgotten almost everything I ever knew!

Raspberry Pi MIDI Thru from here: https://neuma.studio/rpi-as-midi-host.html

I used a more recent set of instructions for making the Pi read-only: https://medium.com/@andreas.schallwig/how-to-make-your-raspberry-pi-file-system-read-only-raspbian-stretch-80c0f7be7353

Next steps are the rack mount version and a 3d printed box for the larger foot controller - but that's going to be a while yet.
 

 

 

  • Like 1
Link to comment
Share on other sites

  • 9 months later...

I built my own HX Stomp MIDI Controller based in all your comments in this thread and it's working fine in the protoboard, I'm waiting for the case and momentary footswitches to built the defintive controller. Meanwhile I thought in add contros for the basic amp pots (drive, ch vol, mid, bass, treble) and I see thay I have to use encoders. I'm very newbie in the arduino world and I'm not programming anything since 20 years ago.

I used today potentiometers and it works perfect controlling the amp parameters, the problem is that once you conect controller to the hx stomp, the potentiometers send their reads to the HX Stomp and modify all the parameters of your preset, so that's why I suppose encoders are needed. I've never used encoders but I suppose they are not hard to use.

My question is, using encoders, is it possible not to modify the parametrer controlled by the enconder until it will be moved?, and, once you move the encoder, can I increase or decrease the value of the parameter near the value saved in the preset or automatically the value of the parameter will be changed depending on the value of the encoder?

Link to comment
Share on other sites

  • 3 weeks later...

Hi Stoo,

would it be possible to repost your arduino code? 
i am very interested in making a small controller similar to yours. 
unfortunately the current link is inactive. 
 

any help would be hugely appreciated. 
 

thank you

Link to comment
Share on other sites

  • 4 weeks later...

Hello Stoo,

I recently purchased a HX Stomp and I plan on building your MIDI controller. Thanks so much for sharing your design with the world. 

This will be my first Adruino project, so hopefully the learning curve won't be too steep.

A quick question, could you please send the reference of the bigger screen. Will the Adruino Nano (posted 2 years ago with the list of items) work with the bigger screen or do I need something else? 

Thank you

Link to comment
Share on other sites

11 minutes ago, Bklyn3 said:

Hello Stoo,

I recently purchased a HX Stomp and I plan on building your MIDI controller. Thanks so much for sharing your design with the world. 

This will be my first Adruino project, so hopefully the learning curve won't be too steep.

A quick question, could you please send the reference of the bigger screen. Will the Adruino Nano (posted 2 years ago with the list of items) work with the bigger screen or do I need something else? 

Thank you

Hiya

The bigger screen I used for the 2nd version was a Nextion 3.2" Enhanced NX4024K032 - https://smile.amazon.co.uk/gp/product/B072FN3SFH/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1 

It might be possible to use that screen with a Nano - I can't say for sure because I never tried it. Off the top of my head I would expect the main complications to be:

Power - I specifically chose that Nextion screen because I saw someone else had been using one powered directly from an Arduino Mega with no issues. It might power from a Nano just as well, but there is also a chance you may need to add an extra 5V supply for the screen if not.

Serial ports - The Nextion touchscreen uses a serial connection to the Arduino microcontroller..... and so does the MIDI communication. The Arduino Mega makes this easy as it has 3 serial ports built in. Unfortunately the Nano only has 1. It should be possible to workaround this by creating a SoftwareSerial connection using some other free pins on the Nano - but that's not something I've tried, so can't really advise you.

Coding - The OLED and Touchscreen versions of my footswitches share almost no code between the two projects. I don't know if you've got any programming experience, but if not, then please don't expect it to be a simple cut and paste job to move the touchscreen code into the Nano-based project. The Nano is very limited on memory space, and it took me a fair amount of work to get the first version to fit in it. All the touchscreen version code was written with the Mega in mind, and would likely be a nightmare to try and squeeze into the Nano.

 

If this is your first Arduino project, then I'd suggest - unless you're reasonably confident on the programming side of things - that you stick to either using an SSD1306 OLED with a Nano, or bump up & use a Mega if you want the Nextion screen. You can easily leave out the expression pedal input part if that's of no interest to you, and the price difference between Nano and Mega is only about £10 for the Chinese clones if you're on a really tight budget....

 

Hope that's of some help....

Link to comment
Share on other sites

2 minutes ago, stoo said:

If this is your first Arduino project, then I'd suggest - unless you're reasonably confident on the programming side of things - that you stick to either using an SSD1306 OLED with a Nano, or bump up & use a Mega if you want the Nextion screen. You can easily leave out the expression pedal input part if that's of no interest to you, and the price difference between Nano and Mega is only about £10 for the Chinese clones if you're on a really tight budget....

 

Hi Stoo,

Thanks a lot for the advise. I think you are right; for my first Adruino project, it is more reasonable to try your original design and improve from there.

Pat. 

 

Link to comment
Share on other sites

Hi There ,

started the project this afternoon but somehow the hx doesn’t respond. The code goes to the right MIDI send statement  but nothing is changing. Is there something to set on the HX stomp side ? The voltage I got is not 5 v on the MIDI plug but 4.7v. Could that be an issue? 
 

thanks. 
 

pat. 

Link to comment
Share on other sites

1 hour ago, Bklyn3 said:

Hi There ,

started the project this afternoon but somehow the hx doesn’t respond. The code goes to the right MIDI send statement  but nothing is changing. Is there something to set on the HX stomp side ? The voltage I got is not 5 v on the MIDI plug but 4.7v. Could that be an issue? 
 

thanks. 
 

pat. 

Shouldn't need to configure anything on the Stomp side. The +5V line won't need to be precisely 5V. I'm not sure what the tolerance is, but 4.7V is very unlikely to be a problem.

Okay - Let's start with the basics....

Which version are you building? The Nano/OLED one or the Mega/Nextion one?

What's your hardware setup so far? Are you building it up on a breadboard? Do you have a photo that you can post?

If you're using the Nano/OLED project then we can try some simplified code which ignores all the switches and screen stuff and should just test the MIDI output on its own

something like ..

#include <MIDI.h>
const int midiSendChannel = 1; // MIDI channel for outbound messages

// Creates and binds the MIDI interface to the default hardware Serial port 
MIDI_CREATE_DEFAULT_INSTANCE(); 
void setup() { 
  MIDI.begin(MIDI_CHANNEL_OMNI); // Listen to all incoming messages
} // end of setup 

void loop() {
  MIDI.sendControlChange(71,1,midiSendChannel); //Scroll Mode 
  delay(500);
  MIDI.sendControlChange(49,0,midiSendChannel); //FS1 
  delay(500);
} // end of loop

If you're using the Arduino Mega then you'd need to specify which of the Serial ports you're using - so on mine for example, I'd need to replace the

MIDI_CREATE_DEFAULT_INSTANCE();

line with 

MIDI_CREATE_INSTANCE(HardwareSerial, Serial2, MIDI);

If you get that code running on your Arduino and have the MIDI port wired up correctly, it should just automatically scroll down through your Preset list on the Stomp, once per second.

If it doesn't work, I'd be looking extra hard at the connections between the Arduino and the MIDI port.

Hope that helps - let us know how ya get on.... Good luck!

Link to comment
Share on other sites

12 hours ago, Bklyn3 said:

started the project this afternoon but somehow the hx doesn’t respond. The code goes to the right MIDI send statement  but nothing is changing. Is there something to set on the HX stomp side ? The voltage I got is not 5 v on the MIDI plug but 4.7v. Could that be an issue? 

Since 2014 the midi spec has actually been 3.3v rather than 5, so anything above 3 wouldn't be an issue. Also as it is a current loop, the low value has always been more important than the high value.

either way midi devices are (by design) very tolerant of voltage levels. So much more likely what you are saying than how you are saying it!

Link to comment
Share on other sites

Hello Stoo, 

No luck with the code.

Here is the code I am using 

#include <MIDI.h>
#include "U8glib.h"


//Initialize display.
U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE | U8G_I2C_OPT_DEV_0);
const int midiSendChannel = 1; // MIDI channel for outbound messages

// Creates and binds the MIDI interface to the default hardware Serial port 
MIDI_CREATE_DEFAULT_INSTANCE(); 
void setup() { 
  MIDI.begin(MIDI_CHANNEL_OMNI); // Listen to all incoming messages
  //Set font.
  u8g.setFont(u8g_font_unifont);
} // end of setup 

void loop() {
  MIDI.sendControlChange(71,1,midiSendChannel); //Scroll Mode 
  u8g.firstPage();
  do {
       u8g.drawStr(20, 40,"Sending 71 1");
    } while (u8g.nextPage());
  
  delay(500);
  
  MIDI.sendControlChange(49,0,midiSendChannel); //FS1 
  delay(500);
} // end of loop

Same as the one you provided with the addition of a u8g command to make sure I reach the MIDI sent instruction. 

For the MIDI connector, I connected the Tx on the second pin on the left (brown on the attached images). My soldering skill sucks but I checked  the continuity of the MIDI cable and do get the 4.7V at the other end of my MIDI but still nothing happening with the Stomp (MIDI connected to the IN ).

I also try with my old POD 2.0 but not working either. To make sure it is not an issue with the Stomp itself, I tried to send a MIDI signal via a keyboard and it worked. I wonder if maybe something wrong with the Tx pin of my Adruino? Is there a way to check that ?

 

One thing I noticed is that when I try to upload the code from my Mac to the Adruino with the MIDI connected to the Stomp, I get the following error message. Sound like my Mac doesn't like to have the MIDI plugged. 

The upload works properly if I first unplugged the midi cable before the upload. 

 

Arduino: 1.8.13 (Mac OS X), Board: "Arduino Nano, ATmega328P (Old Bootloader)"

Sketch uses 10966 bytes (35%) of program storage space. Maximum is 30720 bytes.
Global variables use 634 bytes (30%) of dynamic memory, leaving 1414 bytes for local variables. Maximum is 2048 bytes.
/Applications/Arduino.app/Contents/Java/hardware/tools/avr/bin/avrdude -C/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf -v -patmega328p -carduino -P/dev/cu.usbserial-1430 -b57600 -D -Uflash:w:/var/folders/y8/hmh6g2sx1b9b4dyp6h7bqbp00000gn/T/arduino_build_595367/MidiTest.ino.hex:i 

avrdude: Version 6.3-20190619
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2014 Joerg Wunsch

         System wide configuration file is "/Applications/Arduino.app/Contents/Java/hardware/tools/avr/etc/avrdude.conf"
         User configuration file is "/Users/Patrick/.avrduderc"
         User configuration file does not exist or is not a regular file, skipping

         Using Port                    : /dev/cu.usbserial-1430
         Using Programmer              : arduino
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega328P
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PC2
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    20     4    0 no       1024    4      0  3600  3600 0xff 0xff
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
           lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : Arduino
         Description     : Arduino
         Hardware Version: 2
         Firmware Version: 1.16

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x00

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0xce

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x30

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x06

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x00
         Vtarget         : 3275.2 V
         Varef           : 4.0 V
         Oscillator      : 0.001 Hz
         SCK period      : 35553.4 us


avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0xde

avrdude: stk500_getparm(): (a) protocol error, expect=0x14, resp=0x30
avrdude: stk500_initialize(): (a) protocol error, expect=0x14, resp=0x02
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.

avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x00

avrdude done.  Thank you.

the selected serial port 
 does not exist or your board is not connected


This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

 

 

IMG_1690.jpeg

IMG_1693.jpeg

IMG_1713.jpeg

IMG_1691.jpg

Edited by Bklyn3
Link to comment
Share on other sites

Hi all ,

After restarting all from scratch I was able to have the Adruino communicating with the Stomp. Unfortunately it is still not working properly . Using the original code version 1 posted by Stood with only a quick adaptation to use a SH 1106 OLED, the code produces the right screen behavior and I am able to navigate the different pages. However the buttons are not doing was they are supposed to do :(  For instance , on page 1 button 6 is supposed to turn on the stomp mode  (case 0 case 5 sendControlChange(71,0,1)) but in my case, it toggles between my preset 000 and 063 😕. I pushing the right switch as the screen reverse the color correctly. Something fishy still to be found but I guess that’s part of  the DYI fun. 
 

pat.  

Edited by Bklyn3
Link to comment
Share on other sites

Hey - glad to hear you're at least making some progress!

I'm intrigued as to what might be happening to cause one button to flip back and forth between two presets like that though....

If the currentPage isn't changed, then each switch *should* send the same MIDI command each time (or whatever you've specified in the relevant case block in midiSend, in case you've changed things around at all in there)

If the Stomp is receiving the exact same MIDI message each time, then I would expect it to keep cycling through presets in the same direction each time instead of toggling between 2? Unless you've set up something specific in Command Center to do just that.... 

One thing that might be useful to try is to install a MIDI monitor on your computer.... if your Stomp is connected to the computer via USB, the computer should also be able to see all the MIDI messages sent to/from the Stomp's MIDI interface. I'm not too familiar with Macs, but I'd bet there's a free app you can get for it to inspect MIDI traffic. Might give you some extra clues as to what's going on

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...