English Version Spanish Version French Version

MIDIbox64 V2.x Tutorial

MIDIbox64 is built, the power supply is switched on, the MIDI cable is connected - and now? This lesson shows you, how to operate with the Box.

For a first test you should get a MIDI monitor with MIDI Thru function for the PC to look for the incoming MIDI signals. Most MIDI monitors provide the possibility to forward MIDI data to another MIDI device like your soundcard or software synthesizer. I recommend the MIDI-OX tool from Jamie O'Connell and Jerry Jorgenrud which is really great!



Menu Exec/Right/Left: Navigation through the menus, can be optionally disabled so that the buttons are available as MIDI triggers if the menu functions are not required for your box.


Snapshot/Special Function Button: Press it shortly to recall the last settings, press it long to save the current pot and button settings.
The purpose of this button alternates in some submenus:
In Bank menu: Format Bank
In MIDI Learn menu: set button mode
In Morphing menu: select morph group
In Edit menus: set cursor
In Copy menu: copy bank
In MIDI config menu: switch between MIDI and MIDIbox-to-COM interface
In SysEx menu: Send SysEx Dump

(5, 8)

SFB and MIDI Trigger Buttons: to trigger MIDI events like Note On/Off, Controller, Program Change and to exec special functions which are described here... free assignable via MIDI Learn, on-screen editor or SysEx Dump
In Bank Select and Copy Menu: used to select one of 16 banks quickly (requires BankStick)
Note that MIOS allows to connect up to 128 buttons, but the MIDIbox64 application only handles with 64 buttons maximum to keep the SysEx dump compatible with the old PIC16F implementation.


LEDs: Used to indicate if a button is pressed or not. Especially usefull when a button is configured for toggle mode. Can also be assigned to other functions (-> DOUT mapping)
In Bank Select and Copy Menu: the first 16 LEDs are used to indicate the current selected bank
Special Feature: can also be switched on/off via MIDI
Note that MIOS allows to connect up to 128 LEDs, but the MIDIbox64 application only handles with 64 LEDs maximum to keep the SysEx dump compatible with the old PIC16F implementation.


Pots: Knobs, Faders, Pots... take your favourite name for these things. ;-)


LC Display: for the visualization of pot values and for the configuration. Any display which is supported by MIOS can be used, some examples are listed at the MBHP_LCD page, but also a self-written driver can be used. The screen layout can be customized in cs_m_display.inc

After switching on the box the MIDI monitor should show the controller messages like this: bC 1P XX (C=channel, P=pot 0-7, XX=value). If not: check the circuit, the cable, your Wintendo installation. If this doesnt help, curse Wintendo and your soundcard!
A Debug HowTo can be found here.

Menu Handling

The menu handling is quite simple. The menu page is selected by the Menu-Left/Right Button, and with the Menu-Exec Button the submenu can be invoked and leaved. Below an introduction of the different submenus:


Display Submenu

In this submenu three different display pages are selectable by the Menu-Left/Right buttons:

Display Page 1/1

The first page shows the current bank (here: INT=Internal) and the pot mode (N=Normal, S=Snap, R=Relative, P=Parallax). It shows also the last sent MIDI event. The format (label and number) of a pot event can be customized for every single pot, button events are only displayed in standard format.

Display Page 1/2

Display Page 2

The second page shows an overview of the pot and button row from where the last event has been sent.

Display Page 3/1

The third page is a mix between the first and the second page: pot and button events are only displayed in short hex format, the pot/button row status is displayed at the second line.

Display Page 3/2


Bank Submenu

MIDIbox64 is the worldwide first MIDI controller with an exchangable, hot plug&playable bank storage device: the BankStick. If you find commercial controllers with the same feature in some years, you know from where the idea comes from.
Every BankStick is capable of storing 16 different setups. Since a standard 32k IIC EEPROM is used, these sweet little things are really cheap (about 5 EUR). So just take one stick for Reaktor, one for Logic (or Cubase/Cakewalk/Sonar/Ableton of course), some for your Synthesizers, etc... :)
The simple circuit diagramm for the BankStick can be found here.

The BankStick

