-
Add A Custom Button Function
07/16/2021 at 09:25 • 0 commentsHaving a dedicated button on your phone to do something special can be convenient.
This video shows how to customize the WiPhone to respond to a button press and run custom software. Using software, or software combined with a daughterboard, this can give you a custom input for almost anything you like: turn the lights on in your house, remote start your car, open your garage door, control your stereo, or even act as an interface to other equipment built by you. -
Soldering Tiny Wires To Avoid Buying A Thousand Fake Chips
06/11/2021 at 02:52 • 0 commentsThere is currently a shortage of ICs in much of the electronics industry and that means we need to be extra cautious about testing to verify the parts we are buying are actually what we paid for.
An IC socket and a dev board can quickly test chips from multiple alternate vendors. We start with a regular dev boarddesigned around the same chip we want to test, remove the chip and solder 0.1mm wires between the pads on the dev board and a test socket. Now we have an easy way to swap the chip without additional soldering.
-
Self-Host Your Own Firmware For WiPhone
05/28/2021 at 10:09 • 0 commentsMost phones, you can either accept the updates supplied by whoever made your phone or you just don't get updates.
We've made the WiPhone firmware update system configurable. If you want to host your own firmware you can with very little setup required. Check the video to see how to do it, but basically you just:
- set up an HTTPS enabled web server and put the compiled firmware on it
- put an INI style config file on the same server that can always be found at the same URL. each time you add a new firmware file, update it to hold latest firmware version and what URL to find it at
- in the WiPhone, set the firmware update URL from the default WiPhone firmware update URL to wherever you store your INI file
- enjoy the benefits of running your own firmware update server and completely controlling what software runs on your phone
-
LoRa Text Messaging
04/13/2021 at 20:46 • 3 comments2 WiPhones with LoRa daughterboards can exchange text messages using the regular text message interface on the phone.
It works just like sending a text message. Contacts have an optional LoRa address field that can be entered in the same place you set up phone contacts. When you send a text there is an option to send either to the contact's LoRa or SIP address.
-
WiPhone Teardown
03/26/2021 at 04:49 • 0 commentsA quick teardown and reassembly of the phone.
-
Production Parts​
10/23/2019 at 01:57 • 0 commentsNote: This post is out of date. Our blog is updated more frequently.
Status
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:
Daughterboards
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 support@wiphone.io 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.
Slideshow
Some random pics from recent work:
-
FCC Certification and Reliability Testing
09/18/2019 at 12:13 • 0 commentsNote: This post is mirrored from our Kickstarter page, and is a bit out of date.
Status
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 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 might use it for. Sorry, i totally spaced on taking any pictures.
- debugging the soft reset circuit
-
Big Dead Bug
06/28/2019 at 14:25 • 1 commentWe 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
06/21/2019 at 07:28 • 2 commentsThe 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: #$%^&!!!!
06/17/2019 at 16:35 • 3 commentsStuck 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.
Details:
https://www.kickstarter.com/projects/2103809433/wiphone-a-phone-for-hackers-and-makers/posts/2537406
And a twitter thread with Chase here. Feel free to join in and let them know what a bunch of helpless incompetents they are: