I'm trying to build a phone!
Posted on Oct 2 2026 under self-hosting, custom-phone
I’ve talked with a few folks about this project at this point and figured I
should probably write it up so people can follow up. This won’t
be a long post, just to introduce what will hopefully be a
series of posts and to kickstart my writing online again.
Yes! I’m trying to build my own phone. Ever since I used a pinephone as my main phone, I haven’t been able to shake the feeling that it ought to be possible to build, run, maintain, repair, and operate my own Linux phone, just like (or at least similarly to how I) I do for the rest of my computers.
I think a lot of people care deeply about their phones, but even for engineers the idea of building your own is “wacky”. Myself included! Modern phones are an engineering marvel. To build my own, I will definitely be making some compromises and getting a lot of help.
It goes without saying, but modern phones have a few fundamentally-different operating requirements compared to other computers (such as laptops, desktops, and servers):
- Like servers, are always “on” and exchanging data, but on a battery
- Which means power requirements are hugely important
- Like laptops, are portable, but even more so as they are expected to fit comfortably in pockets
- Depending on your use case, some folks still expect incredible performance, top-notch displays
- Software expectations are different, but I haven’t been able to necessarily pin down the differences. Aside from input device expectations - touch and audio versus keyboard and pointer - the main difference in modern phone software is its ability to “interrupt” your day and request your attention (for better and for worse)
- Rugged and durable designs getting shoved into pockets, tossed around, dropped, and more
- Convenience or “frictionless” is probably how you might bundle all these points into a single term. A computer that’s always with you that can be activated instantly and quickly exchange whatever information needs exchanging, and then stowed away again until the next event
So which ones do I care about? Well, all of them to some degree. I do want a computer that can be always connected (to some degree) so that if somebody I care about wants to interrupt my day for some reason they deem important, they can! I do want a device that isn’t a total pain in the neck to keep charged. I do want a device that can comfortably snuggle in my pocket until I want it. I do want a device that has the compute power to do what I would want a mobile computer to do today and in the future using the software I like. I do want a device that can stand up to the trials of having children around all the time. I do want a computer that is convenient for me in my life.
So why do current phones not satisfy me?
Before I fully answer, I want to acknowledge that caveats abound. Yes, there are some outliers out there that defy these facts, but each one comes with some idiosyncratically critical drawback. That said, if you know something I don’t, I’d love to hear your pushback! Share your knowledge!
The main thing I hate about modern “smart” phones is that the device isn’t really yours. Now, granted, I’m coming from a Linux computer user mindset. I can sit down with a large language model and basically make my computer do anything I like or behave how I want. But there’s no reason I shouldn’t be able to make the collection of programs on my phone work the same. But all modern devices offer an operating system that is restricted on purpose - though, I’ll admit, for plenty of good reasons!
But we’ve thrown the baby out with the bathwater there as best as I can tell. What is done in the name of security and keeping the kids “safe” is also done to own your attention, morph your opinions, and slurp your brain and soul out with a digital straw. Modern computers and software are, by nature of the corporations that build them, designed to extract value from human beings.
I also, of course, acknowledge that we human beings extract immense and untold value in return from modern computers. We can learn very nearly anything we could possibly want to - at any time. For as long as we want. With the advent of LLMs, we can further reprocess that information in all sorts of incredible ways. Hence why I still use computers - and why I’m building more.
Anyways, to cut the wandering, wishy-washy rant very, very short, I want a device that is designed to be hacked. Not in the sense of getting pwned, but in the sense that I’m supposed to tinker with it and that I’m rewarded for it.
Ideally, this means free hardware and software (as in the spectrum of open-source and libre). Unfortunately, very little hardware is so free, though there are some vendors doing some really cool stuff to varying degrees in this space, such as MNT Research and Star Labs. Of course software has a slew of gloriously-free software (depending on your definition) that I already use and am familiar with.
However, hardware/firmware is still plagued with binary blobs and proprietary bits. There are people that are way more principled than myself about these things and I have a ton of respect for those folks. But, for myself, as long as I get to do what I want how I want with my hardware without that hardware doing things I don’t want, it’s tough for me to care much further than that.
I think for a blog post that was supposed to be a paragraph, I should seriously hop off the soap box and get on with it. If this resonates with you, there are people closer to this space and far more passionate and knowledgeable that have written at length about this conundrum.
The fact that I can’t tell my phone to ring no matter what when my wife calls and shut the actual heck up for literally everything else is insane to me. I can’t say I want X, Y, or Z applications to be able to notify me in certain ways at certain hours. I can’t make it so holding down the volume button skips to the next track or triple pressing a volume key jumps me to particular app.
Once upon a time, Android phones actually could do a lot of these things and they were cool! Now only specific models or variants can but most require rooting your phone which breaks your ability to use it to pay for stuff I guess because reasons.
I just want total control of my computers.
Why now, then?
Previously, this just hasn’t been possible for me to work on while I’m working full-time, raising a family, and doing life.
But, I don’t know if you heard recently, LLMs got good and can do a lot of work now. Having access to some really smart LLMs has been a game-changer and totally changed the algebra for “what side projects can I work on?”
So yeah, that’s the main thing! I’m using a lot of AI to help out and do the bulk of the work. Plenty of people will have issues with that and that’s perfectly ok. This project is just for me.
So what am I after?
So now that I’ve talked all high and mighty about some of the why, we should get to some of the “whats”. I’ll just blitz through these:
- Physical, reprogrammable keyboard. I’m sick of Termux on Android, as fantastic as it is. Nothing beats hotkeys, though gestures on phones are definitely cool and some actions like long-tap-dragging are really neat. But a keyboard and pointer device are still what people who are trying to get stuff done are using - and for good reason
- Clamshell design with a low-power external display for at-a-glance information and quick actions without actually opening the device. I’m not fully convinced this is the best way to go. But I don’t want keys snagging on pockets and I think this is the simplest win for durability on a DIY device to keep fiddly bits generally safe in the clam.
- Other than that, the usual phone bits. The main computer will be asleep most of the time. If the cellular modem says something happen, it will bug a super-low-power embedded controller which can then wake the main computer. So I can get that top-tier suspend battery longevity but also make absolutely certain my wife can call me. This way she can actually be mad at me for having written crappy software or buying the wrong hardware instead of me being able to blame my OS like it’s 2004. Couples need to go back to fighting about real stuff.
Shout outs to a few other projects out there that have a lot of shared vision here!
- Mecha (their Comet project with the LTE module may make my whole project completely obsolete!)
- postmarketOS (recently rebranded to Nura)
- Mobile NixOS
- PinePhone (which really inspired this whole thing)
So what am I giving up?
- Super slim form factor: my “phone” will likely be pretty chonky. It might not fit in a pocket after all. Like I said, I’m in the design phase, still! I may end up realizing what I want is beyond the scope of my own abilities (even augmented with super-smart LLMs) and kill this project.
- The Android and iOS app stores and those platform’s unique integrations and features like tap-to-pay. Because Apple and Google can be trusted to move money on my behalf but not me or my software…? Ok, this one is probably fair, but I’m now really used to not carrying a wallet at all…
- Probably some security. I like to think I keep a relatively secure presence on the internet, but I know I’ve traded security for convenience. Especially with LLMs running amok on the internet, it’s probably a matter of time before I and many others are toast. My phone will likely not be as secure as the latest modern smartphones.
- Probably some screen real estate, which I will miss. I like having a larger screen. I don’t like heavy phones. My phone has recently been my main media consumption device right now. But I’m trying to cut back on this. A big part of the reason for building my own phone is to optimize it for doing the things I want to be doing and un-optimize it for doing the things I don’t want to be doing (like doomscrolling). My phone is likely to have a worse screen and be heavier.
- Baked in spam protection. I get a billion phone calls a day and 99% or more of them are from butt heads who have no business calling my number. If I wanted to sell my house I would list it! That said, my current phone doesn’t do so well in this department anyways.
- Probably much more I haven’t even realized yet…
So how’s it going?
Good! I have proved out a few pieces of hardware. Buying all these serious devkits has been really cool. You can follow the main repo me and the LLMs are working in if you like. You should know that almost the whole thing has been written by an LLM, so take everything in there with a grain of salt. That said, at least some of the findings and test/experiment results in there are real.
I have an ideal SoC, I’m pretty sure I know which chip I’ll use for the embedded controller, I have a modem picked out, I have a keyboard plan, I have a rough physical layout of where/how the whole thing will go together, and I have a ton of parts for testing everything together on a bench. I have a rough power budget that I’ve loosely measured which roughly matches expectations for devkit-grade hardware. I’ve run a few end-to-end tests with another modem and got SMS working.
The thing I’m most scared of is needing to put the components all on one mainboard and do the hard work of laying out and routing such a complex PCB and potentially have to do multiple iterations. I can’t/shouldn’t afford to dump multiple potentially thousand-dollar full hardware board revisions.
Immediate next steps are order an adapter for my real modem so it can connect to the brains via USB properly and make sure phone calls do actually work under various conditions. I also need to order the endgame touch/amoled display and get that working. Then I probably need to bite the bullet and order the expensive devkit for the endgame SoC. Once everything is working in concert from there on the bench it’s all PCB work from there I think.
Once I have the hardware, it’s about iterating on the software. I’m hoping to re-use the huge bulk of my NixOS+niri+noctalia setup, but am sure it will need tweaking (or scrapping entirely!) for power, performance, input devices, etc.
If you want to follow along, you are more than welcome!