The new UMR2 (Universal MIDI Retrofit) adds MIDI input/output functionality to non-velocity-sensitive keyboard synthesizers. Use your vintage keyboard as a sound module that responds to MIDI input or as a MIDI controller that generates MIDI output.
The UMR2 is 100% factory-assembled and supports a wide range of vintage keyboards. It supersedes previous HL MIDI retrofit products including the UMR, CS01-MIDI, VL-1-MIDI, and SKM kits. Installation information is being posted at the UMR2 forum by user request. Please join the forum to discuss the installation for your keyboard model.
Roglok in Germany created this custom enclosure for the UMR universal MIDI retrofit. The i/o connections are exported to a DB-25 connector–which allows a variety of keyboards to be used with the box after a DIP switch adjustment. Music by Roglok and many others is available from the Upitup netlabel.
It is common for an electronic device to have a large number of input buttons (or “keys”). The device’s microprocessor (MPU) must monitor these inputs. Since any MPU has a limited number of I/O pins, it is often not practical to dedicate a separate pin to each button or keyswitch. This is especially true in the case of a musical keyboard. If each keyswitch were given a dedicated MPU I/O pin, a keyboard with 32 or 49 keys might not leave any I/O pins for other functions. To make efficient use of MPU I/O, keys are arranged in a matrix. Almost all non-velocity-sensitive musical keyboards use this approach. What follows is a description of the keyboard matrix circuit and its relation to the UMR2 MIDI retrofit. The UMR2 works with many matrix keyboards, but compatibility with all models is not guaranteed.
Example Key Matrix
The matrix is connected to the MPU by “select” or “common” lines, which are MPU outputs, and “data” lines, which are MPU inputs. To monitor the keyswitch states, the MPU sends a brief pulse to each select output, one-at-a-time. Each pulse “selects” a group of keys. Any closed keyswitches in the group will allow the pulse to pass thru to the data lines, which are “read” by the MPU. All of the keys are read continuously, many times per second. This allows the MPU to respond almost instantly to keyswitch state changes.
There are two categories of key matrix distinguished by the polarity of the select signal. In an “active-high select” keyboard, the state of each data line is low (0V) by default. The select signal is a 5V pulse. In a “active-low select” keyboard, the state of each data line is high (5V) by default. The select signal is a 0V pulse. Figures 1 and 2 below are examples of simple keyboard matrices. Each is a “2/2″ select/data configuration for a 4-key keyboard. In practice, keyboards will have a larger number of select & data lines. Typical 32-key configurations are 4/8, 8/4, or 6/6. 49-key keyboards often use a 9/6 matrix. The maximum number of keys supported by a matrix configuration is governed by the following equation:
k = s * d
Where k is the maximum number of keys, s is the number of select lines, and d is the number of data lines. Note that each keyswitch is accompanied by a series diode. This diode prevents a potentially damaging short-circuit between select outputs. It also allows the MPU to accurately detect the key states when multiple keyswitches are closed.
Figure 1: “2/2 Active-High Select” Keyboard Matrix and Select Signals
Figure 2: “2/2 Active-Low Select” Keyboard Matrix and Select Signals
Example Keyswitch States and Data Waveforms
Below are several keyswitch states and the resulting data waveforms for the simple 2/2 matrix. Note that any possible combination of keyswitch states will produce a unique combination of data waveforms.
Figure 3: “2/2 Active- High Select” Keyboard Matrix, Key A Depressed
Figure 4: “2/2 Active-High Select” Keyboard Matrix, Key B Depressed
Figure 5: “2/2 Active-High Select” Keyboard Matrix, Keys C & D Depressed
Figure 6: “2/2 Active-High Select” Keyboard Matrix, Keys B & D Depressed
MIDI Retrofit: “Faking” the Data
To trigger a note, the UMR2 monitors the select signals of the host keyboard’s MPU. When a select pulse occurs, the UMR2 injects a corresponding “faked” keypress signal into the data lines. To the host MPU, this signal is indistinguishable from a manual keypress. Installing the UMR2 therefore involves identifying the select and data lines in the host keyboard, determining which select scheme is used (“active-high” or “active-low”), and connecting the UMR2 accordingly. For many keyboard models, the connections have already been tested and documented. For other models, installation may be possible after a bit of inspection as described below. Please visit the UMR2 forum for more information.
Figure 7: UMR2 Connections to Host Keyboard Matrix
Identifying a Keyboard’s Matrix Scheme
A keyboard’s select and data lines are typically connected from the main PCB to the keyswitch PCB via a ribbon cable. With a help of a continuity tester, the pins of the ribbon cable can be traced to the contacts of the keyswitches. Select lines are typically tied to groups of adjacent keys. Each data line will be connected to one keyswitch in each group. A few keyboard models differ from this convention. When in doubt, it is wise to use an oscilloscope to identify the select and data lines with certainty.
The keyswitch PCB of the Casio MT-210 is used as an example below. The diodes in Figure 9 serve the same function as the diodes in the schematics above. Their polarity provides a clue to the polarity of the select pulse used: review the connection of the diodes in figures 1 and 2, with respect to the data lines. The keyswitch PCB of the Casio MT-210 is shown in figures 10-13 below. 8 select lines are connected to groups of 6 keys each. The 9th select line is connected to a single key. Note the keyswitch diodes on the underside of the PCB. The anodes are connected to the data lines. This indicates an active-low select configuration. If observed with an oscilloscope, the select waveforms will appear similar to those shown in Figure 2. The UMR2 is configured accordingly.