I modified a vintage typewriter to function as a USB keyboard using an Arduino and 50 phototransistors. The typewriter is a German Olympia Monica that I bought at a local flea market. For this project I created a simple PCB that carries the phototransistors and several multiplexers and decoders. The PCB is connected to the Arduino through a ribbon cable. I used an Arduino Leonardo, which can function as a USB input device.
I created the PCB design with the EasyEDA web application. I don't guarantee that the
design is functioning. The original design had quite a few errors that I fixed
manually. They should be corrected in this version, but I haven't tested it.
I didn't end up populating P3, J1 and C1. I guess the number of 220 Ohm resistors
could be significantly reduced.
The Arduino software is intended to be run on a Arduino Leonardo, because
this one is able to emulate a USB input device. The following pin mapping of the
ribbon cable should be used: