ESP32 WiPhone

The WiPhone project is an open source mobile IP phone. WiPhone is intended to be hackable, modular, cheap, and open, while remaining usable.

Public Chat
Similar projects worth following

The campaign is over. You can pre-order here:

Or join the mailing list to follow along:


WiPhone Prototype
WiPhone Prototype

The WiPhone project is an open source phone capable of making free calls through the internet. It makes calls over WiFi, without the need for a cellular radio.

It's also an open source, self-contained Arduino development platform. It comes in a nice package, with a battery, power supply, and on/off circuitry, unlike most other dev boards. Once your project is done, instead of an eyesore of tangled wires, it's discreet and visually appealing.

The phone is intended to be hackable, modular, cheap, and open, while remaining usable by everyday people.


Modern smartphones are more and more a tool we don't own, we're only allowed to carry around. One that serves the interests of those who allow you to buy it in return for the tentacles that get inserted into your life. You don't own it, it owns you. It tracks you, serves you ads, and sucks away your time with mindless dopamine hits. We want a phone that's firmly in our control, optimized for the convenience of the owner, not various corporate boards, ad and tracking networks and government organizations.

We want a phone that reverses that, and puts us back in control. Maybe even fights back a little. Full control of the firmware to allow us to repurpose the phone into whatever application we want. Hardware with accessible I/O and an easy disassembly process.


  • Completely free calling, as long as you can set up an account and install a SIP/VoIP app on the devices you need to call.
  • International calls are same as local ones. No restrictions based on borders or calling plans.
  • Don’t need to deal with another country’s SIM cards or radio compatibility when traveling.
  • Keep the same address all over the world.
  • Set up your kid with a phone that lets them contact you without the distractions of a smartphone.
  • Give a pre-configured phone to an elderly relation set up with just the numbers they need.
  • Keep a spare in a bag in case your primary phone gets broken or lost. Don’t need to maintain a service plan for the backup.
  • Avoid being tracked by cell tower triangulation or IMSI catching (Stingray).
  • Load your own firmware to implement different calling protocols or completely different use-cases. The firmware is unlocked and freely modifiable.
  • Commercial phone interchange services are available if you need to call someone on a regular phone. Typical plans cost about $25/year (US or Europe providers).

Planned Features

  • polished enough normal (non-hackers) are happy to use it as an everyday phone
  • open source
  • can call other WiPhones using the internet
  • can call smartphones or computers (using an app installed on the device being called)
  • wireless firmware updates
  • Arduino compatible software
  • Espressif ESP32 processor
  • roughly 120 x 65 x 12mm
  • 320 x 240 (2.4“) LCD screen
  • spare I/O broken out to user-accessible header

Portable Network Graphics (PNG) - 67.34 kB - 09/18/2019 at 12:14


JPEG Image - 23.27 kB - 09/18/2019 at 12:06


JPEG Image - 49.41 kB - 09/18/2019 at 12:06


Portable Network Graphics (PNG) - 7.75 kB - 06/28/2019 at 14:22


Portable Network Graphics (PNG) - 162.42 kB - 06/21/2019 at 07:23


