1
\$\begingroup\$

I'm considering starting a project that would require me to transfer data onto a keyboard ribbon in such a way that it mimics typing. Would it be possible to do this through wires connected to the ribbon itself with some kind of conductive glue? My understanding is that pressing down a key simply closes the circuit, so I realize this is a long shot... but it's one of the first ideas that crossed my mind and I'm not sure what else I'd do. Here are some pictures of the ribbon cable in question: http://imgur.com/a/LKAB0. It's quite old, this is actually a typewriter. Perhaps I could take the entire ribbon out and replace it with a new one which sends inputs from electrical signals? I'm not sure if something like this would be possible, though. Any ideas on how to approach this, or where to start researching?

\$\endgroup\$
2
  • \$\begingroup\$ What is the exact model of the typewriter? \$\endgroup\$
    – jonk
    Commented Nov 2, 2016 at 18:42
  • \$\begingroup\$ To be clear, you want to send key signals from some external source INTO the typewriter and have the typewriter print out the data? \$\endgroup\$
    – user98663
    Commented Nov 2, 2016 at 19:03

3 Answers 3

2
\$\begingroup\$

I don't know what year those came out, but I think your picture tells me it must have been after 1980. I actually modified an IBM Electronic Model 85, which probably competed with your unit at the time, in order to use it as a printer for my computer. I did all the work needed to figure out the communications used between the keyboard and the control circuits (it used reed relays at each key), designed the hardware, wrote all the software, and it worked the very first time I tried it! My unit was purchased new, I think, in 1981 or so.

If this is a similar unit, then the answer is yes, you can do this. It's just a matter of collecting detailed information about the keyboard. You show a ribbon connector, which is fine. But you need to characterize the exact details that travel on those conductors. I used an oscilloscope. You may need to use a similar tool, as well. Some of the lines were used in combinations. There was almost no pattern, per se, too. So I just created a table of observations and made sure that the software replicated these. And it worked.

But I think that with sufficient details, it's quite possible.


In my case, I was able to keep the typewriter functioning as a valid typewriter AND use it as a printer via a serial port interface. I just kept my hands off of the keyboard when printing.

\$\endgroup\$
7
  • \$\begingroup\$ Thanks for the tips. So I take it it's not enough to simply trace each key to the pin it belongs to and figure out the combinations by chart on pen and paper? \$\endgroup\$
    – theupandup
    Commented Nov 2, 2016 at 19:35
  • \$\begingroup\$ @skiesareforflying In my case they were reed relays. I don't know what your case is. But you need to know the detailed behavior in order to replicate it accurately. Signalling knowledge is important because you don't know what the receivers are processing. \$\endgroup\$
    – jonk
    Commented Nov 2, 2016 at 19:44
  • \$\begingroup\$ @skiesareforflying To summarize: "all signals are not created equally." You can't just assume things and expect it to work. \$\endgroup\$
    – jonk
    Commented Nov 2, 2016 at 20:12
  • \$\begingroup\$ You can however put a lot of bounds around what it could be doing based on the use of the 8052. \$\endgroup\$ Commented Nov 2, 2016 at 20:28
  • \$\begingroup\$ @ChrisStratton I honestly don't know what bounds I'd choose to ignorantly apply. Yes, there's an MCU there. There was an MCU in the Electronic 85, as well. But the electronics depended upon reed relays for the key events. It was a concern, going into it, what kind of voltages, currents, polarities, and receiver circuitry might also have been used prior to the MCU inputs. It turned out well, in practice. They didn't do anything too crazy. But I still think it is prudent to make measurements and to not make unnecessary assumptions. \$\endgroup\$
    – jonk
    Commented Nov 2, 2016 at 21:06
0
\$\begingroup\$

The simpler way is to use an Arduino and implement a USB HID class that is a keyboard.

Each IO available in the uC can be connected with each typewritter key.

If you are short of IOs you can use a I2C IO expander.

\$\endgroup\$
2
  • \$\begingroup\$ You are addressing a goal opposite of the one in the question. The poster is not seeking to create an input device for a modern computer, but rather to inject fake key events into an old typewriter which does not support USB. \$\endgroup\$ Commented Nov 2, 2016 at 20:26
  • \$\begingroup\$ ooops! My mistake of understanding... \$\endgroup\$
    – Tedi
    Commented Nov 2, 2016 at 20:50
0
\$\begingroup\$

I used CD4016 or 4066 CMOS switches on the first SEARs LED calculators to simulate keystrokes with a 4017 sequencer to make a step counter for stationary running circa 1977.

then I interfaced tiny LEDs to 1" LEDs so the calculator keystrokes were automated by a front panel reset button

[C] [1] [+]

while the external platform had a microwsitch going to [=]

so it would counter stationary running exerciser. This was for a friend at work in my spare time.

You can do the same with serial data into serial port or use crosspoint analog switches to simulate the keypad array by investigating the circuit for each row/column matrix. With Vcc,Vee same or greater than Vcc inside keyboard.

Judging by the Intel date code 1980 I2C had not been invented by then and the number of FPS signals indicates it is a row column matrix signal scanned by CPU.

So my initial assumption was correct.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.