The project uses no less than 50 photo interrupters mounted on a custom PCB that mounts directly under the typewriter itself. The circuit board is so designed that the hammer arms take a position in obstructing the opto-interrupters. Every time a key is pressed, the corresponding device sends a signal to an Arduino.
In order to enable the wiring of 50 signals to an Arduino Leonardo, multiplexers and decoders are employed. CD4515, 4×16 line decoders work to activate the optical signals and the CD4067, 16×4 multiplexers are used to return the scans. This forms the traditional scanning keyboard matrix and the whole thing is managed in the Arduino code (available as a zip file).
This project can be a great starting point for anyone who wants to hack their grandpa’s old typewriter or make one in order to annoy the guy sitting next to them. Check out the video below for a demo and teardown and if you prefer Raspberry Pis then check out this mechanical typewriter hack.