View all 79 files

  • Can Ship Coronavirus Masks And Other PPE

    stupid03/29/2020 at 15:49 0 comments

    The WiPhone store has temporarily become a mask and other coronavirus supplies store. We can get them here in China and we want to send as many as we can to the US (possibly other countries as well, but right now we only have shipping set up to America).

    You can buy here:

    Not selling anything for profit, just want to get it in people's hands ASAP.

  • Production Parts​

    stupid10/23/2019 at 01:57 0 comments

    Note: This post is out of date. Our blog is updated more frequently.


    Mostly doing assembly and reliability testing while we wait for the certifications to finish. So far we've spent a lot of time on choosing a clear adhesive for the front covers that looks good, is manageable from an assembly standpoint, and strong enough to work well with our limited bonding surface. We've also tracked down why the buttons would sometimes miss clicks. The 3mm metal domes we were using have issues with even slight misalignment so we're moving up to 5mm with a flat on both sides. Like these:

    We did recently exchange a few messages with the compliance lab. Hard to know when they will finish, but at least they are making progress. Fingers crossed for finishing in the next few weeks and then we can order production quantities of the main PCBA.

    We'll also be sending everyone the Cutest Screwdriver Ever for removal of the back cover:


    While I've been concentrating on the production side of things, Aamir has been working on releasing a few daughterboard designs: the Mega Battery Pack, LoRa, and a 4G LTE backpack. We committed to LoRa during the campaign, and hopefully at least these other 2 will be ready by ship time. If you want to upgrade, send a message to and we'll work out how to send what you want along with your pledge.

    Color Choice:

    After considering the replies, here's the plan: we'll do a green board overall since that's easy for production as well as rework, but we'll add some black to just the areas visible from the front. Best of both worlds. I briefly flirted with the idea of using black FR-4 with clear soldermask (which would have looked absolutely amazing), but backed away from the edge since it would be a colossal pain to find a vendor, expensive, and we need to actually ship parts soon. Maybe some sort of special edition later.


    Some random pics from recent work:

  • FCC Certification and Reliability Testing

    stupid09/18/2019 at 12:13 0 comments

    Note: This post is mirrored from our Kickstarter page, and is a bit out of date.


    We got the next board rev back. Board fab took quite a while longer than it was supposed to, but so far it's looking like we may not need another significant revision before we make the real ones, so that's nice and it knocks a big chunk out of the schedule. Sorry for the relative silence, but from the time we got the boards back until now we've been doing everything we could to verify they worked well and prep for certification since that's currently what's blocking the final ship date. Currently working on:

    • debugging the soft reset circuit
    • amp chip isn't accepting the config on the new board. probably because the timing of the signal
    • RF tuning (just finished today)

    As soon as the remainder of the debugging is done we can start the certification process for FCC/IC/CE, assuming we don't find any show-stoppers on this board rev. Certification takes about a month, so we've lost any chance of shipping units in August unless we ship a few to places that don't require certification. But as soon as certification is done we can fab the rest of the production boards. Most of the mechanical parts are starting to be made over the next week or so.

    Board upgrades on this rev:

    • SMD vibration motor and mic
    • better ear speaker
    • added a footprint for a loudspeaker
    • added a footprint for a rear mic
    • brighter backlight, and now dimmable
    • SD card easier to remove

    Mechanical Design Tweaks: For the most part the mechanical design is done now and we've been concentrating on making it durable, easy to manufacture, and user friendly. Some changes:

    • Spent some quality time mashing keys and scratching my head. Finally ended up modifying the design to remove most of the material on the back side. This lets the buttons compress freely and gives a much better button feel. I am satisfied with it now.
    • Finished design of the little grills that go over the mic and ear speaker. These are kind of cool. The tiny holes are actually etched, the stainless steel sheet stock is stamped into a dome shape, then the (black) color is added by vapor deposition.
    • Tightened up some areas for better alignment and fiddled around specifying tolerances for various things so we don't have surprises later where things don't fit right.
    • Added a couple more locations for keypad backlighting to even it out. There were a couple dark spots.
    Mic and Speaker Grill
    Mic and Speaker Grill

    Reliability Testing:

    We're also in the middle of a testing and selection process for the adhesive to bond the screen to the frame. We want to get this right since there's not a lot of area for the bond and it will be exposed to UV over the life of the phone.

    To that end, we bought an oven so we can do some accelerated life testing on the adhesives, as well as general accelerated life testing on the overall phone. We've also been carrying the phones around and generally playing with them for a while now.

    What Color?

    We need to pick a color for the main PCB. I think either green or black would be good. Green is going to be obviously recognizable as a PCB and should provide a nice hacker aesthetic as well as an accent to the otherwise monochromatic color scheme of the front. Black is... black. A hacker-friendly color that matches the rest of the phone. Who has strong opinions on color?

    Backer Surveys

    Backer surveys will go out soon. I think we will try to send the survey to a limited number of people first so we have time to realize what questions we forgot to ask before we blast everyone with it.


    And finally, some people were asking about the results of the Noisebridge meetup: It went well. I think around 8 different people showed up over the course of the evening. Nobody obviously disliked the phone, so that's cool :). Had a few nice chats about how the phone works and various applications people...

    Read more »

  • Big Dead Bug

    stupid06/28/2019 at 14:25 1 comment

    We finally got to the bottom of some audio issues that had us running in circles for a while. This was a tricky one because there were actually 2 separate issues and we added a codec and changed our audio library at the same time we started noticing them, so we wasted a while thinking it was our stuff, or the new audio library (spoiler: the one that had us spinning our wheels the longest was an ESP32 issue).

    Issue #1 was the clock source for the audio codec. Originally it was coming from a separate oscillator, but apparently the right way to handle it is to drive it from the same source as the I2S.

    Solution: delete the external oscillator and add a jumper the existing boards to use a pin from the ESP32 as the clock signal.

    Issue #2 we originally called the drunken codec because we noticed it around the same time we implemented G.711 and it seemed like that was the source of the weirdness. It make you sound drunk. Funny, but hard to debug. Andriy spent quite a while trying to see if we had some sort of endianness problem or a math mistake in the codec, but everything looked right. Shortly after that we added an audio library so that we could play MP3s, and that sounded great. Yay! We fixed it. Except, no, actually it only sounded good for audio playback. Calls still were still coming from someone who had been at a drinking establishment for quite some time. So we started looking at the network stack and audio buffers used for calling. A lot of debugging later and the audio pipeline for calling is simplified considerably, but the issue remains.

    So eventually we tried recording audio in various situations and noticed something weird:

    For a 16kHz sample, it looked like high frequency (around 8 kHz) noise was overlaid on the signal. Except there was no noise when the input level was low. And we also noticed that what sounded "drunk" at 8kHz sounded like sort of a buzzy robotic voice at 16kHz. Strange.

    Now that we had some real observations to play with, the issue quickly unraveled itself as the following:

    • The ESP32 was doing it.
    • "It" being chronological swapping of every other audio sample.
    • But only for mono. Stereo came through as expected.

    One of the things that made it so hard to debug (apart from all the other changes we made clouding the issue near the time we noticed it), was it only happened in calls since that was the only time we used mono. And it only happened when the call was between a WiPhone and something else (not between WiPhones) since the error self corrected if the audio got sent to and processed another ESP32.

    Anyway, now you will only sound normal instead of drunk or robotic during calls.

  • First Production Candidate PCB

    stupid06/21/2019 at 07:28 2 comments

    The bank situation is resolved. We managed to pay some vendors yesterday. Hoping to switch banks ASAP once I'm back in the States. No sense in wasting any more words on an inefficient system with no hope of influencing changes.

    So, moving on to things we can have a positive effect on:

    Upcoming Board Revision

    Hoping to send out the next PCB revision within a week or so. This is the first production candidate (likely there will be at least one more revision).

    Other Miscellania

    • New speaker sounds better, but it's too thick. The actual part dimensions of the sample didn't match the drawing.
    • Also got a new vibrator motor sample.
    • Switched to a locking style SD card holder
    • Looking into why boot takes so long (bootloader + loading data from the external flash takes around 3 seconds)
    • Changed the I/O to eliminate screen flashing on boot
    • Started work on an automated tester/programmer
    • Added a dialing screen.
    • Ongoing call quality debugging.

  • Chase Bank: #$%^&!!!!

    stupid06/17/2019 at 16:35 3 comments

    Stuck in China due to Chase Bank simultaneously fucking the project in the ass and being a giant bag of limp, helpless dicks.

    Their fraud detection algorithm locked our account and now the WiPhone project can't move forward until Chase unlocks it again. Which apparently requires buying a plane ticket and fly half way around the world. Which requires money that's currently locked in the account. And time that could be more productively spent doing practically anything else.


    And a twitter thread with Chase here. Feel free to join in and let them know what  a bunch of helpless incompetents they are:

  • Shipped Some Early Evaluation Units

    stupid06/11/2019 at 12:49 0 comments

    We Shipped! (...technically)

    The first evaluation units are on their way to the early testers. These are closer to beta hardware than the final version, but it's a good milestone regardless. Looking forward to as much constructive feedback as we can get, and hopefully some cool projects.

    The Ongoing Keypad Saga

    Extracting the keypads from our current (soon to be previous) vendor was a bit of an adventure, and I'm pretty unhappy it took so long... we really need to be iterating, but that's near impossible if the vendor drags their feet over a month getting the samples made. Luckily the samples we have now work reasonably well and we did learn a good deal about what needs to change in the next revision. The main takeaways are the area around the button needs to be more flexible for easy actuation, and the membrane that supports the dome contacts seems to require surprisingly precise alignment to make button actuation reliable. We will look into this more later and if alignment is as important as it seems to be, figure out what can change on the design to make alignment accuracy less important.

    The backlights also work now:

    Someone is apparently a closet fan of energy drinks. The production version will use white backlight LEDs.
    Someone is apparently a closet fan of energy drinks. The production version will use white backlight LEDs.

    It's kind of a cool process how keypads like these are made. They start out as white translucent compression molded silicone, then the black layer is sprayed on, and the lettering is etched by laser. Under the keypad there are a few LEDs on the PCB, that provide the backlight.


    Aamir has been hard at work rooting out bugs and he has a pretty impressive collection of dead ones at this point:

    • backlight brightness improved with correct resistor value
    • audio codec running on appropriate clock now, audio is sounding quite good
    • software shutdown circuit debugged (software shutdown allows the phone to close the SD card connection before shutting down, so as to avoid SD card corruption)
    • ongoing power testing to maximize battery life and overall power system reliability
    • found a surface mount mic and a spring mount speaker to replace the previous ones that had wire leads
    • testing with a 2W loudspeaker (the phone likely won't ship with a loudspeaker, but the hardware currently supports adding one and we want to make sure it would work well)
    • switched to a GPIO expander with PWM functionality. This lets us control the LCD backlight brightness, keypad brightness, and vibration motor without running out of processor pins.
    • testing adding an extra mic on the back of the phone so people can do things like echo and noise cancellation.


    • updated code to handle the new audio clock source (MCLK of I2S is now synchronized with ESP32 directly instead of an independent crystal, fixing audio quality issues)
    • added a simple MP3 player app and MP3 ringtone
    • store multiple SIP accounts (use one at a time)
    • back up of critical config files to non-volatile storage (WiFi networks, SIP accounts)
    • added querying of the in-memory save-file (this is how large message threads could be handled later)
    • fixed multiple minor UI/UX bugs, like improved input of special symbols
    • a sample graphic app: ported Fairy-Max chess engine


    I think we are actually still on track to start shipping the Pro versions in August. However, we have ate up most of our schedule margin and we haven't started the injection mold yet because there are a few mechanical design considerations that need to be resolved before we should jump into making tooling. So while it's likely that the Pro versions can still start shipping in August if we continue to track our current schedule (since they are made by CNC the lead time isn't so long), because we haven't started the tooling the regular ones won't.

    A major unresolved issue right now is bonding of the clear face to the frame. We really don't want those coming off later, and it's going to take some longer term testing to prove any particular...

    Read more »

  • Crowdfunding Video Preview

    stupid03/22/2019 at 07:36 6 comments

    Feedback appreciated... please let us know if you see something that could be improved, or clarified.

    Hoping to launch next week.

    Can also check out the Kickstarter preview page here (the campaign won't be live until next week):

  • A Hot New Place for Sexy Pics

    stupid02/28/2019 at 15:32 0 comments

    We added an Instagram account and will probably be posting more of the "finished product" type pics there.  Some uploaded already as we get ready for crowdfunding.

    Nerd pics still go here :).

  • Testing the Keypad Mold

    stupid02/21/2019 at 15:51 0 comments

    Our prototype keypad mold arrived and we made some test parts, and also learned a few things about handling silicone.

    Some pics of the mold:

    Top Surface of Assembled Mold
    Top Surface of Assembled Mold

    This mold is a very simple clamshell type that's only going to be used for manual testing. We just want to figure out if the keypad geometry is correct before moving to a production mold, and also get a few parts to use in the latest batch of testing phones. We will fill it by hand using a syringe.

    Views of the inner surfaces. One side for the buttons, and the other side makes the inner features, including the little pips that push the dome contacts and close the electrical circuit.

    Button Side
    Keypad Inner Surface

    We also had some silicone compatible dye on hand, so later pours were tinted blue. The keypad will probably be black in production, but we didn't have any black dye.

    Before using the dye in a casting we made a few small test batches to make sure it would cure correctly. The supplier said it should work, but since we bought the dye and silicone from different places we wanted to test it first.

    The silicone is a 2 part condensation cure type. The first rubber hardness we tried was Shore 50A, which turned out to be too soft.

    We also learned a few tricks to make the process go smoother.

    This particular mold has some critical features on both sides that form natural bubble traps. Button surfaces tend to trap air on the outside, and the pips that press the dome contacts trap air on the inside. So we have to be careful when filling to mold to eliminate bubbles. Since the silicone is thick and not prone to running, we could fill the bubble trap areas using the syringe before closing the mold and pouring the reminder through the main sprue. There were likely still a few bubbles caused by this method, but they all end up in areas we don't care about.

    Filling Bubble-Trap Areas
    Filling Bubble-Trap Areas

    Another trick was to vacuum degas the syringe after loading it with silicone. It's almost impossible to mix silicone by hand without introducing bubbles, but the degas step pulls them back out.

    The pour process:

    Some results:
    This first one was not degassed. As you can see, there were lots of bubbles:

    Next pour went better. We degassed, were careful to fill the critical areas of the mold, and used the blue dye we had tested earlier:

    Some shots of the keypad in the prototype phone:

    The buttons weren't pressing the dome contacts enough to easily make the electrical contact, so we added some foam underneath. With the foam it works better, but is still a little soft. Later we will try some harder silicone. We will also need to modify the shape of the mold to add more silicone near the dome contacts so that the production parts make better contact.:

    Result after using the blue dye:

View all 26 project logs

Enjoy this project?



Sven Jungclaus wrote 03/30/2020 at 10:22 point

It would be great if you could ship the masks to europe as well :-)

  Are you sure? yes | no

stupid wrote 03/30/2020 at 11:26 point

We can ship to Europe, we just don't have the shipping calculation set up on the website. If you queue up an order and send a screenshot of the checkout page to we can make it happen.

  Are you sure? yes | no

mirosan wrote 07/18/2019 at 08:29 point

Any thoughts on incorporating a p2p mode using LoRa modules? This would be a complete telephony network between any LoRa equiped phones within 5-20km radius. Clearly Sip would be for wifi calling and LoRa for offgrid calling. It could be defined on a per caller's phonebook entry and so on. It could be initially only messages and if close enough ie enough bandwidth calling too. 

This would be really excellent between cars/bikes in a convoy or in fact whilst in the backcountry (where the range is the best anyway) and so on.

  Are you sure? yes | no

william wrote 07/22/2019 at 14:56 point

i will be working on just that...  i am a retired hacker/tinker, wanting to link wiphones between myself and my father...  he is 95, going blind, and mostly deaf... my project will include very large (feelable) keypad, and extra large fonts, so my father can even use a phone...  LoRa with hacked gps, and voice/sound packets...


  Are you sure? yes | no

Hsingai Tigris Altaica wrote 05/18/2020 at 21:40 point

You have a website/gitrepo somewhere? I want to develop a DTN with a near RealTime push to talk style(I'm worried about the throughput for full duplex) thou could do VOX. It's for where you would rather have buffering rather than skipped frames. in my project.

  Are you sure? yes | no

mirosan wrote 07/23/2019 at 03:58 point

I believe LoRa is a broadcast medium where all modules within range do recieve all signals but only the module with the right encryption key can extract the contents so the destination "phone no" is the encryption key or better said decryption key. Whack that in the address book. Maybe use some sort of a encrypted ping mechanism determines that the contact is reachable via radio and thus LoRa is to be used...

  Are you sure? yes | no

william wrote 06/25/2019 at 06:01 point

heh...   finally found the "Next" button...

on the digital/analog ground plane issue: don't forget that mic can is an antenna...

yall do some sweet work...


  Are you sure? yes | no

william wrote 06/10/2019 at 13:08 point

first off, awsum project...!   second, wish i were stupid as "stupid"...   ;-)

main interest is in getting communication between myself and my father while shopping (as in walmart)...   he is 95, half blind, and going deaf...   he has problems with "standard" phone keypads, and small type on displays...   so was wondering if  there was any way to rebuild front keyboard for LARGE keys...   and soft load LARGE FONTS...   also, any plans on gps...?

looking at buying 2 pro models with long range radios, will they have soft drivers to "chat" to each other...?   also, (finally), can 2 wifi phones talk WITHOUT a wifi hub...?

(willing to carry around "pocket-pi-wifi-hub" if needed)...

ONE last question: 915mhz is the LoRa freq for usa...?



  Are you sure? yes | no

stupid wrote 06/11/2019 at 13:03 point

It would be pretty tricky to modify the main keypad since the electrical contacts are closely spaced. A daughterboard keypad could be done relatively easily on whatever pitch you like (but that would require some software modifications, and it would make the phone considerably more bulky). We do have the ability to change the font size, but the UI would need to be redone to arrange things properly, new icons, etc.

GPS: likely will do a daughterboard at some point, as long as there's enough of a market to support us doing it.

We are currently working toward fulfilling the commitments for the Kickstarter, which includes the physical LoRa radios. Once that's done we'll figure out what to do next. I'm actually hoping someone who gets an early LoRa radio will add the software for chatting before we have a chance to do it... we'll see.  We have a huge list of stuff people have asked for and it's going to be hard to prioritize it.

At the hardware level I believe 2 WiPhones could talk with each other without a hub. But the software doesn't currently support it. Carrying a hub should work fine, though.

Yes, 915 is the US band. We will attempt to send people a radio that operates in their local band.

  Are you sure? yes | no

william wrote 06/12/2019 at 01:11 point

would the keypad possibly be i2c...?   [ built a keypad / alarm for nokia phone way back when, using philips 82xx parallel to ic2 chip ]

could make cover for present keypad, then have a few big replacement keys for my pop...

for my application, don't care about icons/graphics...  just NEED large fonts...

very few functions required on my pop's phone...  (call me, hang up, simple chats)...

i could work on the LoRa chat...  what dev env do you use as a base...?

any simulator / dev kits i would need...?

most of my hackwork is via (lisp or bash)...


  Are you sure? yes | no

stupid wrote 06/12/2019 at 06:24 point

@william: our current keypad design uses an SN7326 keyscanner.


A while back we made dev board for testing the keypad, before it was integrated into the main design. It's posted to github: It is I2C, along with a reset and interrupt line.

I don't know if the design had any small changes since we posted it, but there is a reasonable chance if you downloaded those Eagle files it would just be a matter of rearranging the buttons to suit your needs. The pitch may even be big enough already. And I think you can buy some keycaps for those switches to make the buttons bigger (there's an image on the github page that shows the old dev board).

