I'm a veteran professional software engineer, novice hardware enthusiast. I've created a project that I've named "Digits" where I wanted to play with doing both and learning along the way. So I did what one does and gutted a common retro phone knockoff and created an entire platform to create a private, end to end encrypted, self-hostable calling platform to accurately emulate phones from the '90s.
I am not selling anything and I do not intend to (I've got a great job already). The software and hardware are licensed AGPL-3.0 and CC BY-SA 4.0. I want people to build this and share it; self hosting is native, though I happily serve this for free from my homelab. Backend is relatively simple to bootstrap with the docker compose (or, in the spirit of over engineering the hell out of this thing as I've done, helm charts exist and I've load tested ~50k devices on homelab k8s clusters running outdated consumer hardware).
The hardware has been a blast to learn here. I went from breadboard, perfboard, a flawed PCB, to a proper PCB with gerbers/BOM that I've had manufactured by JLCPCB. I'm an amateur here and likely made mistakes and absolutely welcome contributions: I literally learned kicad with this project and spent dozens of hours pouring over datasheets and landed on a PCB that still requires a Pi Zero W 2 but embeds the I/O (protos used Pico) with an RP2040 and the audio input with an onboard TI chip versus the Pi Codec Zero. I made a couple of mistakes documented in the errata, but it works with pretty minimal changes. I'm already working on a V2.1 that fixes those things, and another later revision that completely replaces the external transformer (turns out POTS delivered serious voltage to ring the bell). The dream is finding an embedded processor/memory that lets me ditch the Pi Zero W 2 completely and I have ideas, but yeah... hobby project, solo, doing this for fun and to give my kid a way to call his friends without the nonsense that landlines and helicopter parenting of 2026 (long story... my motivation for this project is written like a crazy person on the landing page).
I've got 10 functioning devices at the moment. It's a real thing, and I've got some friends with devices in their homes. It's got household linking. It's got a hardware enforced mic kill switch for privacy. It's got captive portal onboarding, factory restore, diagnostic dashboard, custom voice prompts, a bunch of themes for webapp, *69, and somewhere in there Towelie plays "funky town" if you dial the right number. Data for calls doesn't flow through the server (which you can self host, if you want); it uses all the fun WebRTC/TURN things for direct connections, even in weird NAT cases.
I welcome any questions and/or contributions if anybody is interested! I'm really just having a lot of fun building this and wanted to share!