this post was submitted on 15 Nov 2025
167 points (97.7% liked)

Linux Phones

1735 readers
114 users here now

The Discussion on Linux-based Phones.


Benefits:

  • Hardware freedom.
  • Perfect operating-system competition.
  • Full utilization of specs.
  • Phone lifespan raises to 10+ years.
  • Less e-waste.

Linux Mobile Distros:

  • Ubuntu Touch
  • Sailfish
  • FuriOS
  • Postmarket OS
  • Mobian
  • Pure OS
  • Plasma Mobile
  • LuneOS
  • openSUSE Mobile
  • Nemomobile
  • Droidian
  • Mobile NixOS
  • ExpidusOS
  • Maemo Leste
  • Manjaro Arm
  • Tizen
  • WebOS

Linux Mobile Hardware:

  • Fairphone 5
  • Volla Phone
  • PinePhone
  • FLX1
  • Librem 5

⚙️Contribute

🧼Go Clean From the Duopoly:

💻Related Communities:

📰News:

💬Messager:

⌚️Watch:


founded 1 year ago
MODERATORS
 

Hello all!

Due to the recent statements by Google (as well as their track record the last few years) I've decided I do not want to use Android as a phone operating system anymore. But Apple is just as bad, if not worse. So I've decided to build my own custom device.

I am working on building a phone using a single board computer, right now I'm using the raspberry pi 5. This is still a proof of concept, but I want to share my ideas with others, so like minded individuals can start messing around with this idea in their own homes to further this goal.

You can view more images of the device here, as well as the step by step instructions here (these are still very rough and incomplete) https://github.com/muhammadmanwar/cheaphone OR https://codeberg.org/muhammadmanwar/cheaphone

Right now it just runs raspberry pi OS, with a different desktop look and feel. Everything that normally works in a pi 5 works on this device, additionally I am experimenting with a Mobile Broadband modem, to allow the device to text and call, as well as access internet, like a normal phone off wifi

The total cost is around 200 dollars, not including the 3d printer to make the custom case.

This project is barely off the ground, and I've got a lot to learn before I can stop relying strictly on the raspberry pi 5, my end goal is to custom design SBCs, and release those designs for free alongside the plans for the device, so that interested parties can select their own System on a Chip to use for the device. I need to get into designing boards, I'm interested in trying Stephen Hawes' Lumen PnP (https://www.youtube.com/watch?v=JlkTcxh-9gA) for that phase.

But that's for the future, for now, I'm hoping to get more people interested in the prototype so that I'm not the only one noodling around on this idea. I'd love some feedback, and if anyone was willing to put one together for testing, I would appreciate it greatly!

all 23 comments
sorted by: hot top controversial new old
[–] maya@piefed.blahaj.zone 21 points 5 days ago* (last edited 5 days ago) (2 children)

This is fucking awesome. I have been seriously considering building something similar, but the high cost and uncertainty of functionality with 4g modems is putting me off. My plan is to use a cm4 with this 2.8 inch carrier board from Waveshare that also has a 480p 2.8 inch touchscreen, since I want something that could actually fit in my pocket.

To make up for the small screen, I would use something like the fairberry so that I don't need to use an on-screen keyboard, so the final device would have a similar layout to the Blackberry q10. I was planning on using this SIM7600G modem from Waveshare meant for a pi-zero since I want to be able to actually use LTE, SMS and take phone calls on whatever I build.

Fortunately, where I live, VoLTE is not required, but I feel like the mandate of VoLTE in other regions means that my modem should also be VoLTE capable.

You might want to look into postmarketos, since they have support for the Pi and it might make working with Phosh and the modem a bit easier.

EDIT:

I would also probably just use a battery bank that's cheap with around 37wH of capacity for powering the thing. I would extract the battery and BMS from the casing to reduce the size and weight since it would go in a 3d printed case anyways.

[–] macros@feddit.org 5 points 5 days ago (1 children)

Another Option for the OS is Maemo Leste https://maemo-leste.github.io/ Successor of Maemo, the OS for for the famous Nokia Internet Tablets (N900)

It is based on Devuan

[–] maya@piefed.blahaj.zone 3 points 5 days ago

I gotta remember to give this one a try. I kinda dig the aesthetic of it's UI, though it's a very different project compared to PostmarketOS.

[–] curbstickle@anarchist.nexus 2 points 5 days ago

I did not realize postmarketos had pi3b support...

Well, time to take a spare out of the bin and hook it up to the only working touchscreen I have (my 7" appears to be damaged... But ive got a 27" on my desk)!

