NOTE: THERE IS A NEWER, EASIER, SOLDER-FREE VERSION OF THIS INSTRUCTABLE: CLICK HERE TO VISIT IT.
There is something very magical about typing on those old-school manual typewriters. From the satisfying snap of the spring-loaded keys, to the gleam of the polished chrome accents, to the crisp marks on the printed page, typewriters make for a sublime writing experience. Now, the USB Typewriter lets you enjoy the magic of writing on a manual typewriter, without forfeiting the ability to use word-processing, email, web-browsing, or other modern desktop conveniences. Or, instead of using the typewriter as a computer keyboard, you can turn off your monitor altogether and type directly onto paper -- while discretely saving a soft-copy for later use!
In this instructable, I'll help you bring your old typewriter back to life by converting it into a USB compatible keyboard for your PC, Mac, or tablet computer. The hack is intended as a full keyboard replacement, so you can get rid of that piece of disposable plastic you call a keyboard and use the desk space for a classic, functional work of art -- A USB Typewriter!
Read on, and you will see that this modification is surprisingly easy to implement -- It shouldn't take longer than a weekend to do, and is within reach of any electronics novice. You might imagine that the project involves jumbles of wires and dozens of switches and sensors, but actually there are very few wires and absolutely no mechanical switches involved! However, because this project requires some custom components and circuit boards, you will need to purchase a USB Typewriter D.I.Y. Kit, which I have made available in my etsy store (usbtypewriter.etsy.com):
**D.I.Y. Kits for this project are available! CLICK HERE.**
Step 1: OVERVIEW
Take the time now to identify where the crossbar is on your typewriter -- just look for a bar that swings up and down when you press a key.
Step 2: HOW IT WORKS
The USB Typewriter system consists of three main components: the Sensor Board, the USB Interface Board, and the Reed Switches.
- The Sensor Board is a long strip of flexible metal contacts which clip easily underneath the keys of the typewriter. Each contact is attached to a different pin on a chain of shift registers, which act like a fireman's "bucket brigade", passing a signal down the line from one pin to the next (see the animated picture below). When the signal being passed down the row of shift registers is intercepted by one of the keys the microcontroller is alerted to a keypress.
- The USB Interface Board features an Atmega168P microcontroller (i.e. an Arduino chip), a USB socket, and some supporting components. By sending the CLK and SER signals, it controls the operation of the Sensor Board (again, refer to the animation below), and by monitoring the "chassis" signal, it can detect keypresses. The animation shows that the Interface Board can tell which key has been pressed, based on which pin of the sensor board was active when the chassis signal was detected. The interface board also controls the USB jack that connects to your computer.
- The Reed Switches: Because the Sensor Board only detects keys that strike the crossbar, several important keys go undetected. These include Shift, Space, and Return. To deal with those keys, we use tiny switches that close when in the presence of a magnet.
Step 3: PARTS LIST
- An assortment of small neodymium magnets.
- Custom laser cut metal tabs ("feather contacts" )
- Blank PCB circuit boards
ELECTRONICS BOM (included with the DIY Kit):
- R1: 68 ohm resistor
- R2: 68 ohm resistor
- R3: 2.2 kohm resistor
- R4: 10 kohm resistor
- USB2: usb B type jack such as FCI 61729-0010BLF
- C1: 22pF capacitor
- C2: 22pF capacitor
- C3 22uF electrolytic capacitor
- Q1: 16MHz crystal oscillator
- C4: .01uF capacitor
- IC1: ATMEGA168, preloaded with USB Typewriter software
- S1 and S2: Omron B3F-1005 tactile switch
- D1 and D2: 3.6V Zener Diode (1N5227B)
- IC1...IC12: M74HC595B1R shift registers (QTY: 12)
- 3 or 4 reed switches to sense shift, space, return carriage, etc. (Meder PN# ORD211/10-15 AT).
- An an Atmega168/328 microcontroller with Arduino bootloader and USB Typewriter software.
- A small roll of gaffer tape.
- Stranded wire, preferably 24 AWG or 22 AWG
- Solder (lead free is the way to be)
- "Simple Green" or similar degreaser/cleaner (for de-gunking your typewriter keys).
- Can of compressed air (optional for cleaning your typewriter).
- Hot glue gun
- Wire Strippers and clippers
- The usual assortment of tweezers, pliers, screwdrivers, and other hand tools for hackin'
- An old Toothbrush (optional: for scrubbing gunky typewriter parts)
- Dremel rotary tool with a cutting disk, or, if you don't have a Dremel, some med-grit sandpaper.
Step 4: Prepare your Typewriter
Underwood Desktops (like the Model 5)
Royal Desktops (like the Model 10)
Step 5: FILE THE KEYS
Using a folded-up wad of paper, prop the crossbar up and out of the way. Then, use a Dremel grinding tool to gently sand away the paint on the key-bars underneath, revealing the shiny metal. Be careful to avoid any springs that may be attached near the crossbar, because the Dremel will cut through them easily, and trust me -- they are hard to replace! Use a metal file, sandpaper, or even a utility knife to scratch away the paint in areas near springs, or in any other hard-to-reach areas.
Step 6: TAPE THE CROSSBAR
Step 7: CUT THE SENSOR BOARD
Unless they are very sharp, the scissors won't cut the board very easily, so go slow.
IMPORTANT: Make sure you save the scrap you cut off -- it will come in handy later!
Step 8: MARK THE CONTACT LOCATIONS
Step 9: POPULATE SENSOR BOARD
IMPORTANT: Make sure that the "Pin 1" markers on the chips are all facing towards the "top" of the board (see picture above).
ALSO IMPORTANT: The leads of the Shift Registers will poke out of the other side of the board and form sharp spikes. These spikes are undesirable because they will poke through the gaffer tape insulation when you mount the sensor board to the crossbar. Use clippers to cut the spikes so they are flat instead of pointy -- you dont need to cut them all the way off -- just blunt them.
Step 10: ATTACH FLEXIBLE CONTACTS
Take a second to look at the second picture shown above. You will see a common situation -- the board has been cut in such a way that some of the contacts are not connected to a shift register at all. In this case, you need only solder a jumper wire between these unconnected contacts and any of the unused pins on the rest of the Sensor Board.
IMPORTANT: In 99% of the cases, you will want to attach the contacts so they stick out underneath the Sensor Board (i.e. on the opposite side from the chips). However if you have a Royal typewriter, you will want to go about things differently -- the contacts will be soldered on top, instead of underneath, the board. Please read this note about Royal Typewriters before continuing.
Step 11: ASSEMBLE THE INTERFACE BOARD
Also, don't get confused between C1, C2, and C4. C4 is marked "103" while C1 and C2 are marked "22J."
Step 12: TEST THE INTERFACE BOARD
You can repeat this process at various stages in the project to make sure everything is still working.
Step 13: CONNECT THE TWO BOARDS
After you make the connections, its a good idea to test the electronics again (see Step 10).
Step 14: PRE-BEND CONTACTS
Step 15: ATTACH SENSOR BOARD TO CROSSBAR
Step 16: CUT AND BEND CONTACTS
Also, make sure none of the contacts are touching any exposed metal, like springs, arms, or untaped parts of the crossbar (see 4th picture above). If any of the contacts wont stay in place, use a small amount of superglue to hold them down (Be careful with the superglue! Don't get it all over the contact!).
Step 17: PROP THE CROSSBAR BACK
The method for propping the crossbar back is different for each typewriter. For example, if you look carefully you'll find that Remingtons all have adjustable tabs connected to either on either side of the crossbar that prop it back. Many Underwoods also have these tabs. Other Underwoods have a thin metal bar, perpendicular to the crossbar, which props it back. Smith Coronas have a hook that extends from the left side of the crossbar to the tension-adjustment spring. Regardless what kind of tab, hook, or bar your typewriter uses to prop back the crossbar, you will have to either a) bend it a little or b) add a shim. The best source of shim material is the plastic PCB scrap you cut away from the sensor board in Step 5. You ideally want to add about 1.5mm-2mm of separation between the keys and the crossbar, and luckily this scrap is 1.6mm thick.
THE QUICK AND EASY WAY:
If you are unsure what system your typewriter uses to prop back the crossbar, there is a very simple solution that will work on any typewriter. Unfortunately, it involves sacrificing one of the keys (I suggest sacrificing the "1/2 1/4" key, which has no equivalent on a modern keyboard). Simply remove the contact underneath that key, and in its place attach a small piece of shim material using superglue. By resting between the key and the crossbar, the shim will ensure that the crossbar is separated from all of the other keys, too. The best source of shim material is the plastic PCB scrap you cut away from the sensor board in Step 5.
Step 18: ATTACH THE CHASSIS WIRE
First, identify a screw or bolt on the typewriter chassis that would make a good connection point. Next, remove this screw and strip away the paint underneath it with sandpaper or a Dremel. Next, crimp a wire onto one of the metal eyelets included with your kit, and screw it down onto the typewriter chassis.
The loose end of the eyelet wire should then be attached to either of the two "CHASSIS" inputs marked on the Interface board.
Step 19: ASSEMBLE THE REED SWITCH BOARDS
Certain keys, such as Shift, Spacebar, Backspacer, and Return Carriage, do not strike the crossbar, and therefore cannot be sensed by the Sensor Board. To catch these keys, we will mount magnets to them, then attach reed switches nearby. (Reed switches are special switches that are only closed when they detect a magnetic field). When the key is moved down and up, the magnet will move towards and away from the reed switch, opening it and closing it.
Assembling the Reed Switch Boards
Because reed switches are very fragile and hard to work with, the kit comes with breakout boards and protective sleeves for each reed switch After soldering the reed switch to the breakout board, attach two wires -- each about 12 inches (30cm) long. Then cover the board with a heat-shrink tube and use a lighter to shrink it in place. (Don't put the flame right onto the tube -- you are trying to heat it up, not set it on fire!) You will notice that the glue inside the heat-shrink tube will melt, sealing everything in and protecting the fragile reed switch from damage. This process takes about 1-2 minutes, so be patient. Using a heat-gun or hair-dryer instead of a lighter may speed things up.
Cut off the excess heat-shrink tubing with clippers or scissors.
WARNING: The tubes will be extremely hot after shrinking! Let them cool down before handling!
NOTE: If you don't have the breakout boards, you must have an older kit -- email me and I'll send the new parts to you for free!
Step 20: FLATTEN THE REED SWITCH BOARDS
Step 21: ATTACH THE REED SWITCHES
Unless you have worked with reed switches before, it may be tricky to find the appropriate place to attach them to your typewriter. So, some experimentation with a multimeter is required before finalizing the position of each reed switch. First, attach a magnet to the key you wish to detect (for example, the spacebar, backspace key, shift key, or return carriage lever). Next, attach the probes of your multimeter to the wires of the reed switch, and use the "continuity" setting (often signified by a little beeping sound wave) to monitor whether the reed switch is open or closed (see picture above). The multimeter will emit a beeping noise whenever the switch is closed (i.e. when a magnet is nearby).
HINT: The reed switch can detect magnets in any direction, but it is most sensitive to magnets that are directly in front of it or behind it (see 2nd picture above).
Finalize the Position
When you are satisfied that you have found a good position for the reed switch, so that it opens and closes consistently whenever the key is pressed, use superglue to attach it permanently to the chassis of the typewriter. I like to use hot glue as well -- not to attach the reed switch but to tack the wires down.
Example -- Space Bar
In the example shown above (see 3rd picture), the switch is normally open, but closes whenever the space-bar is pressed. However, you may decide to use the opposite configuration -- so that the switch is normally closed but opens when the key is pressed. It makes no difference whether the switch is normally open or normally closed, because the software is able to figure this out during calibration.
Step 22: CONNECT THE REED SWITCH WIRES
The picture above shows an example of how the space-bar reed switch might be connected.
Step 23: ATTACH THE INTERFACE BOARD
Step 24: PERFORM FINAL CALIBRATION
To access Calibration Mode:
1) With the USB cable unplugged, open up Notepad (on Windows) or TextEdit (on Mac).
2) Next, hold down the button marked S1 while plugging the USB cable in.
A message should appear that says:
by JACK ZYLKIN
CALIBRATING...TYPE THE FOLLOWING KEYS:
You will then be prompted to type each letter of the alphabet, all the numerals, punctuation marks, and a few other keys. Just type the corresponding key on the USB Typewriter.
IMPORTANT: If you come across a character that you don't wish to assign to any of your USB Typewriter keys, press space-bar to skip.
Some keys are hard-wired
Note: Alt, Ctrl, and Shift are not assigned during calibration -- they are hard wired to specific inputs on the interface board, which cannot be changed.
How to assign bonus keys
If you hold down S2 as you assign a key during calibration, the USB Typewriter interprets that key as a bonus key. For example, when the calibration mode prompts you to enter the "F2" Key, you will realize that your typewriter doesnt have one! Instead, you might decide to hold down S2 while entering the "2" key. From then on, S2+2 will send an F2 command. Meanwhile, just pressing 2 by itself will still just send a 2.
Step 25: YOU ARE DONE!
If you have any questions, email me at jack [at] usbtypewriter.com or leave a comment on this instructable page! I love hearing about interesting problems and successful projects!
A quick shout out:
This project was created at Hive76, a rad maker co-op in Philadelphia PA. Visit them at www.hive76.org. -- go check out their website for more cool projects going on in Philadelphia.