1

I have a 1991 laptop keyboard w/o the motherboard. It was attached to the main board with two flexible cables. The keyboard feels awesome and I would like to make use of it. The issue is that I can't identify what connector this is (see pic. attached) and I don't know what keyboard controller was used to drive it. The flexible connectors are 0.59'' (~1.5 cm) and 0.43'' (~1.1 cm) in width.

My questions are:

  • What's the common name of this flexible cable connector, if any?
  • How to turn the keyboard into a usable one with an MCU (i.e. how to connect it to Arduino or Raspberry Pi, or any other micro controller/board)?

If it's hard to tell, I'd appreciate an advice on how to reverse engineer the keyboard to connect it to any modern controller (AVR, RPi, what not).

Keyboard exterior with cables showing

More pics:

PS: The Part No. on the back of the keyboard says SU54TM017DK but googling returns zero hits.

JSmyth
  • 113
  • 5
  • If you really want this answered, provide a closeup photo of the ends of the flat flex cables. Provide a closeup photo of the matching connectors on the PCB. Add a ruler for scale. If you don't care about the laptop, why not just desolder the original connectors? – jms Mar 11 '18 at 08:35
  • Do you mean the PCB on the keyboard side? I do not have the motherboard for this keyboard hence no picture of the connectors on the other end. I surely can add what you suggested. – JSmyth Mar 11 '18 at 09:23
  • I bet it will be a PS2 Connector and you can implement PS2 serial protocol to use it without considering how the PCB Works. – MaNyYaCk Mar 11 '18 at 09:26
  • 2
    This looks like a raw keyboard matrix connection. You only need the matching connectors then. Measure the number of stripes per connector and their pitch, then look up a matching FPC socket. – Janka Mar 11 '18 at 10:10
  • Oh I see. I wasn't clear enough, I guess. I'm looking to actually use any micro controller to drive it (to later on connect it via USB or, in the worst case PS/2, to any modern system). Updated the question. – JSmyth Mar 11 '18 at 10:37

2 Answers2

2

What's the common name of this flexible cable connector, if any?

Flex cable connector, I'd say.

How to turn the keyboard into a usable one with an MCU (i.e. how to connect it to Arduino or Raspberry Pi, or any other micro controller/board)?

This connector probably just connects to the dumb switch matrix. Keyboards generally work by having "rows" and "columns", and they just power e.g. one row at a time and then look which column is powered (and then scan through all rows). The pressed button connects a row with a column. To make this even more compact, a lot of keyboards incorporate diodes – that way, it makes a difference whether you bias the row with a positive or negative voltage, and you can have twice as many buttons for the same number of contacts.

What you hence must do is reverse-engineer this matrix. This will take some (significant) time to do manually, but you can also write a program that scans all possible in/output and voltage combinations while you press a key.

Does your keyboard by any chance have 88 keys and no LEDs? Because I count 11 lines on one connector, and 8 on the other. If that's the case, at least you don't have to worry about diodes...

Personally: It's probably not worth the effort. Get a working keyboard that feels just as awesome :)

Unless, that is, you can peruse google to find "keyboard matrix" + device type to find someone has done this before you.

Also, you might be lucky and be able to find the keyboard controller IC of the motherboard. That'd solve that issue – simply use that IC, if you can still buy it, or if you can get a datasheet, use that datasheet to help you reverse-engineer your matrix.

Marcus Müller
  • 94,373
  • 5
  • 139
  • 252
  • No leds. Pure matrix apparently. I wish I had the original motherboard - things could have been easier indeed. I like the idea of scanning voltages too. – JSmyth Mar 11 '18 at 12:29
2

If you want easy-mode, you need a keyboard controller. Interfacing with a microcontroller is silly if all you want to do is route the keypresses to a PC (or USB host)... unless you are trying to learn how a keyboard controller works (by implementing one in your own firmware).

This one is a common one in industrial/custom projects: SK5100/SK5101 - Low Cost USB/PS2 Programmable FlexMatrix Industrial Keyboard Encoder

http://sprintek.com/products/sk5100.aspx

It works like this: enter image description here

It has enough keyswitche support to cover the keyboard in the photos (and then some). 8x20 = 160 switches in matrix form. It can even drive RGB backlighting if you want to add that.

You can read the datasheet to learn more about how keyboard matrix switches work and you can reverse engineer your keyboard with a multimeter to confirm which pins match which I/O lines on the controller chip.

The cool thing about this controller is that it comes with a dev tool that lets you reprogram the keycode-to-switch mapping so you can figure out the exact wiring of the keyboard after-the-fact in case you got a few lines swapped.

enter image description here

DrFriedParts
  • 12,562
  • 37
  • 54