Electric typewriter

We need some help decoding the scanning protocol for a vintage electric typewriter. My students got an old electric typewriter at Goodwill for $10. We found that the keyboard is controlled by two rows of 12 pin headers. The two headers form two sides of a matrix. We were able to decode the matrix and can cause the typewriter to type any key (or key command), by shorting a pin from one of the rows with a pin from the other row. So far, so good.

The problem is that now we want to control the keyboard ourselves. Using a scope we have tested every pin on both rows there are no pulses on either side. Some pins are permanently high and some are permanently low. So how the heck is the keyboard scanning?
We must be missing something obvious. Any suggestions?

Maybe it is some kind of resistor matrix keyboard... as per the following


Back in the mists of time converting an electric typewriter into a computer printer was a popular project because printers were so expensive and teletype machines too large. Maybe some digging on the web will yield some clues and maybe even some circuits.

Maybe some clear, detailed photos will tell us 999 words more ?,!

Model and brand of typewriter would be helpful.

How had you setup the scope? If you had the trigger in auto you will never see a small pulse. You will have to set the trigger to some value, maybe 1 volt, then look for pulses with the trigger set to rising edge then again with the trigger set to falling edge.

The typewriter is a Panasonic RK-T36. I have attached a picture of the two rows of headers and the matching keyboard connector ribbons if that helps. Row CN2 is mostly at 5V and row CN1 is mostly at ground. Pressing a key definitely pulls a pin on CN1 to 5V.

We have tried the scope on Auto and Trigger with no luck. We have played with the trigger value, but is there any reason to suspect that the pulse is less than 5V? We even tested with the keyboard inserted on the hunch that it might only scan after some button press was detected, but did not see anything.

The 74LS145 is a BCD (binary coded decimal) decoder/driver with open-collector outputs. It takes a 4-bit BCD input and outputs a LOW on one of ten outputs. I would guess that is being used to scan the keyboard matrix. Check the input lines of the 74LS145 to see if you are getting a sequence of BCD numbers, that would at least let you determine the scan rate. I would suspect there may be pullup resistors going to CN2, with CN1 connected to the 7LS145, so that the key line is pulled LOW on CN2 when a key is pressed.

Does the typewriter print as you are typing, or does it have a buffer that displays on the LCD and then it types behind that? If it prints as you type, the keyboard scan doesn't necessarily need to continue while a key is held down - since only a single character can be printed at a time, all the processor on the typewriter needs to know is if that key has been released yet.

Assuming there is some sort of signal for each key. The trigger should be approximately in the middle. You will likely have to decrease the time base to be able to see short pulses. I would try somewhere in the 1µs / division to start.

This all assumes the typewriter is actually working.


I would use two 74HC4067 analog multiplexer chips. One to select the input and one to select the output. That way you can connect any point on the matrix with eight output pins.

You will have problems if the shift keys are part of the matrix and multiple simultaneous key closures are required.

We recorded the four inputs to the BCD on a logic analyzer. The image below shows that indeed the keys are being scanned. We tracked the outputs which all go through a reverse diode (for protection I assume) to CN1. Again, you were correct, the CN2 pins go back to the microcontroller with pull-up resistors. Since the BCD is an open collector as you mentioned, we will try adding 10K pull-ups to CN1 and track it on the scope.

As to your question, the typewriter can be set to type to the display or print directly.

Thanks for all the help!

At some point, you should map out the matrix. What pins do each of the keys connect?