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!

  • balsoft@lemmy.ml
    link
    fedilink
    arrow-up
    6
    ·
    22 hours ago
    • Connected standby is already somewhat possible (it’s actually done on the hardware/firmware side on most phones), it can work with something like ntfy with a fairly simple script IIRC
    • We have sandboxing and permissions figured out pretty well with Flatpak (there are improvements to be had for sure, but all the basics are there)

    The one main remaining barrier (apart from thousands of paper cuts everywhere and lack of apps), is indeed process lifecycle management. It’s the most complicated one to do, because in order to work well it requires apps to cooperate in some way, either by completely and honestly shutting down when not doing any work, or by providing ways to check if there’s any work to be done without running the rest of the app, or both ideally. None of the apps currently do that, so the only options are (1) just let apps do whatever they want, draining the battery, or (2) send SIGSTP to apps that are not in the foreground, losing background notifications and such.

    • hendrik@palaver.p3x.de
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      10 hours ago

      Yes, good job at explaining the app lifecycle. I brushed over it because I had no idea how to phrase it in a concise way. And it’s really the million papercuts that stopped me from using the Pinephone. I tried.

      Connected standby is already somewhat possible […]

      Yes, it’s a very crude way, though. In practice I never got the messages from my wife to bring milk on my way home. I’d read them a few hours later in the evening after unlocking and tinkering with the device. What worked well is tell people to send SMS or call, because that reliably wakes up the device. But then people forgot they were supposed to communicate with me like in the 1990s.

      […] sandboxing and permissions figured out pretty well with Flatpak […]

      We do. That’s how some modern distros like Fedora Silverblue work. But then it’s somewhat problematic with phones. These packages are supposed to come directly from the various upstream projects. And then the phone distros can’t patch them any more to deal with the peculiarities with the inconsistent ecosystem. So we’d either need to have a good platform first and all agree on it, or repackage everything in a way unalike how Flatpak is done today. And then it fills up storage fast with all the runtimes and dependencies and a phone has limited storage available.

      I think hardware wise, that leads us to re-invent the laptop. Not a phone by any means. We need a large SSD for all the Flatpaks, lots of RAM to keep the software running in the background and a large battery stapled to it because none of it is energy-efficient enough.

      It ain’t easy… I think we’re making (slow) progress, though.