This is the home of the MIDIbox UC.
It was created during a one-semester university project. You can find the existing documentation, sourcecode, and Java Software for programming it here!
Beware that this is work based on the old 8-bit core (PIC-based). Back then, the Core32 did not exist, on which the implementation would be FAR easier. E.g., there you can directly connect 2 LCDs (no need for chaining 2 cores as done here), you have the SD card as a virtually unlimited memory (no hassle with creating a single address space across banksticks), usage of a third PIC just to have a MIDI merger, and so on. Before trying to copy the design presented here, you might want to think about re-implementing this on a Core32.
The MIDIbox UC is a computer programmable sysex hardware controller to handle any kind of MIDI programmable synthesizer. Additional to all MIDI standard messages like control change, rpn/nrpn, note or pitchbend, it is also able to request the synthesizer's edit buffer to sync the programmed parameters with the actual values of the synth. Also it is able to send variable sysex messages if the synthesizer does not understand MIDI control change commands. Of special interest is the ability to control older synthesizers from the 80's to the early 90's with a minimal user interface. The MIDIbox UC can manage over 1000 parameters per synthesizer and store a total of 16 synthesizer “patches”, i.e. complete control settings for 16 different synthesizers.
MIDIbox UC contains the following hardware:
How to programm the box and to navigate trough all these parameters? You can find all the information in our documentation. To construct your own MIDIbox UC, please also study the documentation.
Here you find the documentation of the MIDIbox UC. The Project was formerly called MIDIbox GLCD, so whenever the documentation says MIDIbox GLCD you know what that means :
Project Hardware Documentation (debugging state):
Sourcecode MIDIbox (PIC18F4620): midiboxuc_hardware_source.zip
Frontpanel Designer template: