Dragging Teletypes Into The 21st Century

If you are of a certain age you may have worked in an office in the days before the computer revolution, and the chances are that in the corner of your office there would have been a teletype machine. Like a very chunky typewriter with a phone attached, this was an electromechanical serial terminal and modem, and machines like it would have formed the backbone of international commerce in the days before fax, and then email.

Teletypes may have disappeared from the world of trade, but there are a surprising number still in private hands. Enthusiasts collect and restore them, and radio amateurs still use digital modes based on their output. The problem facing today’s teletype owner though is that they are becoming increasingly difficult to interface to a modern computer. The serial port, itself an interface with its early history in the electromechanical world, is now an increasingly rare sight.

[Eric] has a project which addresses the teletype owner’s interfacing woes, he’s created a board with all the necessary level shifters and an Atmega32u2 microcontroller to translate the teletype’s output to USB.

In his design he’s had to solve a few problems related to such an aged interface. Teletypes have a serial output, but it’s not the TTL or RS232 we may be used to. Instead it’s a high-voltage current loop designed to operate electromagnets, so his board has to incorporate an optocoupler to safely isolate the delicate computer circuitry. And once he had the teletype’s output at a safe level he then had to translate its content, teletypes speak 5-bit ITA2 code rather than our slightly newer 7-bit ASCII.

The result though is a successful interface between teletype and computer. The former sees another teletype, while the latter sees a serial terminal. If you have a teletype and wish to try it for yourself, he’s released the source code in a GitHub repository.

Teletypes have featured a few times here at Hackaday over the years. We’ve had one as an SMS client, another that monitors a Twitter feed, and while it’s not strictly a teletype, a close examination of an Olivetti mechanical serial terminal.

Demonstrating Baudot Code

Visualizing how electronic signals work can be difficult. A physical model can be darn useful in overcoming that difficulty. At a recent workshop entitled “Unboxing Black Boxes” [Julian Hespenheide’s] group created a device to show Baudot Code in operation. This amalgam of wood and Arduino they dubbed émile in honor of Émile Baudot (1845-1903).

Baudot developed his code to transmit telegraph signals from one machine to another, in contrast to Morse code which was principally for human communication. Both codes were used throughout the 20th century. For example, those big clattering, mechanical teletype machines use a minor variation of Baudot code.

Baudot is a fixed length code of 5 bits, as opposed to Morse’s variable length code. Morse has a separate code for each characters while Baudot uses “shift’ codes to change between alphabet and figure characters. For instance, a binary 11 would represent either an ‘A’ or a ‘-‘ depending on the shift state. If the shift code was missed the receiver would get gibberish.

In émile the Baudot code is sent by marbles. That’s right, marbles. There are five marbles, one for each bit in the Baudot code. Each marble rolls in a track toward the Arduino. How does the machine know which marbles to send? “Punch cards”! These are a marvelous aspect of the design.

Each card represents a code. Each position in the card has a gap to allow a marble to pass ( a set bit), or no gap to block the marble (an unset bit). The operator loads 5 marbles and a punch card and launches the marbles via a spring mechanism.

[Julian’s] really created a great visualization of Baudot code with this project! Take a look at émile in action after the break. Continue reading “Demonstrating Baudot Code”