User Tools

Site Tools


MIDIbox UC (Universal Control)

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



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:

  • 2x Core Module, with one 18F4620 (master) and one 18F452 (slave) PIC
  • 2x DINX4 Digital In Module, serving encoders and buttons
  • 1x DOUTX4 Digital Out Module, for the LEDs of the menu buttons
  • 1x IIC MIDI Module for overcoming the USART bug of the PIC 18F4620
  • 2x BankStick, containing a total flash memory of 768kB for storage of menus, parameters and MIDI SysEx strings
  • 1x Core Module with PIC 18F452 serving as a MIDI merger
  • 2x LCD Module, T6963C based graphical LCD 240×64 pixel, vertical screen
  • 16 rotary encoders with push button functionality
  • 4 buttons with single-color LEDs

Here is a sample screenshot of the MIDIbox UC:

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):

Frontpanel Designer template:

Doxygen documentation of the source code: HTML | PDF

JAVA Editor Software


Editor software project documentation (under development):

ENGLISH: HTML | PDF | local wiki


Sourcecode Java Software: ZIP

Documentation of the source code: HTML (Javadoc format) | PDF

midibox_uc.txt · Last modified: 2011/09/17 17:01 by dougster