Expression pedal with Arduino

got something working:

ControllerSax_display.ino (7.6 KB)
I heavily cleaned up the sketch and removed all unnecessary preprocessor conditionals, so it is much more readable. But it assumes that you use a Arduino Pro Micro with 16 pots attached via a 4067 muxer.
Starting at line 49 you’ll find the CC strings. I simply copied them from the screenshot above, so you will need to edit them to your mapping/liking. A \n indicates a linebreak, each line holds about 12 characters, only 2 lines possible.

OLED.zip (14.4 KB)
this is the display driver, simply extract it and put it in your libraries folder

PotDisplay.zip (2.8 KB)
this is the code that I wrote. I bundled it in a lib to prevent clutter, also extract it and put it in your libraries folder.

NB: the Audio Modeling logo screen is obviously a bad copyright infringement :wink: let me know if you want something different

2 Likes

@mbvs I am speechless…
I’ll try it this evening… yes, I have an Arduino Pro Micro + Mux.
Please let me know if I can thank you on the site you linked.
As soon as it works (because I’m sure it will work…), I’ll put the photos here.
Thank you again

I’ve done much worse!!!
fc54ba8cdb6b47fbbbc2f0ca80b63be574cf2315_2_690x411

1 Like

It works perfectly!!!
I just have to print a new support as I didn’t realize that there is a colored band that I have to put at the top of the display.

THANKS!

Great, didn’t expect it to work on the first try!

On my testbench I noticed some jittering on the analog reads, maybe because of the crappy pots I use, but if you experience this, try cranking up varThreshold on line 81.
If you want to edit the time the value stays in the display, change MAX_IDLE_FRAMES on line 16 in the file potDisplay.h.

1 Like

Perfect thanks.
No, with my potentiometers she has no flickering.
As soon as the media finishes printing, I connect everything to the iMac and try the virtual instruments.

@mbvs OOOOPPPPS!!
It doesn’t send messages… but now I’ll look into it too to see if I find anything.

Apologies - messed it up on the way (also deleted your system up led).
this should work:

ControllerSax_display.ino (7.6 KB)

[edit: 2023-09-25 16:37]

@mbvs
Don’t worry, you’re already doing enough.
It doesn’t work… Midi-OX gives me this error:
Insufficient memory for the task.
Close one or more applications to increase available memory. Then try again… I loaded the old sketch and Midi-OX works.
Don’t go crazy… take it easy. Thank you

P.S.
It works perfectly…
I just had to increase the number of ports because you used 2 while I have 16… Thanks

yeah, I first missed that - you were too fast :laughing:

I don’t have 16 pots around, so I work with two but have to edit the file before uploading here.
Don’t hesitate to report - it is always the last kinks and bits who take the most effort to iron out!

Don’t worry… Everything perfect.
I just configured the Soprano, Tenor and Flugelhorn… PERFECT!!

This thing of helping others is nice… I thought it was over with the last real radio amateurs… now for a circuit with two resistors and a capacitor everyone gets paid. You and @riban are two angels…

Now I’m enjoying the new toy… but tomorrow I’ll read your sketch because I want to learn something new…

You didn’t tell me if I can thank you on the site you attached. :wink:

again, don’t hesitate to ask…

honestly, I don’t know which site you mean - the one which I linked to about the benefits of helping?
This is totally unrelated to me, I am not a student there.

1 Like

Ah OK!
However, honor to you for being inspired by these good initiatives.

Everything perfectly configured and working. Thanks @mbvs
I split the 16 controllers in two (ideally, not with the saw).
The group you are adjusting now appears on the display (Winds or Strings).
8 controls for the winds and 6 for the strings, while there are two for both Volume and Vibrato. For the Expression I use the previously built pedal.

1 Like

:open_mouth: At first glance I thought you have TWO displays mounted. Now everything clear!
I am bit puzzled about the first line in yellow - you don’t have a RGB display, have you?
Anyways, I am eagerly looking forward to your next contribution in “Latest musical effort”!

2 Likes

The yellow band is nothing more than a colored piece unfortunately applied under the glass… I didn’t notice this when I bought it.

You can listen to the Soprano Sax in the last song I published… Águas de março. In this song I used the controller when it still had no display.

Yep! Some of these displays have a yellow filter at the top to give the impression of the topbar being separate from the rest. This can be useful if your display has a top bar that you display info but often it just gets in the way of what you want to do.

2 Likes

didn’t know this - but it looks like that I accidentally got the line spacing right?

Everything’s perfect! I modified the text (the /n command which I didn’t know was very interesting) to divide the controller in two. This is because the controls for wind instruments are different from those for strings, apart from Volume and Vibrato.

I just looked into the code, if you ever have the need for a single line - this would probably got divided in half. Vertical position of a single line can be edited at line 126 at the bottom of potDisplay.cpp where you see the value 10. This is the vertical distance from the top in pixels.