If you do this let me know and I can take the time to verify if the design changed or not. I think there are some test points that would be fairly easy to solder to. So if you removed the onboard keyscanner and jumped into those testpoints with your custom keypad it should work.

The firmware is done in Arduino. I think any ESP32 based dev board could be used to debug the keypad (or really anything that speaks I2C), at least initially.

  Are you sure? yes | no

william wrote 06/24/2019 at 06:10 point

i don't know your business model, but i build things...  willing to give designs to the project if can tap into some assistance in areas where i am weak, to get design completed...  more concerned with having working modules i need than money...


  Are you sure? yes | no

william wrote 06/24/2019 at 06:05 point

RE: stupid wrote 2 days ago@william

cool! thanks for the order.


need working board which i can hook NEW iic keypad to and also looking at adding a codec via iic (i2c)...

do NOT need everything to be working, just the microprocessor running YOUR code, and a place to hook i2c device(s) to...

breadboard/prototype ok, just must be running real wiphone code...

do not think i need source, as what i will be building will emulate existing hardware...

keypad must operate in real time, and should be tested with central controller under real world load, as close as possible to actual product as possible...

(perhaps might need some source assistance when it comes to the codec for LoRa voice packet, hooks for packet driver mostly)...

if not too late, willing to purchase another wiphone pro as per deal for early developers...

just want what i can get soonest...


  Are you sure? yes | no

stupid wrote 06/25/2019 at 12:58 point

check your private messages, I listed a couple options for getting you some hardware faster

  Are you sure? yes | no

Anonymous P wrote 04/04/2019 at 10:42 point

Hello, I am creating a project using a Pi Zero to record audio, playback audio and other features mainly aimed a birdwatchers (search up Pi Portable Recorder). I was seeing if a switch to using an ESP32 would be a great step. However, I don't have the time to code a GUI program from scratch and was wondering if the code is available for the GUI or will be soon as it make a switch to the ESP32 worthwhile. At the moment I am using a good library called ZPUI on the Pi. Also, I notice you have the keypad files on Github, thanks for that! A nice keypad (debounce, rubber overlay etc.) looked to be a hard bit of my project but this looks extremly useful.



  Are you sure? yes | no

stupid wrote 04/04/2019 at 15:50 point

If you just want to quickly get a GUI working I think I'd recommend sticking with the Pi, unless other parts of your system need real time code or you have other constraints I don't know about. Graphics are just easier to make work on Linux than on a lower level system.

If you want some ESP32 GUI stuff that's ready to go now, there are a number of libraries out there for M5Stack that should work well for you, and will be more thoroughly tested than ours is so far (and probably more general purpose). As our project progresses that should change, but I wouldn't recommend trying to take late-prototype level code that's written for a single purpose and use it for a different project unless you just want to spend time playing around and debugging the code.

We haven't released the code yet. It will be open source, but we're going to ship the hardware before releasing it. Right now that's scheduled for around August.

  Are you sure? yes | no

Anonymous P wrote 04/05/2019 at 07:57 point

Thanks for your reply. Looking into it there are some decent GUI options for the ESP32. The main constraint meaning I want to switch to the ESP32 is the size. Being a portable device, the Pi is just too big and has parts I wouldn't use. Also, it is quite overpowered for the tasks I want it to do. It seems Espressif officially supports µGFX and LittlevGL which look like great tools for building great GUIs.



  Are you sure? yes | no

Nuncio Bitis wrote 03/29/2019 at 10:28 point

Will this work with Google Voice? I don't want to be limited to only calling other people who have WiPhones

  Are you sure? yes | no

stupid wrote 03/30/2019 at 06:50 point

The WiPhones work using a standard protocol called SIP. They can call regular phones. If you want to stay on the free side of things, we have a guide for getting a free SIP account. If you use this method, your friend will need a SIP account as well.

If you want the WiPhone to act just like a regular phone, with a regular number, most VoIP providers offer that for a few dollars a month. At that point it's not much different from a regular phone, except you get your signal through WiFi and it's cheaper than a cellphone.

If you really like playing around with servers and installing software on linux I believe there is a Google Voice library for Asterisk... but that would definitely be playing in hard mode, at least for now.

  Are you sure? yes | no

