Layout of the Keypad Matrix in the Yamaha QY70 Use this information however you like: but use it at your own risk. I believe all this information is correct, but my main goal in collecting this data was very specific: I wanted to find out how to scan for two specific keys. If you alter your QY70 in any way it'd be wise to verify that any information you're relying upon is correct before you proceed. The keypad connector has 20 pins. These are visibly numbered on both the main PCB and the keypad PCB. Pins 1 and 20 connect to ground Pins 10-16 correspond to groups of keys: the QY70 pulls these low one at a time, in sequence, in order to scan the keypad. Pins 1-9 are pulled high (via pull-up resistors on the QY70 main board) - when one of these pins goes low, it means that a key has been pressed, creating a circuit with one of the pins in the 10-16 range. Pins 17-19 control the LEDs. Pin 17 is the cathode for the green LED, pin 18 is the cathode for the red LED, and pin 19 is the anode for both LEDs. (Note, however, that on the QY main board, pin 19's connection to the voltage source is not direct: it goes through a resistor, if I remember correctly. Therefore, sadly, pin 19 is not useful for powering other circuits. Some of the key switches have diodes attached to them to prevent keypad "ghosting" effects when multiple keys are pressed. All the piano keys, SHIFT, and +1/-1 have diodes in series. The cathode side of the diode connects to one of the pins in the 10-16 group, while the anode connects to the keyswitch itself. Key groups: Pin 10: Piano keys high D, D#, E, SHIFT, +1, -1 Pin 11: Piano keys from high F# up to C Pin 12: Piano keys from low A up to F Pin 13: Piano keys from low E up to G#, Oct up/Oct down Pin 14: Directional keys and ENTER Pin 15: MENU, the four function keys, and EXIT Pin 16: The sequencer keys (record, stop, start, top, back, forward), SONG and PATT Columns within groups: Pin 2: PATT, piano keys low A, mid F, high C# Pin 3: SONG, EXIT, Enter, piano keys low G#, mid E, high C Pin 4: forward, Function key 4, right, piano keys low G, mid D#, high B, +1 Pin 5: play, Function key 3, down, piano keys low F#, mid D, high A#, -1 Pin 6: back, Function key 2, up, piano keys low F, mid C#, high A, SHIFT Pin 7: stop, Function key 1, left, piano keys low E, mid C, mid G#, high E Pin 8: top, Octave Up, piano keys mid B, mid G, high D# Pin 9: record, Octave Down, piano keys low A#, mid F#, high D For my backlighting project I added a microcontroller which monitors the SHIFT and F3 keys in order to decide when to toggle the backlight. In order to do this it waits for pin 10 to go low and then immediately checks pin 6 to get the state of SHIFT. Once it successfully reads the state of SHIFT it checks F3 by waiting for pin 15 to go low and then checking pin 5. In each case, after reading the column pin, it re-checks the group pin to make sure it's still selected. If not, the attempt to read that key is considered a failure and the micro waits for the next scan. The QY scans the keyboard pretty quickly (based on difficulties I was having in my early attempts, I'd say each group is pulled low for just a few microseconds before the QY moves on to the next group) - so this specific strategy, of waiting for a chance to read one of the two keys, and then the other, was chosen in order to make sure both keys would be read successfully no more than one frame late.