Where we are now (June 2026)

Last month's account ended on a cliff: "[This project] is not a phone in the way you mean. No cellular modem, no audio, no calls, no texts." (Claude loves the drama)

It rings now.

It rings

I can now call out from it, and it can take a call coming in. When a call arrives the screen shows who is calling and the keyboard turns into two buttons, Accept and Decline. Answer, and those become Hang up. It is a cellular call, over a real modem, on my own number.

However, the path that carries my voice out needs one more piece of hardware I have not wired in. So today it is a phone you listen on. That is a strange half of a phone to have first. It is also the half that proves the hard parts work.

The keyboard grew up too. In May it had no numbers or symbols, which meant I could not type a wifi password or a URL on the device. It has them now. It's a small thing, but it was the line between a toy and something I can set up without reaching for a laptop.

What it cost

The reason this took a month and not an afternoon was not software. It was power.

The modem kept dropping calls. Every time, the system logged the modem falling off USB and coming back, mid-call. That looks exactly like a driver bug, and I treated it like one for too long. It was a brownout. When the modem keys up its radio to transmit it pulls a hard spike of current, and the five volts was reaching it through the Pi, which cannot supply that spike. The rail sagged and the modem reset. The fix was to feed the modem power straight from a stiff source, in parallel, never through the Pi. With its own supply a call now holds.

There was a dumber lesson in the same week. The call audio went silent and I spent an hour sure it was a software bug, checking the sound config every way I knew. The headphones were dead. A different pair worked on the first try. Nothing in software can tell you a speaker is broken. A dead wire and a bug that eats the audio look identical from where I was sitting.

The nicest part to build was the call screen itself. The bottom of the phone is a fixed keyboard, and the obvious move was to put Accept and Decline up in the call window. Instead I made the keyboard reactive. It is not "the keyboard," it is the control surface, and what it shows should follow what is on screen. A call replaces the keys with call controls. A normal screen shows the keys. The agent and I built that on a branch, reviewed it, and merged it like any other change.

The agentic part

And it's all wired up through a phone call skill, and this is shaping the way I'm thinking about this phone. The smartphone era brought us apps: some functionality, UX, some data, and connection to a service. But this was all contained, owned, and driven by a faceless company with a team of engineers. And thousands of lines of code.

Now with AI agents, functionality can be contained within a skill: plain english, describing how you, the user want to use your device. Here's a snippet of how calls are handled on my phone:

# Place a call

Your job is the *interpretive* part — turn what the user said into one concrete
phone number — then hand it to the deterministic `emacos-call` command. You
work through `eval_elisp`: **evaluate elisp to SEARCH for the number, then
invoke the `emacos-call` command to DIAL.** Stay on the call task.

And yes, it works! I type "Call Ana" and it searches through my files, finds her number, and calls.

What's still rough

It is held together with a wall charger and alligator clips. The proper power board and a smaller antenna are in the mail. I cannot put my voice on a call until a headset adapter arrives. Speech to text is still planned and not built, so the keyboard is the only way in, and it is still slow to type on.

So I'm still very far from where I want to be.

What's next

Get my voice onto the call, which is the headset adapter plus the software to run both directions of audio at once. Move the power off the bench rig and onto the real board. Then back to input, where speech would change how this feels more than anything else I could do.

But there's progress: In May it was a malleable Emacs handheld that could not make a call. In June it makes calls and I can hear them. That is still less than a phone, but I'll still call it a phone, my phone.

For the why, read the manifesto.