Although today there isn’t much need for a vintage electric typewriter, they’re an essential part of our history and one of the steps in the evolution of modern PCs, word processing software, and printers – so one crafty engineer decided to turn one into a functional printer.
Specifically, Konstantin Schauwecker took a portable typewriter Silver Reed 2200 CR, which looks like a model from the early 1980s, just before they gave way to PCs, and turned it into a printer, describing the entire process in his YouTube video streamed on April 2.
Turning a vintage typewriter into a printer
In short, he used 50 low-voltage solenoids for pressing each key, arranging them in rows using 3D-printed holders and aluminum brackets. Then he organized the solenoids into a matrix with MOSFET drivers for the rows and columns, adding snubber diodes to prevent voltage spikes, and using a Raspberry Pi to translate input PDF files into text and send the correct combination of GPIO signals to press each key.
First, he carefully took the electric typewriter apart, which took a bit of time. Then he connected each solenoid through a barrel connector using the 3D-printed frame and a thin aluminum profile on the backside. As Schauwecker explained, the profile provides additional stiffness to the frame and acts as a heat sink for the solenoids that can get quite warm.
Electronics setup
In terms of electronics, he designed all of it in KiCADs, the ‘mind’ of the whole machine being a Raspberry Pi, which he connected through the Pi’s GPIO pins. Then, he arranged the barrel connectors into a matrix, matching the layout with the keyboard layout, each row split into two (A and B) to reduce the number of transistors needed for driving this.
At each barrel connector, there are two diodes – one mounted in series to make sure the current only flows in the intended direction, which is from column to row. Then, there’s also a flyback diode parallel to each connector, necessary because the solenoid is an inductor and hence resists the changes in current. It allows the solenoid to maintain this current until its energy has depleted, thus preventing high voltage spikes when trying to cut the power to the solenoid, which would kill the driving circuit.
The next step was to look at the row drivers, where there are actually two transistors for each row. First, an N-channel MOSFET works as a current sink. Because the solenoids are powered by 12 volts, we can’t switch these transistors from the 3.3-volt IO pins. As the threshold voltage can be as high as the source voltage minus 2 volts (10 volts in this case), this is why we need a second transistor (such as a BJT transistor or a small MOSFET).
With the second transistor, we are actually inverting the circuit, but we can compensate for that in software. The column drivers look quite similar, the only difference being the use of a P-channel transistor instead of an N-channel transistor, because we need to source current instead of sinking it.
Software setup
On the software side, the Pi runs a CUPS print server. It has a printer driver installed that will print any job to a PDF file. A background script waits for new PDF files and when it finds one, it runs PDF to text with the -fixed option, which tries to preserve the page layout by inserting spaces. The extracted text is then passed to a bunch of other shell scripts, which then control the GPIO pins.
The result? A typewriter that looks like it types text by itself. Obviously, some technical know-how is necessary here, but there are easier DIY projects to make, such as a plasma tube out of a kombucha bottle, cheap light therapy gear, or ‘glasses’ that transcribe text to audio for the blind.