How it Works
Functional Description:
The USB Typewriter 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 of metal contacts which clip easily underneath the keys of the typewriter. A row of shift registers on this board forms a "bucket brigade," passing bits down the row, from one contact to the next, so that signals from 45 or so keys can be reduced to just 4 wires (2 signal wires and 2 power wires). See the animation below for an illustration of how it works.
- The USB Interface Board features an Atmega328P microcontroller chip (ie an Arduino chip), a USB Type B socket, and some supporting components (power supply, crystal oscillator, and USB voltage conversion). It controls the operation of the Sensor Board, and sends keystrokes to the host computer over USB. The Atmega328P chip comes pre-programmed to accomplish all of these tasks.
- 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, the Interface Board has additional inputs for reed switches, which are tiny switches that close when in the presence of a magnet. Generally, I find that it is enough to install reed switch next to the shift key, the spacebar, and on the return carriage lever (to sense a "return" or "enter" command), although up to 8 reed switches can be placed near various keys in this way.
- The Wires: Contrary to what you might expect, the USB Typewriter does not require much wiring. Only 9 individual wires must be run underneath the chassis of the typewriter, and an additional 2 wires must run out to the return carriage lever. This makes the USB Typewriter mod easy to install, and hard to break.
Cad Files, Schematics, and Software for these boards are available on the Design Files page.
How the Electronics Work:
The shift registers are positioned such that their output pins/contacts are directly underneath the keys of the typewriter (but not touching them). By default, these pins output 0V. However, under the microcontroller's control, a 5V pulse moves sequentially from one shift register pin to the next, very quickly. When the typewriter key is first depressed onto one of these contacts, this 5V pulse will travel down the row of shift registers, then, when it reaches the key that has been depressed, it will shoot through the metal key, into the chassis of the typewriter, and then through a wire into an input of the microcontroller. Because the 5V pulse is only present on one shift register pin at a time, and because the microcontroller knows which pin this is at all times, the microcontroller can deduce which key has been pressed upon receiving a 5V pulse back at its input.
Licenses and Trademarks
The USB Typewriter™ design is distributed under the Creative Commons Attribution-Share Alike License. All design documents used in making USB Typewriter hardware and software can be found on this website. The software design is based on the open source Arduino microcontroller platform, and can be customized and modified using the Arduino IDE. It also makes use of the ArduinoUSB Project developed by RancidBacon.com.


