Show HN: Rotary Phone Dial Linux Kernel Driver

235 sephalon 29 5/24/2025, 1:02:00 PM gitlab.com ↗
A Linux kernel driver that turns a rotary phone dial into an evdev input device. You might be interested in this driver if you

- prefer the slow pace of dialing over typing numbers with your numpad,

- want to bring your old rotary phone into the digital era,

- are an educator looking for a simple example driver with a VM-based end-to-end development & test environment (no real hardware needed)

- have another creative use case in mind!

This driver was my introduction to embedded Linux years ago—and ultimately led to my career. However, it remained unfinished and unpublished until now. Initially, I intended to reimplement the driver in Rust to explore the state of the Rust for Linux project. Unfortunately, I soon realized that the necessary bindings simply are not available yet, so that part will have to wait.

Comments (29)

anonymousiam · 3h ago
Back in the late 70's, I made a rotary phone dialer for my HP41C calculator. I connected a NC reed relay to the piezoelectric beeper and put the NC contacts in-line with my telephone line. I used "synthetic programming" (undocumented opcodes) to get the short duration beeps needed for the dialing pulses. I could enter a name (alphanumeric!) and it would look up and dial the phone number.

About 10 years ago, I met a guy named Keith Jarrett at my company. As I was about to ask him if he was the Keith Jarrett who wrote a HP-41C Synthetic Programming Manual, he interrupted me and said, "No, I'm not the musician. Everybody asks me that." So I finished my question and he was very happy and surprised, because he was the author of the book I had read 35 years prior.

https://picclick.com/HP-41-Synthetic-Programming-Made-Easy-b...

https://www.hpmuseum.org/prog/synth41.htm

jtwaleson · 12m ago
Cool story :) out of curiosity, do you program those kind of things on the calculator itself? I did that with the hp49g and was proud of the programs I was able to write in such a constrained environment, but the single line display of the 41c would be a real achievement!
jtwaleson · 39m ago
Shameless plug for those who like rotary phones: I converted mine into a fully functional bluetooth headset, including dialing phone numbers with the rotary dial. The HN post didn't do well but it got featured on hackaday.

https://hackaday.com/2024/10/31/bakelite-to-the-future-a-195...

https://blog.waleson.com/2024/10/bakelite-to-future-1950s-ro...

Creating an alt mode for a bluetooth rotary numpad shouldn't be difficult ;) Now if I could only find some time.

sephalon · 31m ago
Nice one! Using an ESP32 is a much more economical choice these days, but well, I really wanted to write a Linux kernel driver ;-)
jtwaleson · 17m ago
Understandable ;) In any case,the hardware is a fraction of the costs if you count the hours...

Would be interested to see a bit of your hardware setup!

mauvehaus · 4h ago
When the iPhone was just a rumor, I suggested that making it with a touch wheel like the iPods of the time would be a great opportunity to bring back rotary dialing. This was soundly rejected by all present.

Thanks to this, all I need to do is set up a Linux box so I can have that classic rotary vibe!

herodotus · 2h ago
Actually, you were not alone: https://www.patentlyapple.com/2010/12/apple-wins-patent-for-...

Steve Jobs was one of the inventors listed on this patent. As it happens, I and another Apple colleague filed an almost identical patent at around the same time. So, for a while, Apple owned two patents for simulating a rotary dial on a touch wheel. (My patent was eventually allowed to lapse. Steve's has been renewed).

I have to say that I had had a bit too much to drink at a dinner in SF when I suggested this idea to my colleague. I was thinking of the old pinball game that had really good physics making it feel amazingly real. I thought that the crucial part was doing the dialing physics in such a way that users could quickly dial any digit with the right gesture.

I was not disclosed on the iPhone when I came up with this idea, but my colleague sent the idea off to the patent committee and they agreed to it! They must have laughed when they saw the similarities to Steve's patent (which was still in progress too). We did have some big differences with Steve's, so it wasn't a duplicate. That being said, I think they wanted to boost the number of patents related to the iPhone as part of the initial marketing. (Steve said that there were already "over 200 patents" for it when he introduced it.)

mauvehaus · 1h ago
I love this so much. Both for the fact that people inside Apple had this idea, and for the fact that I may have also been more than one beer into the evening when I floated the idea as well!
spicybright · 3h ago
That would have been a hilarious timeline if they just upgraded ipods with cell networking, at least for one model.

Then you can use this for typing: https://www.youtube.com/watch?v=9BnLbv6QYcA

gaudystead · 24m ago
It's wild how that video came out 16 years ago and basically ends with "we'll see if Apple will make computers for business users and not just dicking around", and now in the current day, I'm working at a place where an update was sent out to our Macbook users that bricked the ones running an M1 chip, but not the M2 or M3 models.

It almost feels _impressive_ how hard macOS still is to integrate into an enterprise setting, and maybe they're okay with it just being a running joke for the past two decades that their computers don't do as well in a business context...

jmb99 · 4m ago
Maybe it depends on the business, but I’ve been using Mac’s in an enterprise environment for my entire career with 0 issues. And yes, fully managed devices, not just “here’s a Mac have fun.” If your company can’t test updates before rolling them out, it doesn’t matter whether your shop is Mac, windows, or something else. I mean hell, if you’re all on Apple Silicon MacBooks, there’s probably only what, 6-8 different SKUs to test? Not like windows shops where you might have a few generations of Dell/Lenovo/HP workstations and/or laptops, each of which will have its own distinct problems.
VladVladikoff · 4h ago
I bet there is an app that lets you rotary dial on the touch screen to make calls.
woleium · 3h ago
iirc apple are/were very protective of the phone interface and would not allow apps that replace it.
gchamonlive · 5h ago
About time somebody put that rotary phone to good use and beat Dark Souls with it.
jeroenhd · 6h ago
Very nice! I love these minimal driver implementations. It shows off how little actual code you need for a driver (but also how many flags and kernel methods you need to know exist to make a basic driver work).

>Initially, I intended to reimplement the driver in Rust to explore the state of the Rust for Linux project. Unfortunately, I soon realized that the necessary bindings simply are not available yet, so that part will have to wait.

That's interesting (and quite disappointing, though hardly unexpected). I think documenting your approach and the setbacks you've encountered could make for an interesting blog post, if you care about writing such things.

sephalon · 1h ago
Unfortunately only a handful of subystem APIs have Rust bindings right now, so I did not get far enough to write up anything meaningful. Maybe next year support has matured to make a reimplementation in Rust feasible; then I will happily write about my experiences :-)
reaperducer · 4h ago
Need a DTMF version.

