T950 Keyboard Controller Clone


After completion of the filters and a kind of output and interface stage (TCP3A) I already had a quite useful bundle of modules to be used together with my other modular system, the Formant. I've already used this setup in several of my music productions.

So now it was time to start with the modules for a stand alone instrument, and I decided to build the keyboard. Of course it should be a moog clone again, so I took a closer look at the 950, the monophonic keyboard controller of the System 55. Yes, I hear you yell, why the heck don't you buy a MIDI keyboard and use a MIDI2CV/GATE interface?!? Very easy. The aim of this project is to learn about, to understand, to work with, to reproduce the Moog circuits, as I've done it with the other modules so far. So here is the circuit of the 950, and DO SOMETHING WITH IT!

It should have been an easy job at first glance. The circuit of the original 950 is quite simple, only a few components, control voltage and gate handling, portamento, that's all. But the realization of my clone became a quite difficult job, because of the claviature: It was quite hard for me to find a 5 octave control voltage and gate claviature on the market. Finally I found one, but the contact wires were deformed and dirty, cleaning and repair impossible.

So here was the first challenge: interface a Fatar keyboard! Hm, the 950 circuit is not able to work with a Fatar claviature. So I developed a microcontroller circuit to interface the Fatar claviature. Yes, I can hear the next yell of you, and you are right! I used a microcontroller circuit to degenerate a modern Fatar keyboard to a monophonic CV/GATE claviature, which can be interfaced by the 950 circuit. But remember, this is an academic approach to be able to study the 950 circuit, I mention once again.

But then I had a brilliant idea: As I had a microcontroller circuit "on board", why not integrate a MIDI interface? I did this and here is the result: A MOOG 950 KEYBOARD INTERFACE CLONE WITH MIDI CAPABILITIES!!

Panel / human interface of the T950

Some components of the panel can be recognized as elements from the original 950, like PORTAMENTO, PORTAMENTO CONTROL, SCALE, RANGE and INTERNAL / EXTERNAL selection. Others are new, like the DIN connectors for ISP, MIDI IN, MIDI OUT, MIDI THRU and the RESET button.

But here in Detail:
  • MIDI PROGRAM INTERNAL / EXTERNAL: The former INTERNAL / EXTERNAL switch of the original 950 selected the internal resistor string voltage devider values for CV generation or an external potentiometer bank to set the note tuning key by key, the switch of my T950 selects the internal Fatar keyboard as CV source or an external MIDI command.
  • SCALE: This changes the reference voltage for the CV creation of the T950, meaning a voltage difference of 0.9 to 1.1 volts / octave is adjustable. In the original 950 this reference voltage was the input for the key voltage dividers, in my T950 it is the reference voltage for the DAC of my microcontroller board.
  • RANGE: This adds a constant voltage offset to the output CV of the controller. It works exactly as in the original 950.
  • PORTAMENTO CONTROL: This switches on or off the portamento (glide between two notes).
  • POTAMENTO: This determines the time the glide between two notes lasts (of course the distance of the notes are also important).
  • MIDI IN: If the MIDI PROGRAM switch is on EXTERNAL, this is activated for receiving.
  • MIDI OUT: If the MIDI PROGRAM switch is on INTERNAL, each keystroke of the T950 keyboard is provided as MIDI command here.
  • MIDI THRU: MIDI IN commands are forwarded to this connector, independant from MIDI PROGRAM switch position.
  • ISP: Connector for uploading software to the microcontroller board of the T950.
  • RESET: In case of software crash...

Features of the T950:
  • 5 Octaves
  • monophonic CV / GATE keyboard
  • 1 channel MIDI interface
  • monophonic MIDI OUT

Circuit descriptions:

The whole T950 keyboard clone consists of three boards / submodules:

1.) The microcontroller board for interfacing the Fatar keyboard and acting as MIDI2CV/GATE - interface
2.) The 950 controller clone T950 for the analog voltage processing
3.) The interface board in the main cabinet of my System 55 clone

Microcontroller board:

Now I can say: "This is my standard controller board for Fatar and MIDI applications", as I've built this for my other synthesizer projects several times. I just added some little specials for the T950 interface, that's all.
Schema of microcontroller board (Clicking the schema means acceptance of the link disclaimer of page bottom!)
The circuit is built around an ATmega8535 controller. As always I provided an ISP interface to be able to develop the software in parallel to the building process directly in the target board without using a programmer.
The MIDI connections are standard hardware: MIDI IN connected via opto isolator to RXD, MIDI thru is just a buffered follower of MIDI IN, and MIDI OUT a buffered output of TXD. All MIDI connections are standard current loop physics.
The T950 clone is interfaced via three wires: SCALE IN is a reference voltage provided by the T950 clone and feeds directly the DAC, which provides the analogue control voltage output (PITCH OUT). The TRIGGER / GATE OUT is just an controller output pin (5V) and has to be converted to Moog S-Trigger by the T950 clone (see below).
The INTERNAL / EXTERNAL switch is connected to a controller port pin and is checked by software.
The Fatar claviature is interfaced via multiplexer and bus transceiver components (for detailed description see uNet - keyboard documentation)