An opened BankStick case. I'm using 9 pol SubD plugs, but you can also decide to use another type of plug with at least 4 pins.

No Stick found

An asterisk (*) is added to the bank number if no BankStick is available. The MIDIbox switches automatically to the internal bank.

Stick found

The asterisk (*) disappears immediately as soon as you plug the BankStick into the socket. Now you are able to select the bank with the Left/Right Menu buttons.

Bank LED

One of 16 LED lights up, depending on the selected bank.

Manual Select

You are also able to select a bank directly with the lower MIDI Trigger Buttons - only in this menu.

BankStick Format

By pressing the snapshot button for 2 seconds the BankStick will be formated.

BankStick Format

The formatting procedure copies the internal bank into the external bank

Multiple BankSticks

Note that with V2.x up to 8 BankSticks can be connected to the MIDIbox, so that up to 128 Banks are available.
A bank can also be selected via MIDI (-> Program Change command)


Global Channel Submenu

Global Channel --

When -- is displayed, all events will be sent over the predefined channels which are stored in the Bank.

Global Channel 3

Use the Cursor Left/Right button to select a global MIDI channel which will be used for all pot and button events instead of the predefined channels.

MIDI Learn

MIDI Learn Submenu

The MIDI Learn function allows to customize the pots and buttons for your own needs. How does it work: plug a MIDI cable from the MIDI IN port of the MIDIbox to the MIDI Out port of your keyboard or PC. Enter the MIDI Learn Mode. Now, the box waits for a message from MIDI IN:

MIDI Learn 0

Send a controller to the MIDIbox (just use your Synth or MIDI-OX for this). The MIDIbox regogninzes all MIDI events and displays the last received one:

MIDI Learn 1

If you want to assign the event to a pot, just turn it "total right" and to "total left". If a button should learn the event, just push the button.

"Learn Single" means, that the controller will be learned from one Pot or Button, only. But sometimes, it is usefull to assign all pots or buttons with the same controller but for different channels. MIDIbox offers a special function for this, just select it with the menu buttons:

MIDI Learn 2

It is also possible to increment the controller value automatically. This is favorable, if all pots or buttons should be quickly assigned to unique numbers:

MIDI Learn 3

A special feature is implemented for the buttons: the behaviour of every button can be specified with the Snapshot Button before a event will be assigned to it:

MIDI Learn 4

Send learned value when button pressed, send zero when button released.

MIDI Learn 5

Send learned value only when button pressed, don't send a zero value when button released.

MIDI Learn 6

Send learned value with the first keypress, send zero value with the second keypress.

Beside of controller events, Note On/Off, Program Change, PitchBender, ... can be learned:

MIDI Learn 7 MIDI Learn 8 MIDI Learn 9 MIDI Learn 10 MIDI Learn 11 MIDI Learn 12

Morphing Fun

Morhphing Function

The morphing function allows you to fade smoothly between two pot scenes - between the current position of the pots and the position which are saved in a bank - with a single pot.

For using this function, you have to declare at least one of the pots as Morphing controller. Up to 5 pots can be assigned: one is used to morph all pots at once (Gl=global), the other four to morph every pot row separately (G1/G2/G3/G4=Group 1/2/3/4).


The pot number can be selected by using the left/right button, the cursor position with the snapshot button. In this example the first pot is used to fade all pot values.


This example shows how to configure the MIDIbox64 to morph every pot row separately. The first pot of every row is used here


In this example pot #1 is used to morph the first and the second pot row, and pot #2 to morph the third and fourth pot row.

Morph Bank Select

By pressing one of the 16 bank select buttons you can morph between different setups which are saved in the BankStick. By holding the bank select button for 2 seconds, the current pot positions will overtaken to realize jumpless parameter moves.


Pot Behaviour

(Ideas to this modes were originated by Frank and Kieran. The Descriptions are partly quoted from the Access Virus Synthesizer Manual. Copyright 2001 by Access Music GmbH. See the MIDIbox Forum for further details)

PotMode 0

Normal Mode: the parameter jumps directly and absolutely to the value determined by the current position of the knob.

PotMode 1

