Reading typewriter key presses with an Arduino

Reading typewriter key presses with an Arduino

Arduino Team — August 3, 2022

There was a period in the late 70s and 80s when typewriter manufacturers tried to keep up with the digital age. Personal computers fetched prices that middle-class families could justify, and even the most basic models were far more practical than the best typewriters on the market. During this period, many electric typewriters came on the market. Instead of heavy mechanical linkages, these used daisy-chain mechanisms driven by computer-like electronic keyboards. Artillect converted one of these typewriters, the Brother AX-25, into a computer and used an Arduino to read key presses.

The computer here is a Raspberry Pi booting into headless mode on the Debian Linux terminal. But the interesting part of the project is how Artillect interfaced the Raspberry Pi with the Brother AX-25 typewriter. This typewriter uses a keyboard matrix to read key presses, with each column/row connection corresponding to a specific key. Artillect connected an Arduino Uno board to all these row/column pins via two multiplexer boards. This allowed him to set any pin to HIGH or LOW. With this ability, he could trigger any key press and the typewriter would print that character.

Because the Arduino controlled the output of the typewriter, Artillect only had to feed it text from the Linux terminal. The Raspberry Pi has a built in UART for serial communication and the Arduino can read this output. In headless mode, the Raspberry Pi sends whatever is in the terminal to this serial port. The Arduino receives this, buffers the text, then sends the key presses to the typewriter at a speed it can handle. Since the Arduino only outputs to the typewriter's keyboard and doesn't read its keys, Artillect had to remotely connect to the Raspberry Pi's terminal with a laptop to input the commands. Even so, it's nice to see the typewriter snapping on its own as it prints terminal output.

Reading typewriter key presses with an Arduino
Reading typewriter key presses with an Arduino

Arduino Team — August 3, 2022

There was a period in the late 70s and 80s when typewriter manufacturers tried to keep up with the digital age. Personal computers fetched prices that middle-class families could justify, and even the most basic models were far more practical than the best typewriters on the market. During this period, many electric typewriters came on the market. Instead of heavy mechanical linkages, these used daisy-chain mechanisms driven by computer-like electronic keyboards. Artillect converted one of these typewriters, the Brother AX-25, into a computer and used an Arduino to read key presses.

The computer here is a Raspberry Pi booting into headless mode on the Debian Linux terminal. But the interesting part of the project is how Artillect interfaced the Raspberry Pi with the Brother AX-25 typewriter. This typewriter uses a keyboard matrix to read key presses, with each column/row connection corresponding to a specific key. Artillect connected an Arduino Uno board to all these row/column pins via two multiplexer boards. This allowed him to set any pin to HIGH or LOW. With this ability, he could trigger any key press and the typewriter would print that character.

Because the Arduino controlled the output of the typewriter, Artillect only had to feed it text from the Linux terminal. The Raspberry Pi has a built in UART for serial communication and the Arduino can read this output. In headless mode, the Raspberry Pi sends whatever is in the terminal to this serial port. The Arduino receives this, buffers the text, then sends the key presses to the typewriter at a speed it can handle. Since the Arduino only outputs to the typewriter's keyboard and doesn't read its keys, Artillect had to remotely connect to the Raspberry Pi's terminal with a laptop to input the commands. Even so, it's nice to see the typewriter snapping on its own as it prints terminal output.

What's Your Reaction?

like

dislike

love

funny

angry

sad

wow