Hacker News new | past | comments | ask | show | jobs | submit login
A 50 Year-old Teletype Powered by a Raspberry Pi (sudobob.com)
27 points by zdw on Oct 19, 2014 | hide | past | web | favorite | 7 comments

It's good to see more people restoring these machines. I have a few of them myself. They can all be interfaced to computers. They use standard serial port data, 45 baud, 5 bits, no parity, 1.5 stop bits. (The signal level has to be converted, though.) A Windows machine with a classic serial port outputs the right waveform. Linux has some problems. Windows lets you set the baud rate as a number. UNIX/Linux has a set of constants for speeds left over from the PDP-11 era. A few USB to serial converters can be induced to run at that low baud rate, too.

I usually run them off of RSS or SMS input. See http://www.aetherltd.com and https://vimeo.com/97062822 for info and video.

These machines aren't hard to get. They're on eBay all the time. In fact, there's a Model 15 keyboard on eBay right now, which the machine shown lacks. Unless they're seriously damaged, they can usually be brought back to full operation. They were designed to be fully maintainable; they can be taken apart down to individual parts and reassembled. No welds, no rivets, no glue; it's all put together with machine screws. All the maintenance documentation is available on line. There's a mailing list ("Greenkeys Digest") for people who restore them.

I'm currently restoring my fifth machine, a Model 15 that was in a garage for two decades after being lubricated with the wrong lubricant, dropped at least once, and operated with a bent typebar guide which damaged some typebars. It took a lot of cleaning and adjustment, but few new parts, to get it going. It's now working OK, except that the "X" typebar is damaged and won't print, and the print quality is bad. I'll be fixing that in a week or so.


The construction quality of these machines was very high by modern standards.

I'm a little bothered seeing someone run one of those machines in a public setting with the covers off. There are pinch points, unguarded gears, exposed live electrical connections, and the typebars have considerable power behind them. I put steampunk cases, designed to show off the machine but keep fingers out of the gears, on mine.

> UNIX/Linux has a set of constants for speeds left over from the PDP-11 era

You are refering to the B9600 (and other) constants set in the termios tcsetattr() syscall. Those are indeed limited to a set of fixed rates between 110 and 115200 baud. But since a very, very, very long time Linux considered B38400 a magic rate, and this baudrates' divisor could, if necessary, be redefined by the setserial command to arbitrary speeds. (Default is 38400, though).



I think there are more sane methods for some USB to serial adapters, though.

UPDATE: This seems to be the modern way to do it: http://stackoverflow.com/a/19992472 (specify BOTHER and fill out tio.c_ispeed, ospeed.

I'm reasonably certain that Model 15 is older than 15 years, as they stopped making them in 1963, and the bulk of the production was earlier.

Also as an aside - if you were using a model 33 or 37, you could use it with a simple RS232 to current loop converter, and agetty on a linux boxen - then you could use it as a log in device too, rather than just a serial/console printer :-D

The other thing I don't get is why use the optoisolator relay setup, the voltages involved are low enough that a normal 5v/250v relay would be sufficient - perhaps the current draw is too high for the raspi to handle?

The Model 15 came out in 1930, and was produced through 1962 or so. Much of the production was during WWII. It's hard to tell when a machine was made. The motor, typing unit, keyboard, and base are all very easily removed and interchanged. It was normal Bell System, Western Union, and U.S. Army practice to swap those in the field and send them back to a depot for cleaning and repair, so the components may be from different periods. Rubber pressure rollers under the platen indicate a post-WWII machine - earlier machines used wood, because oil-resistant synthetic rubber wasn't available in 1930.

Most relays aren't fast enough to handle the 45 baud data rate. The relays that are tend to have small contacts, and thus arcing and contact burn problems with the inductive kick from the selector magnets. The Omron G3VM-401B is a good solid-state opto-isolated relay for the job; it can handle 400V, and costs about $2.50.

> The other thing I don't get is why use the optoisolator relay setup

The article uses the optoisolators and relay drivers, not the relay itself (for the serial data). And as shown in the article linked, it's not setup to be galvanically isolated. Given that the TTY has larger coils and motors, and might also be grounded to some other machinery (e.g. the mains protective earth), I can see why one would want to break the groundloop to the Arduino or serial/USB connector on a PC.

The relay modules seem to have one control input wired: Vcc, In1, In2, GND. And a separate jumper for Vcc and Vcc-JD (as seen on a datasheet I found on the web for the 4ch version).


If you'd open the Vcc-JD-VCC jumper, have a 5V supply at JD-VCC and GND, supply 3.3V from your arduino to Vcc and connect In1/In2 to your GPIO/serial TX, then you could have your TTY and Arduino potentials completely separate.

In the spirit of repurposing old hardware with a Raspberry Pi, here's a project I did with an old rotary phone:


The USB receiver circuit is super cool. Thanks.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact