Page 1 of 1

Pyboard based GSM phone.

Posted: Fri Nov 10, 2017 9:39 pm
by jeffm
I have implemented a basic GSM phone using a pyboard, the LCD160CR display skin and a SIM800L GSM module. The phone implements voice calls and composing, sending and receiving SMS messages. It operates from a small (800mah) Lipo battery which lasts for around a week in standby mode.

I looked at using @pythoncoder’s impressive LCD160CR UI library, however, it proved to be overkill in terms of resources as the phone interface is primarily buttons and text labels. You really need to use a stylus (i.e. matchstick) to use the SMS text entry keyboard. The code and details can be found at:

https://github.com/jeffmer/micropython-upyphone

The following images give a flavour of the touch screen interface. More together with an explanation of the operation can be found in the github repository.
incomingsms.jpg
incomingsms.jpg (43.89 KiB) Viewed 10829 times
readmessage.jpg
readmessage.jpg (42.99 KiB) Viewed 10829 times
writemessage.jpg
writemessage.jpg (45.35 KiB) Viewed 10829 times

Re: Pyboard based GSM phone.

Posted: Sun Nov 12, 2017 10:29 am
by rcolistete
Fantastic ! A GSM phone with MicroPython and only 100 KB of free RAM !

Re: Pyboard based GSM phone.

Posted: Mon Nov 13, 2017 8:40 am
by pythoncoder
That is most impressive and must have taken a good deal of effort. I'm amazed you managed to fit a qwerty keyboard on that display in portrait mode. And that the touch overlay is sufficiently precise to support it.

Perhaps there is a case for a mini-gui for the LCD160CR supporting a subset of the features of mine but consuming less RAM - but when you write a library it's hard to assess how many people actually find it useful.

Re: Pyboard based GSM phone.

Posted: Mon Nov 13, 2017 10:03 am
by jeffm
@pythoncoder
And that the touch overlay is sufficiently precise to support it.
The accuracy is outstanding and much much better than some other cheap resistive touch screens that I have. There is occasionally some jitter on touch but it quickly settles on the pressed key. The trick is to ensure that the desired key is highlighted before releasing it.

Re: Pyboard based GSM phone.

Posted: Wed Nov 15, 2017 11:06 pm
by SpotlightKid
This project was also highlighted in one of the Python newsletters I have subscribed too. Very impressive!

Re: Pyboard based GSM phone.

Posted: Fri Nov 17, 2017 12:51 pm
by rcolistete
Russian news/article about uPyPhone :
http://www.cnews.ru/news/top/2017-11-14 ... rtfon_s_po (in Russian)
https://translate.google.com/translate? ... rtfon_s_po (translated to English)

Re: Pyboard based GSM phone.

Posted: Fri Nov 17, 2017 8:01 pm
by jeffm
Yes, I saw this quite bizarre article. The developer Alexei mentioned in the article has a Github account which has a forked version of my repository as indicated in https://github.com/AlekSi/micropython-upyphone.

Re: Pyboard based GSM phone.

Posted: Wed Nov 22, 2017 3:45 pm
by jeffm
Now updated with internet access over GPRS. The sim800l now includes a urequest like interface to the SIM800L module's HTTP AT interface. This allows both http and https requests. Using these I have implemented two example applications. The first fetches and displays currency exchange rates - the code is very similar to that posted by @mcauser for his Bitcoin display. The second application fetches and displays weather information using the wunderground api - see below:
weather.jpg
weather.jpg (39.82 KiB) Viewed 10583 times
The icon is a JPEG converted from the usual wunderground GIF icons. It would be nice to be able to display GIFs directly on the LCD160CR - any suggestions as to how best to do that?