Snap Mode (Soft-Overtake): When you adjust a knob in Snap Mode, the original setting determines the value until the point where the movement of the knob passes beyond this position. In other words, the parameter does not jump to the value as in Normal Mode. However, keep in mind that your adjustments have no effect on the parameter until the knob "snaps" on at the position equivalent to the original parameter. In SNAP mode, an right arrow symbol appears instead of the parameter bar. It indicates in which direction the knob must be turned to exceed the current parameter value. Arrow Left implies the value is lower. The parameter bar appears when the value is "snapped".

PotMode 2

Relative Mode: When you adjust a knob in Relative Mode, the parameter is affected immediately but not absolutely. In other words, the parameter change from the original value to the new value now reflects precisely the amount you adjusted the given knob. ie if the knob value is +30, and when you switch over, the value is now +50, the knob continues on as if it were at the parameter-set +50 position, so when you turn the knob (even though the knob physically is at +30) the next parameter value will be +51 (even though the knob is at +31). Obvoiusly, the downside is that in an unfavorable configuration - the worst case scenario being a maximum parameter value and a knob position at the minimum value - you do not have the full control range of the knob at your disposal. To counteract this situation, you have to turn the knob in the opposite direction to adjust the physical knob position so that it is equivalent to the actual parameter value (ie. turn the knob up to maximum, which will sync it with the maximum parameter value).

PotMode 3

Parallax Mode: The name is cool, isn't it? ;-) A description regarding this mode can be found here

Edit Bankname

Integrated bankname editor

In this menu page the bankname of the current selected bank can be edited. Use the left/right button to change the character and use the snapshot button to move the cursor.
Edit Bankname

Edit Events

Integrated MIDI event editor

In this menu page the MIDI events assigned to the pots and buttons can be edited directly. Select the pot or button by moving (touching) it, use the left/right button to change the value and use the snapshot button to move the cursor.
Edit Pot Event Edit Button Event

Edit Lable

Integrated pot label editor

In this menu page the labels and number formats can be edited for every single pot. Select the pot by moving it, use the left/right button to change the characters/number format and use the snapshot button to move the cursor.
Edit Label

Copy Bank

Copy submenu

In this menu the current bank can be copied to another bank.

Copy select

The target bank can either be select with the left/right buttons...

Copy Buttons

...or with the bank select buttons.

Copy start

Hold the snapshot button for 2 seconds to start the copy procedure.


MIDI Config. submenu


The MIDI merger allows you to plug the MIDIbox and a keyboard to a computer w/o the need for a second MIDI In interface. Just plug the MIDI Out of your keyboard to the MIDI In of MIDIbox and the MIDI Out of the MIDIbox to the MIDI In of your computer.


If you connect the MIDI In of the MIDIbox with MIDI Out of your computer, you should disable the MIDI merger in order to avoid endless feedback loops.


If multiple MIDIboxes should be cascaded based on the MIDIbox Link concept, all MIDIboxes have to be declared as MIDIbox Link Forwarding Point...


except for the last MIDIbox which has to be declared as MIDIbox Link Endpoint.

Note: In this menu, you are also able to enable the MIDIbox-to-COM option with the snapshot button (4). Find more informations at the MIDIbox-to-COM Interface Page!


SysEx submenu

In this submenu the device ID can be selected, and a SysEx dump can be triggered manually by using the Snapshot button.
SysEx menu
See also the SysEx HowTo for further informations.

MIDIbox wiring

Find some examples below. MIDI In of a MIDIbox has only be connected if you would like to use the Snap/Relative/Parallax (or Motorfader) Mode, the MIDI Learn function or the configuration via SysEx. If the MIDI Thru function is enabled in your sequencer (default setting in Cubase!) switch off the integrated MIDI merger of the MIDIbox in order to avoid feedback loops!

merging example 1

merging example 2

merging example 3

merging example 4

FAQ, Tips & Tricks

Please find the collected knowledge in the MIDIbox Wiki and at the MIDIbox Forum, and don't forget to take a look into Tor Arne's great Walkthrough

Last update: 2023-11-04

Copyright 1998-2023, Thorsten Klose. All rights reserved.