[–] cerebralhawks@lemmy.dbzer0.com 14 points 5 days ago (2 children)

I think we should get the focus away from the "phone." Most people justify buying a smartphone by saying they "need a phone" but the phone app becomes the least used thing on it.

I like the term 'cyberdeck' from the Cyberpunk game. It's a bit... punk... but it more accurately describes what a phone is these days. It's more accurate to say it's a handheld personal computer. The iPhone is the easier example. It's a handheld Mac with a custom launcher and a cellular modem. It can be used as a phone, and it's a good one because it has FaceTime to fall back on. This is interesting because, technically speaking, an iPhone without a cellular connection can still call other iPhones over WiFi, via FaceTime. Of course, with Android as with iPhone, you can do the same with a lot of other networks. WhatsApp/Facebook can do it. Telegram can do it. I think Instagram can do it. I think Google has a platform that can do it. But you need a cellular network to call your grandmother's landline, though there are apps for doing that over VOIP (Voice Over IP) as well, so even then... not really.

So my dream Linux phone isn't a Linux phone, it's a handheld Linux PC that can make and receive phone calls.

[–] digitalRights4All@lemmy.zip 10 points 5 days ago (1 children)

That's actually the vision I have as well for the device, its basically just a Linux Desktop that fits in an average (cargo pants) pocket, and can do anything a PC can, so in my eyes it is functionally a cyberdeck. The biggest issues with the current configuration are that the UI is a bit tough to use, given the slightly smaller screen size than an average phone, and that it only gets about 7.5 hours of battery life when idling. I've already successfully made VOIP calls from the device, though it doesn't have built in speakers or mics, so you have to use bluetooth or a USB to 3.5 mm adapter.

[–] tal@lemmy.today 4 points 5 days ago* (last edited 5 days ago) (2 children)

only gets about 7.5 hours of battery life when idling

The thing is that I bet that Android has had a lot of engineers work on making it idle efficiently. Gonna be a high bar to compete with that.

thinks

This isn't a universal solution, since it won't handle incoming calls, but I wonder how viable it is to have an option to well, not idle much of the time?

I mean, okay. Say that there's a physical switch added to the case. I haven't messed around with the RPIs, but I figure that the RPi 5 probably has some GPIO pins, and that if it doesn't, there's some trivial way to add them, since a lot of RPI projects probably make use of them. So a switch gets wired up to that.

When the switch is open ("stay awake"), the system operates as normal.

When the switch is closed ("power save"), the system shuts down if it's idled for T seconds. It looks like the RPi 5 hardware has time-controlled boot:

https://www.makerspace-online.com/remote-raspberry-pi-5-boot/

Time-controlled start-up, however, is a different matter. Before the advent of the Raspberry Pi 5, it took additional HATs to automatically start a Rasp Pi. It’s great news that the latest version of the SBC has everything on board and needs no additional hardware or software. All you need to do is write the wake-up time to /sys/class/rtc/rtc0/wakealarm with sudo. Note that you need to provide the time in Unix epoch format (number of seconds since 00:00:00 UTC on January 1, 1970).

