THIS OLD ROTARY PHONE ANSWERS YOU BACK — CHATGPT IS ON THE OTHER END OF THE LINE
Lift the handset of an old rotary phone and ChatGPT answers through the original earpiece.
AutomationAI
Built withRaspberry Pi
- difficulty
- ●●●○○
- time
- a weekend
- license
- MIT
- repo
- repo FINISHED (NO COMMITS SINCE OCTOBER 2023)57 stars
●●●○○ · a weekend · MIT · 57 stars · repo FINISHED (NO COMMITS SINCE OCTOBER 2023)
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
This is a retrofit that barely touches the phone. You plug an old rotary phone into a Grandstream HT801 analog telephone adapter (Zoltan had to solder an RJ11 cable onto his German TAE connector), set the adapter to auto-dial your server when the handset is lifted, and run Zoltan's Python SIP server on a Raspberry Pi or any computer on the same network. The server answers the call, sends your speech to OpenAI, and speaks the reply back through the original earpiece using Amazon Polly — so you need both an OpenAI and an AWS key. The hardest part is not the code — it is getting the adapter's off-hook auto-dial setting right and, on older European phones, adapting the wall connector to RJ11. The payoff is a conversation piece that actually works, and the MIT license means you can sell these at a maker fair if you want to. One thing to know: every conversation costs API credits, so set spend limits in your OpenAI and AWS accounts.
IN THE REPO
GOOD TO KNOW
- —Python code and setup instructions are in the repo, MIT license permits commercial use.
- —No formal bill of materials — you need a rotary phone, a Grandstream HT801 or similar analog telephone adapter, an RJ11 cable and a Raspberry Pi or any computer on your network.
- —No CAD files; this is a retrofit, not a print.
- —The README covers connecting the phone to a Grandstream HT801 adapter and setting its off-hook auto-dial to your server; the phone itself stays unmodified apart from its cable.
- —Optional extra functions (Philips Hue lights, music, TV, world facts) are included but not loaded by default; weather and voice-accent functions are built in.
- —You bring your own OpenAI API key and AWS keys (the voice uses Amazon Polly); usage costs apply per conversation.
Parts to buy
4 itemsFrom our check of the build. Exact quantities and part numbers are in the creator’s BOM.
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
Videos
I built ChatGPT into my rotary phone and made it sound German
More builds like this
All projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Read the README hardware section and set up a Grandstream HT801 to auto-dial your server when the handset is lifted (If your phone has an old non-RJ11 plug, you will need to solder on an RJ11 cable)
- 2.Set the OpenAI and AWS environment variables and start the SIP server with python3 rotarygpt.py (Lift the handset and confirm the adapter calls the server before adding extra functions.)
- 3.Set up your OpenAI API key and test with a short prompt to confirm billing limits(Conversations cost per token; set a monthly cap in your OpenAI dashboard.)
Resources
Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.
KNOWN ISSUES
- Buying a phone with a connector you cannot adapt — older European phones may need an RJ11 cable soldered on.
- Not setting an OpenAI API spending cap and running up a bill during testing.
- Forgetting the HT801's off-hook auto-dial setting — without it, lifting the handset does nothing (direct IP calls need the *47 prefix).
- Plugging the phone into your real phone line instead of the HT801 — the project needs the adapter between the phone and your network.
- Running the server on a machine that sleeps or changes IP — the adapter dials a fixed address, so give the Pi a static IP.
- Not setting an AWS spending alert as well — the voice runs through Amazon Polly on your own AWS account.
Does the phone need to be connected to a landline?
No — you plug the phone into a Grandstream HT801 adapter instead of the wall, and the adapter calls the Python server over your home network.
Can I use this with a different AI service instead of OpenAI?
Yes, but you will need to rewrite the OpenAI module (rotarygpt/openai.py); speech output goes through Amazon Polly, which you can also swap.
How much does each conversation cost?
The creator does not publish a cost. Each conversation uses the OpenAI API for the reply and Amazon Polly on your AWS account for the voice, both billed per use, so set spending caps on both accounts and test with short calls first.
Will this work with a push-button phone instead of rotary?
Very likely — the adapter calls the server as soon as you lift the handset, so the dial is never decoded. Any analog phone the HT801 accepts should work.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
Lift the handset and an old rotary phone answers with ChatGPT through a cheap VoIP adapter — no dial decoding needed. What would you wire it to first: lights, music, or something else in your home?
Zoltan Toth-Czifra
Zoltan Toth-Czifra built this to turn an old rotary phone into a home voice assistant with ChatGPT on the line, and demoed it in a video where the assistant also switches lights and changes its accent.
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.
CompareeTEAM2mo agoedited
Practical notes from our verification: the MIT license is clear and the code is compact Python, but the repository was last pushed in October 2023, so treat it as a finished hobby project rather than an actively maintained one. The key thing to understand is the architecture: the phone does not talk to a Raspberry Pi over GPIO. It plugs into a Grandstream HT801 analog telephone adapter, which is set to auto-dial the computer when you lift the handset, and the Python script runs a SIP server on port 5060 that handles the call. There is no rotary dial decoding — picking up the handset starts the conversation. Speech goes through OpenAI and the voice comes back via AWS Polly, so you need API keys for both. The creator's phone had an old German TAE connector, so he had to solder an RJ11 cable; check what plug yours has. Extra functions for lights, music, TV and world facts are included but not loaded by default. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.