Magke wrote 03/01/2019 at 14:24 point

Really nice project!
And if the "Mega Battery Pack" and "LoRa", maybe also with a good 868MHz antenna, come together on one board, I would be very happy.
Is a vibration motor installed?

  Are you sure? yes | no

stupid wrote 03/01/2019 at 17:15 point

It does have a vibration motor. But it overheats if you leave it on for more than a few minutes, so don't you and your mega battery pack be getting any big ideas.

  Are you sure? yes | no

william wrote 06/14/2019 at 09:19 point

mega battery pack...?

is that a user built item, or did i miss finding where to purchase...?


(where the reply go...?)

which do you suggest...?   kickstarter or indiegogo...?


  Are you sure? yes | no

stupid wrote 06/14/2019 at 10:13 point

@william: we have a prototype, but we are concentrating on shipping the phones before we start selling more of the add-ons.  if you got a phone through the kickstarter campaign, pre-order one now on indiegogo, or follow through the mailing list we will send an update out once the add-ons are ready to buy

  Are you sure? yes | no

munchausen wrote 02/13/2019 at 13:45 point

Hi, great project! I was wondering if you've considered an alternative keypad layout using half qwerty like the nokia E55 ( So you would have a 5 by 4 button grid at the bottom instead of 4 by 4. It makes T9 input work really really well because it massively reduces the possible words the user could have been trying to enter. I know that moulds are expensive things, but perhaps it could be an optional layout? Cheers!

  Are you sure? yes | no

stupid wrote 02/14/2019 at 00:50 point

That makes a lot of sense.

The production mold hasn't been made yet. The one shown in the build log is only for prototyping and was relatively cheap. But after thinking about it, it might not be possible for this design without increasing the phone width. We'd like to keep the overall phone size as small as we can, and the buttons can only be so small before they are hard to use. And also the electrical contacts need a certain amount of space.

  Are you sure? yes | no

munchausen wrote 02/14/2019 at 10:11 point

