Hackaday Prize Semifinalist: An Open Smartphone

One of the biggest trends in DIY electronics, both now and fifty years ago, is creating at home what is usually made in a factory. Fifty years ago, this meant radios and amplifiers. Today, this means smartphones. It used to be the case that you could pull out a Heathkit catalog and find kits for every electronic gadget imaginable. There are no kits for DIY smartphones.

For [Gerard]’s entry for The Hackaday Prize, he’s tapping into the spirit of the decades-old DIY movement and building his own cell phone. He’s calling it the libresmartphone, and it’s able to make calls and send emails, just like any other portable, pocketable computer.

The libresmartphone is built around a Raspberry Pi, with a large battery, HDMI display with touchscreen, and a GSM and GPS module rounding out the build. He’s also rolling his own software to make calls, read SMS, and take a peek into some of the phone’s hardware, like the charge state of the battery.

[Gerard]’s libresmartphone is one of the purest examples of modern DIY electronics you’ll find; it’s not about building something from a kit, but instead building something that’s needed out of the parts he has on hand. That’s the purest example of the DIY movement, and a great entry to this year’s Hackaday Prize.

The 2015 Hackaday Prize is sponsored by:

22 thoughts on “Hackaday Prize Semifinalist: An Open Smartphone

      1. So far he doesn’t, his hardware version 0.2 has the look of a brick with a screen on top of it.
        An open smartphone is a laudable goal, but I think it’s something that a company dedicated to open standards would have to take and run with.

        1. Hello, I am the creator of this project (Gerard).
          For the moment it is like a brick. But I will be making improvements so it gets smaller and smaller.
          Perhaps I will change the raspberry pi to an Udoo Neo (I have bought 2 to try them and see if it they work as I expect), I also bought the manga screen. Both are open hardware.
          In the following months I will try to make a pcb from scratch, using both the Udoo neo and the manga screen as a reference (Trying to make the screen bigger).

          For the moment I am working hard in the software. Before making the pcb I want to have a working software that can make and recevice calls/sms, take photos and make a naviation system with the gps.

          Please I want all the feedback possible from the project and any suggestions are well received. Thanks a lot for your comments :)

          1. But still, say you get everything onto a single custom board that would actually fit into a case like that, where does one get the case made in small numbers without having to pay $2k-3k (prob. more) for the injector molds?

            Or are you planning on replacing the system board of an existing phone? (might not be such a bad idea)

            p.s. you keep calling it open, yet you’re using a black blob for the GSM baseband, what gives? Have you looked at Osmocom and their endeavours in trying to make a true open source GSM stack?

          2. Can’t reply to AKA (BTW, why? There’s just no reply button.), replying under this post.
            Cases are… Well, difficult as usual… Yet. See, with 3D printing and such we gradually have more and more possibilities to make custom things and copy them =) For example, I think it won’t be so uncommon to send your order to that DirtyPCB’s new service (HaD covered it today) to receive a 3D-printed case. Also, if he interests enough people and manages to get a group order, and he can, injected cases can turn out to be pretty cheap =)
            For replacing a system board of an existing phone, I strongly suggest looking at the board of Neo900, which is a Nokia N900 motherboard replacement project =) This, however, is not the case.
            As for now, everybody uses a black blob on their phones – I don’t think there are actually any exceptions to that, except for guys developing and testing osmocom. In my eyes, a Linux phone with GSM modem is just the perfect match for an open GSM stack, at least, once they both grow up, they will support each other =) But I think he has to have a working interface first. See, after many time-consuming failures while developing projects, I develop things this way – working on one large part after another, and thoroughly testing after each iteration. First software, then hardware. First writing the software for a prototype using common and tested hardware components, then rolling a custom board. First a phone capable of taking the most common and easily-interfaced GSM modems, then a phone that additionally supports the open-source one. As a bonus, you get nice by-products, like a project that works on the testing platform you’ve assembled, not just on your nice but custom board – otherwise it’s a significant availability penalty which impedes your project’s adoption by other people.

  1. I’ve always wanted one of those huge Motorola cell phones, maybe a tad bigger, like a WW2 walkie-talkie.

    a nice sturdy chassis, make it (at least) splash proof, big battery capacity, tough like a Fluke meter.

    Tough enough to beat off a zombie (or mugger)!

    Do any of the GSM modules do data as well as SMS and voice?

    1. There are mPCIe modules for use in laptops. Best bang for the buck IMO, industrial modules are more expensive.

      You can have everything ranging from 2G to Wimax. Standardized connectors make possible reuse of notebook antennas. GPS is often integrated too. Such modules actually do not use PCI interface of the connector, but rather USB + smart card I/O for wiring external SIM card connector.

      As far as software goes, it’s usually AT commands through USB CDC serial or some USB modem class (can’t remember exactly). Open source software often plays nicely, so you could reuse it to get started quickly.

      One catch: I’m not sure if they support voice calls. SMS works fine though.

  2. Hi! I now do R&D for the same project, planning to unite all the open-source smartphone projects into one big. I’ll announce it next month, for now, I just have some R&D questions to the HaD crowd:
    1) What’s the bect way to implement GSM? 2 ways I know that would be more or less accessible (and an open-source smartphone definitely has to be) are:
    -GSM chip breakout boards (like those Arduino GSM shields or FONA). THe problem is a need for analog audio channel.
    -USB 3G modem. You can stream encoded voice data through the serial channel, and that’s the embedded way – but those are hard to write software for. Sure, you could write a wrapper around chan_dongle drivers, but it’s quite limited in terms of modems usable for the driver, and these are not many.
    I also had thought of using gammu with an old phone connected through BT/USB, but it’s the point where you carry a phone arround to connect to your phone to make calls, and that sounds… weird. I’ll look into it though ofc =) Then, maybe, there’s a framework for Droids that’d allow to do the same (make calls from your computer connected to the phone). Either way, it really, really has to be accessible.
    If there’s anybody else working on or planning on making a Linux-powered smartphone, no matter if GSM-capable or not – ping me on HaD.io (CRImier), guess we all could make a group or something =)

    1. For the moment I prefer the FONA, as it also has the capabilites to get the GPS position. If you are planning of making a pcb it is easier because you can buy the SIMcom module:
      https://www.adafruit.com/products/2637
      I hope to be able to buy the SIM5320A or later modules in the near future.

      I have the same thoughts as you in the reply you made at 3:20 pm.
      One of the reasons to make this project was to get other people interested in it and to know other people that want the same dream, more openness both in hardware and software (at least all the possible openness we as hobbyist can achieve at the moment, I know that from small steps we can achieve great things in the future) in the smartphone sector.

  3. This is one of the problems I have with things like Arduino and Raspberry Pi. People come up with good ideas that require custom hardware to remotely be useful and people will stack kits together then IF they get backing are forced to reinvent the project in a totally different chipset.

    At the very least use the Raspberry Pi compute module and spin a board with wifi, gps, gsm and fpc for screen. At least that would be small enough to be a “concept”.

    I should also point out HTC Dream specifically as well as Sony UX, OQO, Nokia N810 (not phones).

    I actually had a HP Jornada, NEC MobilePro 900 and then Nokia N810 and the handhelds REQUIRED a keyboard because the screens where terrible resolutions. Nowadays you can get a sub $100 tablet and put linux on it and you get something faster and smaller than the Pi will ever be and an on screen keyboard is acceptable. I also point out if you are typing for any legit reason you would get a bluetooth keyboard instead of a slider…

    1. I’m fairly sure a RPi is okay for a concept, especially given that it’s no less software than hardware. The first concept I’ve made of my thing was a RPi with all connectors desoldered and all kinds of peripherals soldered to it. It had its own bugs and the software development was FUCKING PAIN. So let him focus on the software first. I’m fairly sure that otherwise there’s a much bigger possibilty of a project being thrown in a spare parts bin, as it occured with mine =(
      Also, he doesn’t seem to be too hardware-proficient. And you know what? I’m sure it doesn’t matter. We need somebody to actually start doing this thing, no matter whether efficient or not – because just idea announcements do wonders sometimes

      A slider was okay for many people, too – you know, for typing on the go =) I hope I’ll ever try using an N900 or something. Putting Linux on Android tablets… You know, that’s much more painful than it sounds like. Nobody’s gonna give you drivers for the thing. But if you have a working sub-100$ example (with drivers for GPU and at least most peripherals), I’m very, very interested.

    2. I have to ask what is the final goal of this? So far I have seen only trivial .py scripts for putting together a UI and using off the shelf premade modules which is not going to pass FCC on the whole when stacked together.
      There are open source project like FirefoxOS that does everything, so this is not even needed. At the end of the day, any sane person that want an open source phone would have gone for one that follows a standard so that the phones have a well supported apps, multiple manufacturers making the mass produced hardware that passes RF regulations.

      1. Yes, for the moment it is only a prototype. It is in an early development stage.
        This phone is for the moment directed to a small group of people that, as me, want to see in the future an open hardware smartphone that uses open source software and can be used as a desktop computer.
        I find Firefox OS very interesting, but I don’t want to lose all the functionality the gnu/linux OS has (libreoffice, kde, gnome, lxqt, blender, kicad, freecad…) that Firefox OS doesn’t have because it is a mobile phone OS.
        For the moment i don’t want to sell it and all the people that want to make it have to build it themselves, I want to keep improving it so more people find it interesting.

  4. Amusing effort, but wouldn’t it be better placed in helping replicant, or building a new OS for existing hardware?
    Android and iPhones are already computers with all the hardware you need. Build a replacement OS and provide source to people. This way you can have all your linux apps on your phone.
    I guess if you are after open hardware… but that’s unlikely to happen, as you yourself have identified that there is hardware that you can’t spin a DIY software solution for yet.

    1. This is a completely different approach that IMO needs not to be compared. Replicant, being Android, has its own pros and cons – and some prefer Linux, for example, me, trying to make a completely new interface, which doesn’t quite apply to Android’s principles of having a graphical screen of any kind, and a touchscreen to go with it. So if you want to be able to innovate, you either have to be a really powerful developer to port all those apps written for Android, keeping all your innovations with mind, or just use a platform which your innovations are closer to. And, in author’s case, having a smartphone tailored for desktop Linux is IMO certainly an innovation. See, I myself use a Raspberry Pi as a portable computer for everyday needs and it’s awesome – I’m writing this post from it right now ;-)
      There will almost always be driver problems while using pre-built phones, as many vendors today don’t and won’t release specs, and RE is a time-consuming PITA compared to what we could have if all the information would be available. Also, of course, there is hardware that is can’t yet be covered by any software solutions. The thing is – the more hardware we cover, the larger is the possibility of someone joining to help.

  5. I’ve always been a fan of libre mobile devices and if I could find a working OpenMoko Freerunner for sale I would buy it immediately despite it’s dated specs, but how does this project compare to other current attempts such as the Neo900?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.