Vintage keyboard adapter

Hello!

I have a very old keyboard from an HP terminal in my hands. My end goal is to be able to read the keys that are pressed with my Arduino (I'm using an Uno R3 if that matters) through the cable. The keyboard uses a DB15 connector, which I have found a diagram for online. However, I am not quite sure how to apply it. I am not new to programming but I am new to Arduino and electronics. I have tried looking up reverse engineering keyboards, but most people seem to just solder wires directly to the IC on the keyboard PCBs but I'd like to keep the original cable.

I would appreciate if anyone could point me to any resources or reading material that could help me with this problem specifically, as the stuff I found online is either very general or not applicable.

So far I have tried wiring up the inputs to the pins and using digitalRead() on them, but nothing changes when the keys are pressed.

This is the diagram in question:


It looks nothing like the diagrams for PS2 keyboards, which I have looked at for reference, so I am not sure how to go about this.

What circuitry is there inside? IC names...?
The out likely produces a serial signal. My wonder is if it's TTL or RS232 signal.
(There might exist a converter making the voltages used in RS232.)

How many keys on the keyboard?
can you get good clear, close up photos of the insides ?

There are 3 Motorola chips, 2 labeled 1820-1962 RQ8311 and one labeled 1820-1315 8304.


102 switches total, 100 keys usable when assembled (2 switches are hidden below the topcase). Hope these are clear enough:





This is your keyboard?

Thats the one!

Thanks.
There are several multiplexers decoding the keys. The interesting circuitry is those/the one feeding the D-SUB.

Maybe @ ruilviana is closer to help. Let's see.

Not that it will help you figure out how to interface but the chips use HP's proprietary numbering scheme. The 1820-1062 is a 74HC4028 BCD-Decimal decoder and the 1820-1315 is a MC14051 8-channel mux.

The RQ8311 is a date code.

Duh, now I see it's already in the fine print in post #1.

Ah, I see, thank you

Yeah, my original plan was to try and get at least some sort of response from the connector and figure out what it means after that, but so far no luck. It helps at all, digitalRead reads pin 1 as 0 and 2, 3, A, B, C and D are all 1.

Actually - it is a DA-15

1 Like

Just a guess: the 123:ABCD are some sort of Row and Column index into a key lookup table and the Out is the strobe that indicates a keypress.

This type of keyboard was used on XT and AT PCs.
They used the RS232 logical protocol and 15V RS232 electrical protocol.
You may have to use a module with the RS232 chip.
I'll do some research and then tell you what I found.

Thank you, I'll keep that in mind

Is digitalRead the right way to read output from them? Or is there a different method I should use?

Appreciate it!

The keyboard conector has how many pins?

If has 15 pins, I think not is RS232 electrical protocol.

RS232 electrical protocol has 9 or 25 pins.

1 Like

The connector itself has 15 pins, but it looks like it only uses 11 from the diagram I found on deskthority

If you can use a logic analyzer to see what is going on with those pins it would be helpful. If my guess is right, a HIGH or LOW on OUT would indicate valid data on 123:ABCD and you could record that with a digitalRead.

All speculation though without seeing what signals appear on the pins.

Remember OUT is open collector so will need to be pulled up to 5V.