5-BIT BAUDOT TELETYPES
MODELS 14, 15 AND 19
Teletype Model 19 Restoration Series Playlist:
Introduction to Baudot Teletypes and Documentation Archive
The 5-bit Teletypes restored here were introduced in 1925 (Model 14), 1930 (Model 15) and 1940 (Model 19), and are all very closely related, sharing similar mechanisms. They do not use the modern 8-bit ASCII code, but instead they use the 5-bit Baudot code that preceded it. As such, they make very poor machines to connect to computers. However they are incredibly robust text transmission systems. These units are military grade, and were workhorses in the Army and Navy through the second world war and the Vietnam war. They found extended civilian use in the Telex system, and were used in newsrooms until the mid 1980's.
I have uploaded a large set of documentation that we have used throughout the restoration:
The essential individual documents in this set are linked below in context.
Episode 1-3: Main Documents
Teletype Model 19 Restoration
This videos is a demo of our fully restored Model 19 and Model 15 5-bit Baudot Teletypes. Although this was shot at the very end of the restoration series, it provides the best introduction to the machines by explaining the principles and showing them in use.
Here are the main reference documents to the Model 15/19 Teletypes:
This manual is the best introduction to 5-bit Teletypes I have found. It gives a great introduction to the basic principles and describes various machines and use cases.
This is the main manual for the printer (receiver) section of the Teletype (both for the Model 15 and Model 19)
The devilish wiring of the Model 19 table got us stumped for at first. The above collection of schematics helped us disentangle it.
This is the manual for the keyboard and punch section.
This manual has the complex wiring for the base that holds the keyboard, printer, motor, polar relay and external interconnect block.
Episode 2: 60 mA Loop Interfaces, TTYLoopDriver and BaudotRSS
5-Bit TTY Interfaces
In this demo we use a modern 60 mA interface to print newsfeeds on our teletype. In this video I use the John Nagel interface that Carl built for me. References are below. Since then, I found the Volpe board to be easier to procure and use, although it requires a separate high voltage supply. Eventually, I decided to build my own, partly based on Eric Volpe's design. Plans for my interface are further below, in notes about the episode where I connect to Linux.
A 60 mA Baudot USB adapter for working with the BaudotRSS software below. Derives its own high voltage supply from the USB power, which is very neat. It is good hardware, but the description and documentation of the project is poor. It says it does not need drivers, but it sure does, and they are hard to find. Carl managed to build one.
Software to use with the above hardware interface. Can be used to print rss news feeds. Similar to the above, nicely done, but difficult to get going. We eventually managed to make it work when we discovered it only works with Python v2.7. It requires a whole bunch of extra packages. COM ports numbers are off by one (use 0 to talk to COM1!). It eventually worked.
For those that want a ready to go solution, there is an excellent and very inexpensive interface board designed by Eric Volpe :
My own interface, based in part on Eric Volpe's excellent design, is discussed further below in the documentation for the Linux episode.
Chart of Baudot Codes
Baudot codes use only 5 data bits. However, the 5 data bits are preceded by a start bit, always a "space", which is represented by an open line, and followed by a stop bit, always a "mark", which is represented by a 60 mA current (Note: this is for neutral mode line wiring. In polar mode, space is -30mA and mark is +30mA). The stop bit is longer than all other bits, in theory 1.42 bit period but in practice 1.5. This is done to leave enough time for the mechanical receiver to sync on the next start bit. Since it does not hurt to make the stop bit slightly longer (except for the slightly lower effective data rate), it is often made two 2 bits long on electronic computers. On your computer serial port, that's the "2 stop bits" setting. So in total, counting the start and stop framing bits, a single Baudot character is sent using 7.5 bits (1 start, 5 data, 1.5 stops).
The Model 19 uses a transmission rate of 45.5 bauds, so each bit is 1/45.5 seconds, or 22 ms per bit. Many other Baudot rates have been used, notably 50 Bauds in Europe, and faster 56, 75 and 100 Bauds. These speeds are sometimes quoted in the confusing "Word Per Minute" metric, which oddly assumes that a word is 6 characters long. I guess they were not writing in German! So a 60 WPM machine is 45.5 Bauds, 66 WPM is 50 Bauds, 75 WPM is 56 Bauds, 100 WPM is 75 Bauds, and 133 WPM is 100 Bauds. For example, the later Teletype Model 28 can work at 45.5, 50, 56 or 75 Bauds. The change in rate is accomplished by changing a set of gears in the machine.
When there is no other character to send, the stop bit prolongs indefinitely. Which means that an idle Baudot line is the "mark" condition, which is a closed 60 mA line. This is done so that you can immediately spot if a line is working even in idle (or conversely, if a line is broken), a practice that dates back from the first Morse code telegraph lines. This is still with us today, where an idle serial line is in the logic high state, say +5V, and not at logic low as you'd expect. You can blame it on the Morse code telegraph.
Episode 4: Power Supply
REC-30 Teletype Power Supply
This high voltage DC power supply uses blue-glowing thyratron tubes.
Inside the door schematics
This complete schematic was glued inside the power supply door. I took a picture of the damaged original and cleaned it up so we could reprint it.
Episode 5-6: Model 15 Keyboard and Punch
Keyboard and Punch
It takes two episodes to repair the keyboard and the tape punch unit. The punch counter gives us particular trouble.
Annotated punch schematics and actual wiring diagrams
The original schematics and the actual wiring diagrams are very hard to comprehend. These annotated versions developed during our reverse engineering should help greatly.
Episode 9: Model 15 Printer Section
Fixing the Model 15
Getting our Model 15 to work necessitates a deep dive into the actual wiring and adjustments of our particular unit. We unearth a few subtle faults introduced during a previous restoration attempts.
Annotated wiring diagrams
The wiring diagrams for the printer base are very hard to comprehend, particularly the optional neutral/polar relay wiring and the wiring posts. These annotated versions developed during our reverse engineering should help. Note that our Model 15 base was wired slightly differently from our Model 19 base.
Episode 11: Visiting Mr RTTY
Paul Cembera has probably the last remaining collection of spare parts for Teletypes
Tel: (510) 222 3102
PO Box 20101, El Sobrante, CA 94820-0101 USA
Episode 12: Model 14 T/D (Transmitter/Distributor)
Model 14 T/D (Transmitter Distributor)
This units reads previously recorded punched tapes for transmission.
Once again, the original diagrams lack the critical annotations that would make them understandable. The difficulty is that they are two wiring options: one for neutral wiring, and one for polar wiring. This annotated diagram developed during our reverse engineering should help.
Episode 13: Model 19 Table
Model 19 Table Wiring
The complete rewiring of our Model 19 table forces us to finally reverse engineer the apparently incomprehensible wiring arrangements.
Here is the original wiring documentation we recovered:
Similarly to all previous diagrams, the original wiring diagrams are devoid of essential annotations necessary to make them comprehensible. Except that the table is one order of magnitude more complicated and one order of magnitude less annotated than the others. However, I have made a complete set of annotated diagrams, available below. This is what I developed during our restoration, and allowed us to make sense of the otherwise seemingly incomprehensible wiring.
Of particular note is the essential user panel wiring, which is further discussed in the demo video section below.
Model 19 table full schematics with plugged in peripheral and main line switch wiring
Model 19 table annotated DC wiring
Model 19 table annotated AC wiring
Episode 14: Adding the Motor Stop Feature
Adding the motor stop feature
Quite a number of features are optional on the series 15. In this episode, we add the motor stop feature.
Episode 15: Model 14 Reperforator
Model 14 Reperforator
We add one final piece of 5-bit teletype equipment: a reperforator.
Teletype 15 and 19 Demo
Model 15 and Model 19 Teletype Demo
It's done, we give you a grand tour of our two glorious restored teletypes.
Deciphering the user panel wiring
Under a door panel at the back of the Model 19 table, there is a 3 terminal block user panel that is both essential and very poorly documented. This is where the user is supposed to wire up his configuration and external lines, including configuring wiring for full or half duplex, neutral or polar, as well as splicing in the transmitter and the reperforator. Everything is fully customizable.
It looked hopelessly complicated and the wiring notes were not helpful, to say the least. It did not help either that the custom wiring that originally came with our machine was nonsensical. But started to fall in place when I realized that the top connections of the terminal blocks are the fixed wiring end points, which the user is not supposed to touch, whereas the lower connections of the blocks are reserved for the user to put jumper wires between the blocks. After lots of wire beeping, one arrives at the simplified diagram below, which should have been in the manual in the first place! The user jumper wiring (in dashed lines) is the half-duplex neutral configuration I chose to implement. It puts the printer, keyboard TD and reperf in one big half duplex loop, which output is switchable by the front line switch. The external lines connection go the test jacks (providing a locally powered loop) and which I use most of the time, and to Line 1 and Line 2 jacks which I added at the back of the machine. Line 1 and Line 2 assume that line power is provided by the remote end.
Here is the original Shag Harbor UFO message original that I transmit. The document below explains how the 16 line radiogram format should be decoded.
TTY as Linux Terminal
Model 15 Teletype Used to Login on Linux
In this project, we build the electronics and software to interface to a modern computer and log into Linux using the Model 15, introduced in 1930. And it does a slow but fine job. We end up printing a lot of ASCII art, although it is really RTTY art.
ASCII Art Files
These are actually more specific than ASCII art files, they are TTY art file, using only all-caps and the few special characters available to Baudot teletypes, restricted to 74 columns, and using overprint. Can't really be printed on anything else than a Teletype, the ones with overprint won't draw correctly on a modern console or a text editor. Caution, the files starting with "miss" are mainly nudes. Scroll all the way to the bottom to download a single zip file that contains them all.
USB/RS232 to Baudot TTY Interface
My Baudot interface box is documented below. I have not made a PCB for it, instead just using a proto board. But all the info you need to make your own box is there.
For those that want a ready to go solution, there is an excellent and very inexpensive interface board designed by Eric Volpe :
The analog part of my interface is actually based on Eric Volpe's very good design.
Finished TTY interface box
60 mA loop analog board
View of the box internal wiring
Arduino Mega board on the left, analog converter board on the right.
Getting a TTY Linux login prompt on a serial port
You have to jump through a few hoops to get a login prompt on the serial port, and it's even worse if you want to do that through USB (see below).
My old machine had a real serial port COM1 serial appeared was /dev/ttyS0 on linux, as reported by
But acces to it is denied by default. For getting access, one method is to change the permissons temporarily, but it gets quickly annoying as you have to redo it after each login:
A more permanent fix is to create then add yourself to the dialout group :
Then you want to set the port for 9600 bauds and Xon/Xoff using the following command:
Only then will agetty be able to do its thing and prompt a login on the TTY attached to the serial port. The tty33 terminfo is the oldest TTY description I could find, but was not very effective in modern Linux from preventing the pervasive use of color codes and escape sequences.
Getting a TTY Linux login prompt on a USB port
If you don't have a computer with a hardware serial interface, it's even crazier to get that to work when connected via the USB interface. The Arduino USB port should simply be accessible through /dev/ttyACM0. But even adding yourself to the dialout group won't work to access this one (it's part of the tty group apparently). And worse, the 'agetty' command does not work as documented, being silently prevented on USB by some overactive security watchdog (see https://bugzilla.redhat.com/show_bug.cgi?id=1514235). I had to resort to launching a service through a script, which feels like and unnecessary and complicated workaround such a simple thing.
My ttystart shell script:
To stop the console, a similar script can be used.
My ttystop shell script:
I am still not sure how to specify a terminfo option through these commands.