Back in my day the internet was a dumb terminal connected at 300 baud through an acoustic coupler to a timeshare system, and we liked it!
Ok I’m not actually that old, but how amazing it must have been to be using telephones to connect up to the ARPANET before it was legal to even connect a modem directly to your phone line (yeah for real, direct modems were illegal)!
This time period was so magical! The computer industry and telecommunications industry were colliding like two galaxies, and no one had any idea how it would all pan out. I may not be old enough to have lived through it, but the tech that fueled this paradigm shift to a new age is still around, collecting dust in surplus stores and buried in boxes in our grandfather’s basements.
I recently acquired an early 300 baud acoustic coupler (how modems worked before you were allowed to connect modems directly to a phone jack). Let’s dust it off and build our own dumb terminal using an old phone, the coupler, a Raspberry Pi, some wires, a few capacitors, a serial transceiver chip, and some solder!
Get off my lawn with your newfangled 4G. Where did I leave my teeth? Here we go!
Step 1: The Circuit
Modern devices like a Raspberry Pi generally use a 3.3v TTL UART for hardware serial communications. Vintage equipment (like the beautiful 300 baud acoustic coupler we are going to interface to) use +/-15v RS-232 for their hardware serial communications.
To get around this, we are going to use a special integrated circuit called a transceiver. This device only has one job, to translate back and forth between TTL and RS-232. The part I chose for the circuit is SP2322E a ‘true +3.0v to +5.5v RS-232 Transceiver’. This part gets its power from the Raspberry Pi. The Raspberry Pi, however, does not have the ability to source +/-15v. Where do these voltages come from? The transceiver chip uses a set of external capacitors as part of its charge pump circuits. In other words, with a little help from its capacitive friends, the transceiver is capable of generating its own +/-15 rails. Fancy!
While this part is capable of two serial channels, we only require one for this job. Connected to the Raspberry Pi’s GPIO UART are transceiver pins T1IN and R1OUT. Connected to the RS-232 cable are transceiver pins T1OUT, R1IN, and GPIO GND (need that ground reference, buddy).
So there we have it, a simple circuit that will allow our new-fangled Raspberry Pi to talk to 40 year old telecommunications equipment.
Let’s build it!
Step 2: Soldering
Instructables sent us a Perma-Proto Pi Hat board along with a Raspberry Pi 2 as part of the Raspberry Pi 2 Build Night earlier this year. I’m going to use this to make building my circuit onto the Raspberry Pi quick and easy.
I started by soldering a 16 pin dip socket onto the hat. Then I angled the pins on the IC properly and inserted it into the socket.
I soldered a blue jumper wire between the transceiver T1IN pin and Raspberry Pi GPIO TXD pin. Then a yellow jumper between the transceiver R1OUT pin and the Raspberry Pi GPIO RXD pin.
For more detail: Raspberry Pi Dumb Terminal