It does look as though you have the space (I don't know about routing, but the PCB button footprints and pop domes look like they would fit). Also the E55 was a very similar sized device - I can assure you it works really well with that size of button! But I know that ultimately I have a niche opinion about this and perhaps most people prefer larger buttons, especially for older people etc. So no worries!

  Are you sure? yes | no

stupid wrote 02/14/2019 at 10:53 point

I had a look at the mechanical parts again, and actually a different part of the system is the limiter here (though for the manufacturing processes available to us, the other factors I already mentioned are significant).

We are using relatively low tech manufacturing processes compared to a typical mass-produced phone: Our front face is a die cut sheet of polycarbonate, and the keypad is silicone.

We need a certain amount of polycarbonate between each key to keep the mechanical parts stiff and strong enough. The silicone buttons also have a minimum size that's related to the minimum wall thickness you can cast silicone and the geometry necessary to make the button collapse correctly when pressed, but still have a strong enough of a pip over the dome contacts to actuate it. But they also need to be wide enough to sink down into the hole in the front face when pressed by a typical finger. All that together drives the horizontal pitch to 11mm, which is bigger than the E55.

The frame/shell of our phone is also thicker than a mass produced Nokia, and making the buttons a little bigger just makes sense when we don't have a team of people large enough to spend a lot of time getting the actuation of the keypad right.

Anyway, if it was earlier in the design cycle I'd probably see about making it happen since it does make sense to me, it's just not viable right now. Not due to the mold, but just the general amount of design work that's done, but would need to be re-done to make it work.

(reply is to munchausen's other message, it's just not possible to reply to a 3rd level comment on this site)

  Are you sure? yes | no

william wrote 06/14/2019 at 21:38 point

heh, i wants BIG keys, he wants bunches of smaller ones...   do i smell modular keypad round the corner...?

that SN7326 keyscanner looks like a bunch easier to keyboard than just parallel to i2c we used...    lotz less bugs on board (debouncers)...   those smt's make my eyes cross...


  Are you sure? yes | no

doanerock wrote 02/07/2019 at 15:48 point

Are there plans to support SRTP and ZRTP?

  Are you sure? yes | no

stupid wrote 02/08/2019 at 05:31 point

It really depends on how well the crowdfunding goes. If we only make a few hundred units we can't. But if we make lots, and many people express interest in security we'll be able to do more. So far we've seen feedback/interest in making the phone more secure so it's probably down to how many units get made to decide if we'll have the resources to make it happen.

After the crowdfunding we may do a backer survey and/or talk with people whose opinions we respect to help us choose what's most important to make the phone more secure.

(Also, seems like everyone who has contacted us about security has a different opinion of what should be done to make the phone more secure, so there will likely be some work involved in figuring out what's the most effective thing to start with, and what the roadmap might look like for later features.)

  Are you sure? yes | no

doanerock wrote 02/07/2019 at 01:14 point

I noticed that the antenna is just soldered to the PCB.  It would be much more robust if the antenna was attached to a u.fl connector so you did not have to worry about the solder join breaking.  

  Are you sure? yes | no

stupid wrote 02/07/2019 at 01:30 point

There's a connector on the latest rev board, we just haven't had time to post pics yet.

  Are you sure? yes | no

doanerock wrote 02/07/2019 at 15:45 point

That's awesome.  

  Are you sure? yes | no

Renne wrote 11/11/2018 at 13:07 point

Which SIP-stack/library does WiPhone use?

  Are you sure? yes | no

stupid wrote 11/12/2018 at 02:06 point

We wrote our own. There doesn't appear to be any existing available libraries that met our needs.

  Are you sure? yes | no

Renne wrote 11/13/2018 at 11:13 point

SIP will be implemented in the next release of the ESP32-ADF (

  Are you sure? yes | no

stupid wrote 11/14/2018 at 00:41 point

Thanks for the heads-up about the upcoming SIP library. (replied to wrong message since doesn't allow 3rd level replies)

  Are you sure? yes | no

virusleader324 wrote 11/08/2018 at 00:58 point

maybe you can add some app?

  Are you sure? yes | no

stupid wrote 11/08/2018 at 01:25 point

We are adding apps. We actually just finished making a video about the first app we did and we will post it to youtube soon.

We're still deciding the final implementation. Would you prefer apps to be done in something like MicroPython, or in the C/C++ (Arduino) code?

  Are you sure? yes | no

Renne wrote 11/07/2018 at 12:30 point

Wireless charging would be great, too.

  Are you sure? yes | no

stupid wrote 11/08/2018 at 01:28 point

That might be possible through a daughter board. I think there's a pin on the connector. I'll need to check if the circuit supports pushing current back into the battery.

  Are you sure? yes | no

Renne wrote 11/07/2018 at 10:22 point

CardDAV support would be great to synchronize contacts with the cloud.

  Are you sure? yes | no

Renne wrote 11/07/2018 at 10:18 point

I also suggest to use Invensense ICS-43432 or Knowles SPH0645LM4H-B I2S-MEMS microphones - one for voice and a second one on backside top for noise/echo cancellation. The ESP32 supports PDM audio output. You just need a 20 kHz low-pass filter per channel and MOSFETs  for the speakers. The ESP32 has 2x I2S stereo. This allows up to 4 microphones (e.g. voice + echo/noise cancellation microphones via I2S + stereo headset microphone via I2S codec) and 4 output channels (e.g. stereo headphones and stereo speakers via PDM).

  Are you sure? yes | no

Ed Wildgoose wrote 03/02/2019 at 14:45 point

Thumbs up for this one! One of the biggest challenges we see for voice quality, especially on lower bandwidth codecs is that the codec wastes a lot of bandwidth compressing background noise and there is a disproportionate drop in quality. I think good echo cancellation is a big ask for an ESP32, but having 2 mics at least offers the option to try...

  Are you sure? yes | no

stupid wrote 03/03/2019 at 14:05 point

We'll look into this more after the crowdfunding is done. Sounds like it should at least be considered. Need to figure out if the current design could easily support it and what the time+cost impact would be. And seeing how much it improves audio quality.

  Are you sure? yes | no

william wrote 06/24/2019 at 20:16 point

response to ben's reply above... (i just can't call u stupid...)

try to make sure there is slots for at LEAST 2 mic's in the case...

2 mic's is a MUST for echo cancellation...

echo cancellation is a MAJOR FACTOR in speech recognition for the hearing impaired...

even if you don't do it, allow us to do so...


  Are you sure? yes | no

stupid wrote 06/25/2019 at 00:54 point

@william (or Ed):

2 mics in addition to the primary one, or 2 mics total? We did recently add a footprint for a second mic to the back of the phone. Can be seen on the recent Kickstarter update at the center/bottom of the main board.

  Are you sure? yes | no

Renne wrote 11/07/2018 at 09:48 point

I suggest a ground plane antenna like the RaspberryPi Zero uses (

  Are you sure? yes | no

stupid wrote 11/08/2018 at 01:21 point

Do you know what the performance of that style antenna is compared to something like a chip antenna? Right now we're using a little flex whip antenna, and we chose it because in our testing it was a nice balance of range/cost. We tested a trace antenna and the result was somewhat mediocre.

That particular Pi Zero antenna looks like it has some IP restrictions... not sure if Proant (the company who licensed it to Raspberry Pi) would be interested in giving a random open source project with no marketing a free license. Without looking at the details of Proant's IP protection and licensing scheme I'm guessing if we did do a ground plane antenna we would need to use a different design.

It would be nice to be able to eliminate the extra component, though.

  Are you sure? yes | no

Contagious Intellect wrote 10/02/2018 at 13:47 point

You could add a audio jack on the phone

  Are you sure? yes | no

Andriy Makukha wrote 10/06/2018 at 03:14 point

Great news! WiPhone already has it. You can see it on the prototype assembly video starting at 2:03.

  Are you sure? yes | no

fabian wrote 09/18/2018 at 16:02 point

One idea for design. please add small hole for phone rope. for  example

second idea to add big arc over top screen for this

arc from left corner top to right corner can be stored antena, what You thing about this idea?

  Are you sure? yes | no

Christian Berger wrote 09/16/2018 at 12:26 point

I'd add a simple 40x25 character terminal, for example according to the old "Videotex" standards which were used for Bildschirmtext, Prestel or Minitel. That should be simple enough to implement (in fact the simplest version only needs to understand one "command") while enabling a world of applications.

  Are you sure? yes | no

fabian wrote 09/18/2018 at 16:05 point

USB host  for normal keyboard, router , computer will be better. And normal ssh+terminal I dont know how good it is

  Are you sure? yes | no

stupid wrote 09/18/2018 at 16:54 point

SSH (or even telnet) could be pretty useful. Are there any existing libraries for an SSH client on ESP32? I'm not seeing any in a quick search.

  Are you sure? yes | no

Christian Berger wrote 01/24/2019 at 20:13 point

There's actually now a project resurrecting xcept, a 1990s CEPT client for Unix. The code seems fairly portable.

Best thing about this is that the service behind it can be controlled via a telephone keypad, and you actually have a service.

You can try it via this web frontend:

The software can be found here:

And yes, it includes a Wikipedia gateway. At the login press # (or F2) 3 times, then press * (or F1) 550 # (or F2) and you can search for a page.

  Are you sure? yes | no

Christian Berger wrote 01/26/2019 at 11:01 point

Michael Steil recently ported the BTX decoder to iOS:

Historical demo pages look like this:

  Are you sure? yes | no

fabian wrote 09/15/2018 at 18:16 point

please add mesh and lora communication 

(text,small image,gpg)

  Are you sure? yes | no

Christian Berger wrote 09/16/2018 at 16:34 point

Lora doesn't have the bandwidth for speech.

  Are you sure? yes | no

stupid wrote 09/18/2018 at 13:21 point

But it does have the bandwidth for text messages, which is probably what Fabian is interested in.

(For what it's worth, I'd imagine LoRa also has the bandwidth to send Videotex  or whatever other pre-historic text encoded graphic formats get you off)

In any case, we have it on good authority that IP over Avian Carrier is the hottest upcoming protocol and as soon as we get our core functionality working, mesh, LoRa, and Videotex may all need to wait for the IPoAC implementation to go online before we have time to address them.

  Are you sure? yes | no

fabian wrote 09/18/2018 at 15:43 point

look at or but open source and open protocol (for example AX25). Great communicator for emergency and for small data.

here is project

on aliexpres or gearbest is many esp32+Lora, obly put it together

  Are you sure? yes | no

James Hall wrote 09/21/2018 at 15:15 point

I wonder if there are modes where Codec2 speech would fit. There's a version of that which works in 700bps. Doing something like a gotenna would be great too. Simple text messages, including sending things like GPS coordinates, over distance would be handy sometimes. There are some TTGO branded dev boards that combine a ESP32 with a LORA chip and stuff for a 18650 lithium battery that might work just as well for that though.

  Are you sure? yes | no

fabian wrote 01/24/2019 at 11:41 point

please look Pygo

Lora no need voice, only message. Buy independent of internet and wifi.

only add hardware for wifi and lora. everything other people writing himself


  Are you sure? yes | no

stupid wrote 01/27/2019 at 00:16 point

We did recently design a lora daughterboard since so many people asked for it. It's still in the prototyping stage right now, but may end up being something you can get with the phone later.

  Are you sure? yes | no

doanerock wrote 02/07/2019 at 01:26 point

Having LoRa encrypted mesh messaging built in would be amazing.  GPS to send location to other WiPhones would be really handy.  

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates