Rotary Dial Becomes USB Keyboard

[Max] had a rotary dial from an old telephone and — unsurprisingly — had nothing in particular to do with it. The simple answer? Use an Arduino Leonardo to turn it into a USB keyboard device.

Of course, the Leonardo can easily impersonate a USB keyboard, so that’s the easy part of the project. Interfacing to the dial requires an understanding of how the phone system works.

While today, TouchTone phones are most common, they were quite uncommon for many years. Early phones required you to have an operator connect your circuit to another person’s circuit. Unfortunately for the operators, the system was inherently unscalable and also cost prohibitive.

There were a variety of schemes tried and — supposedly — an undertaker who was angry that the operator was connecting his customers to her husband’s competing mortuary invented the dial telephone.

The details are pretty simple. A typical dial has two contacts. There’s a normally open contact that closes when you spin the dial to any position. It says closed until the spring returns the dial to the home position.

The other contact is normally closed and makes or breaks the phone line. Each time the dial rewinds past a position, the contact opens briefly. Of course, this is a mechanical system, so the software has to debounce the inputs, but that’s easy enough.

If you don’t have access to a dial, you could always print one. Sort of.

14 thoughts on “Rotary Dial Becomes USB Keyboard”

  1. Yes, Almon Brown Strowger, the inventor of the automatic telephone exchange was an undertaker; he entered that business in the late 1880s. Little is known about his life before that, except that he was a tinkerer at heart, and it is said that as a kid he and his brothers would built machinery to perform tasks given to them by their parents.

  2. Don’t know if this is still true but it used to be that you could “dial” a rotary phone by bouncing the hangup buttons in the correct sequence at a reasonable rate of speed.

    1. Yup, on exchanges that still recognize rotary phones. If you have fibre rather than copper, it is unlikely that rotary will work, in my experience, and some (most? Been 15 years since I had copper, and no rotary at that time) modern exchanges (copper connected) are not rotary compatible.

      1. Usually you can still pay extra to get pulse dialing support on your line, but I just want to use a cool old phone not actually pay for a landline.

        1. Heh. I remember when it was t’other way ’round – TouchTone(tm) was extra ($2/mo, IIRC).
          Now you can buy these nifty rotary-to-DTMF converter gadgets to allow use of your dial phones on VOIP boxen.

          1. If you shop carefully, you can find ATA’s which support pulse dialing. They’re unusual, but not unheard of (I have a couple in the shed somewhere).

    2. You could do this on dial tone phones also. I used this technique to build a working phone out of LEGO bricks a few decades ago. :-)

    3. Yep, it’s true, I’ve done it myself lots, only problem is sometimes you “dial” the wrong number but 99% of the time it works.

  3. OOOH, been thinking about how to access games on my mame console. Perhaps this would be the wacky gadget that I’ll use. 3 or 4 digit code to call up a game. Would need to work on the mame loader though.

    maybe the codes avoid using zero and zero is used as the enter function?

  4. This is great! But lol that huge else loop with an entry for each number is kind of ludicrous. Could be done a bit more simply, but hey if it works

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.