June 14th, 2010 - 17:43
A great project. Just curious – have you looked at the Teensy uController board? It is nice and small, can be programmed with Arduino/Processing or C, and can emulate a keyboard out of the box… it would likely be small enough to hide inside most typewriters, so there’d only be a usb extension cord hanging out the back to plug into.
June 14th, 2010 - 20:41
Outstanding idea! Well done.
I have blogged it here.
June 15th, 2010 - 04:59
That is a cool board there. Actually, I just made my own Arduino-type board from scratch. I’ll post the design files soon, and then you can see what I did to make a custom USB microcontroller board. Its based on the Arduino Diecimila and this design: http://www.practicalarduino.com/projects/virtual-usb-keyboard
June 15th, 2010 - 21:55
An USB “type writer”? How is this different from an USB *keyboard*? so much for re-inventing the wheel…
June 17th, 2010 - 13:46
Since different typewriters have different layouts, I assume there’s a way to program each key (and each shifted key) with the symbol on the key. But what about double shift? There are some typewriters that have double-shifts, three characters per metal key. The first shift gives a capitol letter, while the second, higher, shift gives a symbol. They’re cool typewriters, since they allow >=26 different symbols. I’m just curious if there’s a way to program that activity into the USB controller. Thanks!
June 17th, 2010 - 15:01
This is fantastic. Really great idea for those of us who are modern retro fans. Love it!
June 17th, 2010 - 15:12
Absolutely terrific! Some may not see the difference between a USB keyboard but this gives society to reuse old technology which creates less waste.
Question. How is it in handling the iPhone and iPod Touch devices?
June 17th, 2010 - 17:06
Vlad…you don’t get this do you? It’s *not* meant to be an improvement. It’s meant to tie the past to the present and future. Its a ‘retro’ thing.
It’s ‘Film Noir’….with a flickering monitor casting a pool of green light in a darkened room over the PI’s face and his 2 finger pecking on his Corona as he tracks down Mr. Big’s whereabouts on the Internet while his lit cigarette, joining others in an overburdened ashtray dies a slow burning death; a fate soon to be his had he had foreknowledge or actually took heed of what his Psychic had said yesterday instead of brushing her off as yet just another Loonie who had escaped the Funny Farm.
June 19th, 2010 - 13:33
Thats an interesting idea. I haven’t had any double-shift typewriters come in to my shop. However the next revision of the firmware will unlock a double shift feature, where the keyboard can access non-alphanumeric characters.
July 5th, 2010 - 09:25
This idea occurred to me a while back, and I’m glad to see that someone has worked out how to do it. Why?
The ergonomics of the manual typewriter (more force needed, larger excursion of the key, just to name a few) are such that maximum typing speed is only obtained with good posture and good technique, and which involves much more of the kinetic chain of the upper body than does the average electronic keyboard. Try slumping and just using finger motions to type on a manual. It ain’t gonna to work real well. The combination of factors in manual typing lowers the chances of repetitive strain injury.
July 26th, 2010 - 22:50
Aha! The perfect keyboard for my mother, who insists on pressing the keys on her keyboard as if it were our old Underwood. This leads to double key presses, making passwords especially hard to enter. Hey, she learned to (touch) type almost 75 years ago, so she needs some slack. Old habits die hard, you know.
September 7th, 2010 - 00:14
Love it; but would it be possible to modify the design for an IBM Selectric (IMHO the best keyboard ever made).
October 1st, 2010 - 04:41
Simply beautiful. Brings to mind the film Brazil!
October 13th, 2010 - 01:09
Dumbest idea I’ve ever seen. Computer keyboards are 25 bucks apiece.
What’s the point. If a computer keyboard was over a hundred dollars, then I could see the point. I don’t get it.
November 17th, 2010 - 16:36
This is a lovely use for old typewriters. I used to collect them and had at least a dozen, but got tired of carting them around and keeping them clean so sold them all (except one or two) at a garage sale for little or nothing. Of course, most of them DIDN’T work; either the keys were rusted together or parts were missing. I loved the architectural look of the big old heavy ones. Looking through them was like viewing the innards of an old factory. I learned to type at age 11 on a 1948 Underwood, which my father used to type all his court transcripts (he was a court reporter). Those were the days of carbon copies, sometimes as many as six or seven. You learned pretty fast not to make mistakes when you had to erase that many carbons. And as Mikey said, you couldn’t slouch when you typed. You needed an even touch or some letters would come out lighter than others. I love my computer, but I still miss typewriters.
November 28th, 2010 - 23:34
This is extremely elegant. I know several people who at least claim to be nostalgic for the old typewriter days; this would make it possible to call their bluff
. And who knows, they might actually like it?
I’m very much a software guy, but from what I can tell the hardware design looks rather elegant, and it really does look like it wouldn’t be that hard to install. Though I’d have to touch up my soldering, haven’t done much of that in 30 years.
December 4th, 2010 - 20:33
Love it!
December 29th, 2010 - 21:35
Steampunk much?
January 15th, 2011 - 10:06
does the usb interface work eith all kind of microsoft opperating systems
as xp or windows 98 ??? ill tank u 4 ansewer dubi
January 21st, 2011 - 05:19
yes, all kinds
March 5th, 2011 - 06:27
Now how about the IBM typwriter with a ball instead of individual keys
March 7th, 2011 - 01:24
It’s not about efficiency; it’s about carefully planned and elegantly designed INefficiency.
And it’s just cool as can be.
March 16th, 2011 - 13:53
Brilliant! My guess is that if someone had never used a typewriter before, than this will confuse the heck out of them. But for those that enjoyed and miss the physicality, the sound, the embossed letters and the heft of the return, this could be an exciting return to yesteryear. Great gift for an old newspaper reporter, copy writer, novelist, poet or acameditian. Good job!
April 7th, 2011 - 17:34
Would this work with a Selectric? I have nineteen of them in pristine condition and would love to be able to use one of them this way.
Best wishes.
BW
April 18th, 2011 - 07:56
Absolutely great! Congratulations for achieving this, and for the way you offer it. Consider it an absolute success so far.
Greetings from Argentina!
April 22nd, 2011 - 09:27
Far easier to interface an IBM Selectric. IIRC it required only 6 switches or Hall effect sensors. The simplicity of it made the Selectric a common keyboard choice for computer hobbyists back when building a computer involved a soldering iron rather than simply plugging boards together. The simplicity of it also made them a target for bugging to transmit whatever was typed to persons interested in secret stuff.
May 9th, 2011 - 22:44
Hmm. The explanation of how it works makes complete sense, but don’t you still have type whacking into the platen (the roller) every time you hit a key? And what happens with the the carriage – every time you hit a key, it moves one character over, and has to be pushed back to the left as it reaches the right hand side of the page, no? I get how the keys work as a keyboard, but not how the whole mechanical function of the typewriter is disengaged…or is it? And what are the effects on the wearing parts of the typewriter when it is used in this manner (you wouldn’t historically have typed on a machine without putting paper in it, as the paper protects the rubber on the platen).
May 16th, 2011 - 08:32
LOL @ Dave. (EE) who said, “I don’t get it.”
Yes, it’s painfully obvious that you don’t get it. And thank gawd for that.
May 20th, 2011 - 11:57
GREAT IDEA. NOT FROM THE COMMERCIAL POINT OF VIEW, BUT THE NOSTALGIC POINT !!!
May 21st, 2011 - 10:58
Sent a link to my steam-punk-loving daughter (puppeteer). Got two words for an answer: BIRTHDAY PRESENT (in Dutch it’s one word, though). With an exclamation mark.
May 24th, 2011 - 05:45
This is so cool. I had just been wanting to indulge an urge to buy an antique typewriter, but how much better it is if it’s a keyboard too!
How do you handle the alt, control or command (for Macs) keys in this set up? I’m assuming one makes do without it, as you can’t really press multiple keys at the same time?
May 30th, 2011 - 19:28
Have you thought about making them Wi-Fi and eliminating the cord?
June 16th, 2011 - 09:07
This is great stuff! How do you implement arrow keys (as mentioned in the video)? Do you sacrifice some of the lesser used keys or will it be done via the function key in the next firmware revision?
June 25th, 2011 - 10:29
Great gizmo. Reminds me of my 12-year old niece, who for the first time in her life saw a typewriter in my room and said: ‘Wow, cool! A keyboard with a built-in printer!’
Put it on my blog also!
http://www.sodemieter.nl/worsts-gizmohoekje
Good luck!
July 28th, 2011 - 22:43
Grand text! Just to let you know that I got a hyperlink to your site from Christian Dillstrom, the mobile + social media marketing expert – so you must be doing a superb job?
August 18th, 2011 - 15:18
It had been some time since I visited web site with such quality information. Thansk quite a bit for the useful info
September 8th, 2011 - 00:37
i think this would be cooler if the typewriter simply stored the information. Maybe just records the text to sd card? Then you can transfer when you want to go ’soft’. This way maybe all you would need is some batteries and an sd card, and you are on the road Hunter S. style, with a back up digital copy anywhere you go. Would be much more a rescue from obsolence this way – cuz whats the point if u have to plugged into an iMac or Ipad? It should be about freedom from those things. Of course you would want the piece of mind it defintely recorded to the memory card – but then! You would always have the hard copy
– I would defintely buy a machine like this. Because then I could retreat from the computer to write, but return when I needed to go digital ~
September 16th, 2011 - 02:53
Did you ever try building a sensor bar by resistance anywhere in this process? I was just thinking that If you set up a bar of some metal with significant resistivity and connected one end to ground and the other end to +5v you might be able to read which key is pressed by the voltage it carries when touching the bar with a single analog input. No active scanning required and you might even be able to set it up as an interrupt or something. Or did you already try analog read methods like that and they had too high a noise ratio?
September 23rd, 2011 - 20:14
Unfortunately, this mod is only for manuals. The selectric uses a very different mechanism, and anyway it would be dangerous for tinkerers to play with the high voltages and spinning gears.
September 23rd, 2011 - 20:15
Yes, it works with XP and win 98.