geekhack Community > Keyboards

Reverse engineering a Vector Graphic 4 Key Tronic kb

(1/3) > >>

I fell in love with this keyboard from a Vector Graphic "Vector 4" and want to retrofit it, as intact as possible, to USB.

I can't find any schematics online but have mostly reverse engineered the board. What I haven't made progress on is the data protocol. I don't have a logic analyzer so I was trying to use an Arduino Uno as a cheap LA. The problem I ran into was power. The Uno is only passing through about 4.8V (not sure of the current) without the keyboard attached-- and *with* the keyboard, only about 3.4V, which I presume is insufficient to run the ICs.

So I guess I'm really asking two things:
1. how to provide more power without damaging the Uno
2. how to actually reverse engineer the protocol that the keyboard speaks?

To answer part of my own question:
1. I used a USB wall wart to provide 5V to the keyboard, and kept powering the Arduino from the computer. I connected the grounds together.

Now, when I release the ground on pin 2 of the connector, the piezo beeps, which I believe means the board is reset. Progress, slow, but progress.

I still don't see any data on the data line (pin 6) when I mash the keys. Possibilities are:
1. All the foam has degraded/the foil can't make contact
2. The EX22-05- and/or 22-908 are dead. Evidently these commonly succumb to static electricity
3. TBD.

"1. All the foam has degraded/the foil can't make contact "
^ was the problem. Every single foil was degraded (and the foam was worse) and not making contact.

I removed the key assembly from the circuit board itself, and tried typing on the bare pads. Success! There's definitely something being sent back on pin 6, when I type. And it's not random!

Next up, try to figure out how to detect start of message and end of message, and how many bits per message, and how fast to read them...other than that it's great.

Glad to see you're getting somewhere, sadly support is all I can offer with this.  Didn't even know you could use an arduino as a logic analyser so thanks for mentioning that :thumb:

 Did you see this?

--- Quote ---Terminal only had a parallel keyboard, and a B/W monitor. All video and keyboard interface was via S-100 card called Flashwriter, with all power signals passed via a DB-25 connector.
--- End quote ---

Or this?

--- Quote ---The keyboard in the Vector 3 is a capacitive keyboard made by Keytronics These keyboards have a great feel, but unfortunately, the foam pad present in each key deteriorates over time and virtually all keyboards of this type and vintage do not work properly (if at all). A good source for replacement pads is a Sun "Type 4" keyboard. Even though the Sun keyboards are just ten or so years newer than the Vector keyboard, they use a different type of foam that doesn't break down so quickly. Search the internet for "Sun keyboard" followed by "320-1018". This is a French Canadian version of the keyboard and is the most readily available and least expensive version. In addition to replacing the foam pads, I gently sanded the key "capacitors" on the bare PCB with a very fine grit sandpaper (600) and then wiped the board clean. Based on past experience, this step reduces the likelihood that some of the key positions may still not work.  (photo courtesy of
--- End quote ---

With 4(?) wires to connect the keyboard I'd guess serial communications.
My first guess would be 1200 baud, but in those days the choices were anywhere between 110 and no more than 9600 baud.

The large chip above F7, F8, and F9 has got to be the microcontroller. (8048 was a common type back then, but I can't read the numbers). 40 pins.

The keyboard is almost certainly done as a matrix. Possibly extended with a shift register (below Z5 on the PCB.)

If you can give us the numbers printed on the chips that may help. Certainly it will tell you the required voltages needed. (Probably 5V)

To re-purpose it to modern (as opposed to restore for old) I would:

* Pull the 40 pin chip out
* Test for continuity between every 2 pins. If you find any ignore them in the next steps
* Press a key. Inserting a coin between 2 keycaps can hold it down
* Test for continuity between every 2 pins. When you find some write it down.
* Repeat for all keys
A pattern will emerge. That's your matrix.

Program a ProMicro to match the matrix, wire it to a 40-pin header, and insert into the old microcontroller socket.
Power and communicate with the ProMicro.

Success. (Well, I could have missed a few steps.)


[0] Message Index

[#] Next page

Go to full version