There's a guy in Australia who makes tiny line-powered boxes that translate rotary pulses into Touch Tones.

They let me keep using my rotary phones until a few years ago when I moved into a building that had no POTS wiring. Sad.

Daviey · 3h ago
Connect it to a an FXS/ATA and make it a voip phone? I have, agmonst others, a candlestick phone from the 1920's still functional using this.
oneoffcomment · 2h ago
It would be great to hack together a 1920's style AI operator to put the calls through for you.
bishopsmother · 26m ago
Cisco SPA232D + Asterisk + Deepgram should work for this (per [0], that I'm currently testing/improving).

[0] https://blog.walledgarden.ai/2025-05-20/wabbit-s2-welcome-to...

reaperducer · 1h ago
Connect it to a an FXS/ATA and make it a voip phone?

I thought about it, but couldn't find a VOIP service that was the right combination of ease/cost/good hardware.

Daviey · 1h ago
What's your criteria for the 3?

For hardware, any of these should be sufficient (as they support pulse dialing):

  - Minitar MVA11A
  - Grandstream HT502 & GXW-4008
  - Primus Lingo iAN-02EX
  - Innomedia MTA6328-2Re
  - Motorola VT-1005
  - Audio Codes MP-114 FXO
  - Digium IAXy s101i
  - Linksys RTP300  (Before firmware version 3 I believe)
(Source: https://www.classicrotaryphones.com/forum/index.php?topic=20...)

For ease and cost, you can get connectivity for almost free (depending on the country) - should just need to add the SIP/IAX login details, so what is your criteria?

reaperducer · 28m ago
It's been at least four years since I looked, which U.S. services do you recommend?

I only use my phone for voice calls three or four times a year, so cheap is important. But my wife will use it, so reliability is important.

If I could get something for $10/month, that would be ideal.

The list you pulled from that forum is seven years old, and only one of the five boxes I tried to find is still available.

jasonjayr · 12m ago
https://voip.ms is running my "land line" to the house, really just camping on a number we've had for years and is used in a bunch of important accounts, and to give out as a number to companies or people I do not want ringing my cell phone.

I think I pay USD $20 every 4-5 months to top it off. (about 3-5 inbound calls a day, and maybe 1-2 outbound calls every week or so) ATA adapters are relatively cheap to come by, which should be able to configured directly to voip.ms. I run a full FreePBX in my homelab for my connection: my ATA connects to that instead, and is connected to a cheap analog cordless phone.

CodeBeater · 4h ago
This article pops up as I have a rotary phone disassembled right on my desk (rewinding the clock spring). Neat coincidence!
jermaustin1 · 4h ago
Real question: how long has the phone been disassembled on your desk?

If you are like me: around 2 years ;).

stavros · 3h ago
I made mine into a mobile a while back:

https://www.stavros.io/posts/irotary-saga/

nicolaslegland · 2h ago
The "GSM shield" (https://www.stavros.io/posts/irotary-saga/#:~:text=GSM%20shi...) link target was likely hijacked, you might want to replace it with a snapshot (https://web.archive.org/web/20150524if_/www.gsmlib.org/).
stavros · 2h ago
Thank you! I will.