So it boots and lets the SIP client (or whatever VoIP stuff is running) start up and check for anything new. Maybe have a mechanism to let a couple software packages register themselves and do something similar, query for new data (Signal, etc). When they've completed, If nothing's present, system sets the time controlled startup for S seconds in the future and hibernates (I'm assuming that the Linux kernel can hibernate the hardware on the RPi 5, including the modem).

A phone couldn't get an immediate incoming call VoIP notification if it were shut down like that when an attempt came in, but a user would get a "missed call" notification and could call back. And if they were expecting a call, they could keep the thing in "normal" mode rather than "power save".

I would assume that wakeup and hibernate are somewhat power-expensive, but that there's some interval above which the S seconds become worthwhile.

It would also increase the wake time if one wanted to use the thing, of course. I dunno how fast unhibernate is on an RPi 5.

thinks

I guess it doesn't even really need a hardware switch. The toggle could be done in software running on the touchscreen.

[–] digitalRights4All@lemmy.zip 3 points 5 days ago (1 children)

This is very much in line with what I was thinking, but I have not had the time to test the theory yet. I've also considered potentially adding some sort of clock limited state using a GPIO connected switch, but that definitely sounds harder.

[–] paper_moon@lemmy.world 3 points 5 days ago

I haven't really kept up with the raspberry pi space, but was talking to someone years ago who was trying to use a raspberry pi outdoors with solar to do regular intervals of water testing for a polluted stream. He seemed to imply that the lack of power efficiency and issues around that were at the chip level. I thought like the chip itself didn't have an efficient idle or sleep state so it just burned through battery doing nothing, but still active with all cores engaged, etc.

Not sure if thats still the case all these years later with the new chips or not, but it could be part of the problem, not sure.

[–] Beacon@fedia.io -4 points 5 days ago (1 children)

The prefix "cyber" is passe and in fact now has a connotation of being dumb and poser

[–] tal@lemmy.today 5 points 5 days ago

passe

At least as of 2022, which is as late as Google n-grams runs, it seems to be on a pretty determined increase.

https://books.google.com/ngrams/graph?content=cyber&year_start=1800&year_end=2022&corpus=en&smoothing=3&case_insensitive=false

[–] potatoguy@lemmy.eco.br 8 points 5 days ago (1 children)

One question, why not GNOME/GNOME mobile? I think it will make the device even better. I use it on my tablet and it just works very well, it has very good ergonomics.

[–] maya@piefed.blahaj.zone 6 points 5 days ago (1 children)

Gnome mobile is definitely pretty slick, but last time I used it, it had some pretty major flaws, like being limited to a 6 digit pin using the number pad and exposing contacts in a locked state. IMO right now, phosh is a more complete choice, which is what OP said they wanted to use anyways.

[–] potatoguy@lemmy.eco.br 4 points 5 days ago (1 children)

Yeah, the pin being only 6 digits is quite bad I liked the mobile version, but there are still some issues to iron out.

I like the vanilla gnome on my tablet, but smartphones are quite different. As for phosh, it seemed to be kinda buggy on my smartphone, I couldn't lock it and it had some other problems. Linux on phones have some road ahead to be good, but we're getting there. Maybe kde mobile might be better, but it sucks all the battery (idk why).

[–] tal@lemmy.today 3 points 5 days ago (1 children)

it sucks all the battery (idk why).

Can your system run powertop?

[–] potatoguy@lemmy.eco.br 3 points 5 days ago

I tried KDE mobile (and a lot of other DEs) on postmarketos, seems everyone has the same experience, it drains the battery a lot faster than other phone DEs.

[–] Li0nhead@feddit.uk 4 points 5 days ago

This is brilliant!

[–] tal@lemmy.today 4 points 5 days ago* (last edited 5 days ago) (1 children)

If you've looked at it, how are you dealing with the battery? Like, on a laptop, Linux exposes the battery under /sys/class/power_supply/. BAT0, BAT1, etc. And there's a lot of Linux software that understands that, will look for that for battery charge level. But AFAICT from past poking around, there isn't a great way to just provide access to arbitrary power systems to the kernel like that. Like, if you get a bunch of 12V batteries and an inverter or something, even if you have, I don't know, a 1wire voltage sensor and a way to interface that to the computer, there isn't a great way for userspace software to talk to it and expose it via that interface. It doesn't sound like, from a quick search, the Raspberry Pi 5 has some "native" interface to batteries.

[–] digitalRights4All@lemmy.zip 5 points 5 days ago (1 children)

Correct, and right now the pi doesn't actually get any info about the battery. The battery I'm using has an integrated protection circuit and controlled output, so all of the battery management is currently externally handled. Ideally this will change soon, but there are lots of other things that need to change with the battery. It's not possible to charge the device and have it powered on at the same time, because the battery uses a single USB C connector for both power input and output. And the form factor of the battery is cylindrical, which is also not ideal. Its very much a proof of concept at the moment, I've got plans and ideas, but so far, its basically just a pi 5 with a touch screen, plugged into a power bank, with a fancy case

[–] tal@lemmy.today 4 points 5 days ago

Ah, gotcha, thanks. I was interested in it earlier for running larger Linux machines off battery systems, and figured that the same problem would probably affect anyone doing a phone. Appreciate the response.

[–] kent_eh@lemmy.ca 1 points 4 days ago (1 children)

Question: would using a CM5 instead of a full PI5 be a reasonable option for space savings in this project?

[–] digitalRights4All@lemmy.zip 2 points 3 days ago

Yes, someone from the Linux community asked something similar. Not to steal their comment but they suggested the use of this board to pair with the CM5 https://www.pi-shop.ch/nano-base-board-a-for-raspberry-pi-compute-module-5 In terms of space saving, that would be a big help. But I do like the pi5 for the micro hdmi plugs, it allows the device to be used as both a "phone" and a desktop. So I've gotta think about it some more. Thanks for the suggestion!

See that comment here: https://lemmy.zip/post/53113975/22778634