Mode of operation: The software scheduler checks the Fatar claviature or the MIDI IN serial input depending on the INTERNAL / EXTERNAL switch position.
Internal processing: A pressed Fatar key causes the software to provide the corresponding voltage at CV out (via DAC) and sets the GATE output to high (+5V, positive logic). If more than one key is pressed, the lowest key is processed (monophonic behaviour). Additionally a corresponding MIDI sequence is created and sent via MIDI OUT. Incoming MIDI messages are ignored, although they are forwarded to MIDI THRU.
External processing: The Fatar keyboard will not be scanned. Key pressures are ignored. Incoming MIDI messages are forwarded to MIDI THRU, but processed only if they come from channel 0 (first byte 0x90). Note off is expected as volume zero message. The incoming note value is converted into an output control voltage, note on and note off events cause the gate pin to switch on and off, so the MIDI software can be considered as a primitive. Perhaps some additional functions will be possible later.
Software of microcontroller board (Clicking the software means acceptance of the link disclaimer of page bottom!)

T950 board:
So this is the board I was interested in. The 950 is the first keyboard controller from Moog, as far as I know, and this is the circuit I wanted to check out. I created a LTSpice simulation of the original Moog drawing, but the real prototype showed some drifting behaviour of the output voltage, so I changed the circuit a bit for a more stable operation. LTSpice schema drawing of T950 clone board (Clicking the schema means acceptance of the link disclaimer of page bottom!)
For the original 950 circuit please refer to the Moog System 55 service manual which can be easily found on the web.

Mode of operation: Q4 and Q5 create a reference voltage which can be adjusted by the SCALE pot and trim. This voltage was fed into the resistor string of the original Moog keyboard, but my clone solution just uses it as reference voltage for its DAC based output voltage creation (SCALE OUT), but anyway, the effect is the same. The reference voltage is the amount of voltages for the five octaves meaning for 61 keys. 5V means exact 1V per octave, higher or lower reference voltages change this behaviour of course.
I used the original resistor and potentiometer values of the Moog circuit and this resulted into a SCALE range from 4.86 V to 5.1 V for 5 octaves. It is not a big range, but fits to the warming up phase of CA3086 or CA3046 transistor array based oscillators, so temperature drift of those oscillators can be equalized within this range quite precisely. And of course by changing the resistor values evry range can be created.
The Pitch Bar represents the response of the claviature circuit. In the original keyboard this was created by the voltage devider resistor string which was interrupted by the depressed key. In my clone solution this is created by the DAC of the microcontroller board, which scans the Fatar keyboard and so on.
The Trigger Bar contains the gate signal, 0V if no key is pressed, 5V if one or more keys are pressed (positive logic).
The circuit diagram (LTSpice) shows the circuit with activated portamento (Glide ON). When a key is pressed the gate signal closes the relay and the control voltage is passed to the capacitor C1 via portamento potentiometer P9, R1 and R3 and to the gate of the FET Q1. The Source of Q1 creates the outgoing control voltage of the keyboard via RANGE potentiometer, Q2 and Q3.
The positive logic gate is inverted by Q6 and works as current sink for modules which work with S-Trigger (Short-to-ground trigger). As the collector of Q6 is connected to +12V, the gate off state is represented by near +12V (11.5V), and the gate on by 0V / ground level (negative logic).
For the case that portamento is switched off I changed the circuit of my T950 clone compared to the original. The idea of the original circuit was to bridge the portamento pot to switch off portamento. But during my tests I realized that the note jump was direct indeed, but the output voltage was drifting up and down slightly, perhaps due to the capacitor or other components. So I decided to forward the DAC output directly to the gate of the FET Q1 in case of NO PORTAMENTO and bridging the whole analogue circuitry before it. This works better.

See below the output voltage behaviour with deactivated and activated portamento while toggling between C1 and C2.

Voltage out by short toggle between C1 and C2 without portamento

Voltage out by short toggle between C1 and C2 with portamento

Interface board:

This is just a small breadboard with a 5 pole DIN socket providing +15V, ground, -15V and receiving the S-Trigger and control voltage from the keyboard.

Differences to the original circuit:

Differences in components / circuit between T950 and 950:
  • As I don't know which relay was used originally I took a standard reed relay.
  • All NPN transistors have been replaced by BC547C type.
  • All PNP transistors have been replaced by BC557C type.
  • All diodes are 1N4148
  • The FET is a BF245A type
  • All capacitors are changed to actual values
  • R19 has been changed from 470k to 1000k to reduce current consumption when STrigger is on.

Microcontroller board / Fatar interface / MIDI2CV/GATE interface:

From left to the right: 3 pole series terminal for connections to the T950 board, MIDI connectons, microcontroller, DAC, 5V regulator, multiplexer, Fatar claviature connectors (upper / lower half of the keyboard), 3 pole series terminal for power supply.
From lower left to upper right: Relay, series connector for interfacing the microcontroller board, reference voltage creation, portamento handling, scale control, power regulators +12V / -6V, series connectors for power supply, CV and S-Trigger output.

T950 board:

Main cabinet interface:

From left to the right: PSU connector, series terminals for keyboard connection, series terminals for providing CV and gate.
Everything else is bigger than the T950 board...

Mounted boards:

If you have any questions, suggestions or comments:
Mail to: Carsten Toensmann


No warranty for completeness or correctness of technical descriptions, schemas or any information provided on www.analog-monster.de/* pages.
Contents of linked pages are in responsibility of the page owners and analog-monster dissociates from them.
All information provided on www.analog-monster.de/* pages is in ownership of www.analog.monster.de (except especially marked) and for private use only. All rights reserved.