128 switch MIDI Program change device

Hello Friends, :slight_smile:

I am new to coding and all the stuff. My background is electronics and I am musician.
Sorry for my English.

I have one device which changes programme in Musical keyboards or MIDI instruments.
This device in not made by any company. it's made by one person in my back home in India.

Basically, it sends MIDI program change message to other devices via MIDI connector to other MIDI device or Instruments.

When I got this device it was in metal casing and heavy with no backlight on numbers.

So, I modified it with light weight plastic case and added backlight to see numbers when there is a low light or dark on stage while performance.

I am using it with my keyboard and sometime MainStage software to change sounds.
The device is so important to me and I really appreciate and thankfull to the creator this device whoever have made this.

I am posting few Pictures of the device to understand more clearly.

The device is using Atmel AT89S52 Microcontroller and HD74LS00P and HD74LS138P matrix scanning ICs.
And the program is written in HEX I think. so, I can't even look in to the source code to understand how to write new. Microcontroller is locked so, I can't see the code.

It's using one LCD display with AT89c2051-24PU microcontroller. driven by 3 pin serial connection.
It just shows the number on the screen when I press any number on keypad. other than that it's showing the fixed message.

Now, my main concern is the device is big to keep on my keyboard to operate. I have to carry separate stand to use and operate the device in live performance and sometime I can't manage ti keep it in proper place to operate. Because of this issues I want to modify the device and use Arduino MEGA 2560 R3 instead of T89S52 Microcontroller.

I don't know how to write the code for 128 switch which will send MIDi programme change message.

I will be grateful of someone can help me on this.
Any any any help will be appreciated.

I don't have any professional or profiting intention by doing this. I just want to use this for my own musical purpose.

Thank you.
Sorry for the long story.... :smiley:

I like where your heading and I am trying to implement some midi ideas for using with an Axe-Fx. Primarily I want to be able to display the program changes it sends out so you know what preset it is on and so forth. I have learned alot from a guys YouTube channel called Nuts and Volts and you might gain some knowledge from him.

Curious in your setup as I am used to program or preset changes in banks of ten where I have a bank up and down switch and the display shows which bank of ten I am on and then its a just adding the first or ones column to finish and go to the preset number.

In the Axe-Fx there are 6 banks of 128, but I have found the format of banks of 10 works really well. My first or early midi pedals did a similar thing where you used a button that scrolled thru the tens column and you simply entered the first digit and it made the change upon entering the number in the one's column. so if you want PC 84 you would bank up to the 80's bank then upon pressing 4 then pedal sends the PC 84. Using this method would save on alot of buttons, wiring and programming. Just a thought.

I use several different midi controllers but have wanted to be able to have a pedal that monitors whats happening. I first started using a FCB1010 midi controller by Behringer which is a great value but features are lacking but a great aftermarket making chips for it that makes it a great controller. UnO is one of the leading makers of chips for the unit and they have a new one called the UnO2 which makes it a very powerful midi controller that does thing most controllers do not do. I asked the guy who designs the chips about how could I be able to access any of the 768 presets in the Axe-Fx on the fly and the attached pdf was his response and the editor how to using the UnO2 editor to program each switch and the bank. Now UnO has nothing to do with Arduino as such but this programming scheme might be something to consider which I can on the fly go to any of the 768 presets on the Axe-Fx using this method

Keep up the good work and I look forward to seeing how you get there

Daave

Ossandusts 1 bank preset code.pdf (115 KB)