Open-Source Cell Phone Based On ESP32

Over the past decade or so, smartphones have exploded in popularity and seamlessly integrated themselves into nearly every aspect of most people’s lives. Although that comes with a few downsides as well, with plenty of people feeling that the smart phone makes it a little too easy to waste time and looking to switch to something simpler, like an older-style flip phone. If this style of phone is more your speed, take a look at this DIY cell phone which takes care of everything a phone really needs to do. (Google Translate from French)

The phone uses an ESP32 at its core, with a SIM800L GSM modem to interact with the cell network, including retrieving the system time. A small battery is included as well as all of the support circuitry for charging it as well as a USB interface that can communicate to a PC. The operating system for the phone is built from the ground up as well, with a touch screen interface allowing the user to make phone calls, send text messages, store contacts, and a few other basic features. There’s also a GPS application though, allowing the phone to know basic location information.

Another perk of this device is that its creator, [Gabriel], made the design schematics, print files for the case, and the operating system software completely open source for anyone to build this phone on their own. Everything is available on the project’s GitHub page. It’s a fairly remarkable achievement, especially considering [Gabriel] is only 16. And, if you’re not one to eschew modern smart phone technology there are some DIY smart phones available to build as well.

Thanks to [come2] for the tip!

40 thoughts on “Open-Source Cell Phone Based On ESP32

  1. This is pretty cool! My impression is that the modem is 2G, and 2G is fully shut down now in America. I might be wrong, though. Even so, that’s just one country, and the rest of the phone could be adapted by just (“just” lol) swapping out the modem.

    1. I agree! The american alternative might be using low-cost low-rate data plans meant for IOT, such as LTE-M and NB-IOT, which are also meant to need simpler modems. There’s also some normal 4g and 5g cards with unlimited slow data which verge on the same sort of usefulness. For unlimited usage at limited speeds in the $2 to $5 per month range you could find around 16kbit to 256kbit/second.

      Of course, calling on low bitrates is a bit tricky, especially since you’ve only got an esp32 to handle things. Maybe you’d want to put a tiny server somewhere to connect to a voip service, and then you just stream audio and commands back and forth with your server. But that gives you an excuse to copy Nextel and do push to talk with gratuitous chirps. :D

      1. Interestingly, it looks like one can get a SIM7600 board for $60, while the simpler LTE-M/NB-IOT modems are still $90. It’s likely they’ll come down in price, though. The smaller size is nice, as well.

        1. There are smaller and cheaper LTE chips from SimCom as well. For IOT and other low-data-rate applications, the SIM7672G is 24x24mm compared with 30x30mm for the 7600. It’s not clear from anything I’ve seen, that this chip can be used for voice, but for low-bandwidth data, where you can use a really cheap SIM card, it might be just the thing. Price of the module is around $12, compared with close to $30 for a 7600 bare module.

        1. I’ve read about it for ham radio, but I don’t know anything about some of the tradeoffs you might make, where you might increase bitrate to lower cpu needs or latency. I got the impression it was more optimal at even lower bitrates like 700-2000. So either it, or maybe whatever codecs they used to use in cell phones that were somewhere in the 7-16kbit range, or maybe a stripped down version of one of those gaming low latency codecs? There’s bound to be something.

        2. Because providers are a-holes. At least in my experience if you run into the rate limit you are also put on low priority. Still good enough for text based communications, but anything realtime is out of the door with this.

        1. A data plan? The second sim card in my phone is a $5 t-mobile prepaid tablet plan, but when I looked for it to link you I discovered they now only offer the next level up, which is $10 with 2GB of 5G before dropping to the slower speed. I think you might be able to get something similar for $5 thru t mobile business after an autopay discount. Mine has been pretty convenient, supposedly has slightly higher priority than MNVO data, and qualifies me for their t mobile tuesdays thing which makes up for a little price.

          Here’s a couple of charts of options.
          https://old.reddit.com/r/NoContract/comments/wxkfp1/massive_rnocontract_cell_phone_plan_comparison/
          https://prepaidcompare.net/

          Some specific options you might try for $5 or less are Tello or iotdataworks. Some you might carefully consider due to potentially poor treatment are textnow, unreal mobile, or h2o wireless.

      2. German people can check out Netzclub. 200 MByte per month for free, after that its rate limited to 64k. 9 €cent per SMS and 9€cent per minute on a call.

        One downside, the service is sending out ads per SMS to your phone, but i seldom get any, maybe once a year. The other is its using the Telefonica network, which is a bit patchy in “#Neuland”. If one can life with that, they can get a pretty nice backup SIM or a main SIM for such a device as in the article.

      1. It’s not unusual for cellular chipsets to have fallback to earlier technologies. The problem is that the networks are removing their 2G and 3G equipment from towers, and the FCC is encouraging this due to better bandwidth utilization by 5G.

  2. Please explain how the carriers (ie. Verizon, AT&T, etc) would allow a “home made” put together subscriber unit onto their network ?

    Usually unless it’s on their list of “vetted”/”certified” devices, you’re totally SOL
    and the SU will be denied network access.

    1. It uses a commercial off-the-shelf cell modem (SIM800L) with a standard SIM card in it. There is absolutely no issue getting one of those onto any provider’s network.

    2. That was true of the two major CDMA carriers in the past, Sprint and Verizon, but T-Mobile and (to a lesser extent) AT&T were typically open to any GSM-compatible device on their network. As long as the frequencies were correct and the SIM card was valid, you could put a toaster on their networks (though in my experience sometimes you’d need to call AT&T support to have them add the IMEI to your account, I never had to do that with T-Mobile).

      These days with everything LTE, as long as the device or modem is not blacklisted or carrier-locked, you can almost always freely swap a device between the major carriers just by swapping SIM cards or re-provisioning the eSIM.

  3. No doubt people will look at this as a slightly less intrusive alternative. Hopefully this will be able to evolve into something compatible with 3G or 4G without compromising. No doubt real call scrambling now becomes an option, although I doubt the powers that be would like that much.

    1. 4g you mean a ~4mb/secong network connection it can e dome but esp32 cannot hndle that mich data i mean ,ey be foraudio streaming but thats too ,uch data to prcess… its not necessary … i csn ne doe but ypu gabe to strip down the excess data ro not owerload esp32 cpu… i gues… i cheked it one time and specs didnt seem reliable and meaningfull for that much data…

      1. Pinephone seems like a great idea. I bought one about a year ago, and their Manjaro distro is just now up to the task of handling voice calls and SMS without barfing too severely. But the main issue is that there’s a computer on the LTE module, and also the Rockchip quadcore SOC they added (because the LTE module they used is not really hackable), causing it to be a battery eater. Maybe with another year of development they’ll have figured out how to implement some power reduction measures without breaking it. As it is, with the latest software, it will only run in standby for about six hours on its 3Ah battery. Using this as a web browser is a little like driving my old ’72 Chevy 3/4 ton: you can practically SEE the fuel gauge moving.

  4. A large elco is shown on the picture, which probably doesn’t fit inside the enclosure. I guess the design has issues with spurious brownout because the LDO has a dropout voltage of 1V at 300mA, which is too much for this application. An XC6220 or RT9080 would have been a better option.

    1. I noticed that. That’s a big challenge with cell modems – they draw a lot of power in short bursts. But you can replace that aluminum can capacitor with a few surface-mount devices in parallel. Just a minor setback, and space could probably be found on the PCB without too much shifting things around.

  5. This is absolutely amazing! Great job for a 16 yr old nonetheless. I hope he has a hackaday account so I can follow his future creations and progress. C’est vraiment formidable Gabriel! Merci et continue de creer! A+

    1. I’m pretty sure the last thing most 16-year-olds want to hear is “not bad for a kid”, but then, he was the one who brought up his age, so he shouldn’t be too offended. But seriously, that wouldn’t be a bad first iteration for an experienced adult, either.

    1. I don’t think Google is that worried. Once you start using a non-Android, non-iPhone device like this, you start to miss the ecosystem that comes with them. Go ahead, point your camera on that QR badge. Oh. No camera? Sorry. Oh. Needs an app to get all the features? Sorry. Most of the time, all I want from my phone is voice calls and SMS, but then there’s the rest of the time, when I want to look at a website, or I want to see a map that shows me not just where I am, but where the traffic slowdowns are. No, I don’t think Google is worried at all.

      The solution I’m working on is two devices: a minimal phone with a USB OTG jack, and a more capable device that doesn’t take up a lot of space in my backpack, maybe Pi-based, that does the smartphone stuff, tethered to the phone through that jack. I really don’t like today’s thin phones with 6″ screens, especially when they start cutting out parts of that screen for other uses, and run the touchscreen so close to the edge, you can’t pick up the phone without accidentally activating something, so a simple phone that actually fits in my hand is the first priority.

      Or to put it another way, yes, cell phone DO need better human factors engineered software.

    1. That’s an interesting project; somebody should write an article about it for Hackaday. I’m not quite sure how it works with others, though: how do you get a phone number that people other than other WiPhone users can call? It does mention that there’s an app you can install on other phones, but that doesn’t seem like a good solution.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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