- Based on the ATmega1284P, ArduPhone lets you build mobile phone functionality into your Arduino projects or even to use as your own phone. Customise the firmware using the Arduino IDE, write your own games to use the 128x128 pixel OLED screen, send and receive SMSs, access web services, log data and upload it to a web service, place and answer.
- It was Chris Anderson that originally coined the phrase“the peace dividend of the smartphone war” arguing that “when giants battle, we all win,” and it’s that smartphone war that made building your own phone a possibility, and there have been any number of people that have done so; from Matt Biddulph’s “cell phone from parts,” Avishek Hardin’s lightweight Arduino-powered.
Remember Nokia? Or rather, do you remember Nokia before Apple, before the iPhone changed everything? Seems like a lot of us do and the launch of the “reimagined” Nokia 3310 last year, followed earlier this year by the Nokia 8110, was a big thing for them. Retro, not so smart, phones are apparently now fairly cool.
It was Chris Anderson that coined the phrase“the peace dividend of the smartphone war” arguing that “…when giants battle, we all win,” and it’s that smartphone war that made building your own phone a possibility, and there have been any number of people that have done so; from Matt Biddulph’s “cellphone from parts,” Avishek Hardin’s lightweight Arduino-powered GSM handset, through to Adafruit’s box-like Ardui-o-Phone, and the ArduPhone, an off-the-shelf Arduino-compatible cellphone from freetronics.
Most large companies have moved their desk phones to IP-based networks, and apart from the fact they now plug into an Ethernet jack, if you work for one of these you probably haven’t noticed a lot of.
But surprisingly, what you don’t see—considering the number of GSM-based self-build handsets—are that many Voice over IP (VoIP) phones. Phones built to connect to Wi-Fi and VoIP systems, instead of the cell phone network. Enter the WiPhone, an open source IP phone built around the now ubiquitous Espressif Systems ESP32 module.
The WiPhone prototype. (?: Andriy Makukha)
![Arduphone Arduphone](/uploads/1/1/8/2/118216762/340395744.jpg)
Most large companies have moved their desk phones to IP-based networks, and apart from the fact they now plug into an Ethernet jack, if you work for one of these you probably haven’t noticed a lot of difference. But it is also pretty easy for you as an individual to get a PSTN, a ‘real’ telephone number from a VoIP provider, that people can dial from their normal phones.
At that point, not only can you call other people with VoIP phones over the Internet, but people can call you from their normal phone, and of course—although usually not for free—you too can call out to normal phones.
The WiPhone is a really rather neatly put together project, which is intended to be “…hackable, modular, cheap, and open.”
Built around the ESP32, the phone uses a 2.4-inch screen, driving the 320×240 pixel display over SPI and the TFT_eSPI library. While the keypad used by the phone is provided by the SN7326 keypad controller over I2C.
![Arduphone Arduphone](/uploads/1/1/8/2/118216762/302733388.jpeg)
More information about the WiPhone is available on the project’s page, and code can be found in the project’s GitHub repos.
Update: Looks like a lot of work has been done on the WiPhone recently, with the phone progressing through to a second prototype ready for real world testing. Although the project is also experimenting with capacitance touch buttons to try and take the phone entirely solid state.
Aru Phone Number
“…still more of a prototype model than a production unit. The main purpose of this version is to give us something to actually use. Real world use is important for finding all the little issues that show up once a design moves from pictures on a screen to reality.”
WiPhone Prototype 2. (?: Andriy Makukha)
Artphone
If anything the new case of Prototype 2 makes the WiPhone look even more like the “reimagined” Nokia 3310, or at least the original, than it did before. Which is no bad thing.
Alasdair AllanArd Phone Number
Scientist, author, hacker, maker, and journalist. Building, breaking, and writing. For hire. You can reach me at ? [email protected].
I have a Vodafone (Huawei) K4203, often available with 3GB of data for $10, and is apparently unlocked (but I haven't tested that). It actually appears as a network adapter, and you can send an SMS through its web interface. Here's a trace (it returned an error because I have no SIM card in it):
POST /api/sms/send-sms HTTP/1.1
Host: 192.168.9.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://192.168.9.1/html/home.htm?startPage=sim-error
Content-Length: 244
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones><Phone>0400000000</Phone></Phones><Sca></Sca><Content>Hello</Content><Length>5</Length><Reserved>1</Reserved><Date>2015-01-21 18:31:36</Date><token>579293</token></request>
HTTP/1.1 200 OK
Date: Thu, 01 Jan 1970 00:00:00 GMT
Server: mini_httpd/1.19 19dec2003
Connection: close
Cache-Control: no-cache
Content-Type: text/html
Content-Length: 101
<?xml version='1.0' encoding='UTF-8'?>
<error>
<code>113054</code>
<message></message>
</error>
There doesn't appear to be any authentication. I'll attach the lsusb output. I haven't worked out what the 'token' is.
The other option would be to find an older one that (I guess) appears as a serial port - which you normally use a PPP connection to use. A google for 'Huawei AT commands' suggests you can issue a command to send a SMS.
POST /api/sms/send-sms HTTP/1.1
Host: 192.168.9.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:34.0) Gecko/20100101 Firefox/34.0
Accept: */*
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded; charset=UTF-8
X-Requested-With: XMLHttpRequest
Referer: http://192.168.9.1/html/home.htm?startPage=sim-error
Content-Length: 244
Connection: keep-alive
Pragma: no-cache
Cache-Control: no-cache
<?xml version='1.0' encoding='UTF-8'?><request><Index>-1</Index><Phones><Phone>0400000000</Phone></Phones><Sca></Sca><Content>Hello</Content><Length>5</Length><Reserved>1</Reserved><Date>2015-01-21 18:31:36</Date><token>579293</token></request>
HTTP/1.1 200 OK
Date: Thu, 01 Jan 1970 00:00:00 GMT
Server: mini_httpd/1.19 19dec2003
Connection: close
Cache-Control: no-cache
Content-Type: text/html
Content-Length: 101
<?xml version='1.0' encoding='UTF-8'?>
<error>
<code>113054</code>
<message></message>
</error>
There doesn't appear to be any authentication. I'll attach the lsusb output. I haven't worked out what the 'token' is.
The other option would be to find an older one that (I guess) appears as a serial port - which you normally use a PPP connection to use. A google for 'Huawei AT commands' suggests you can issue a command to send a SMS.