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.
Pyboard based GSM phone.
- rcolistete
- Posts: 352
- Joined: Thu Dec 31, 2015 3:12 pm
- Location: Brazil
- Contact:
Re: Pyboard based GSM phone.
Fantastic ! A GSM phone with MicroPython and only 100 KB of free RAM !
My "MicroPython Samples". My "MicroPython Firmwares" with many options (double precision, ulab, etc).
- pythoncoder
- Posts: 5956
- Joined: Fri Jul 18, 2014 8:01 am
- Location: UK
- Contact:
Re: Pyboard based GSM phone.
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.
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.
Peter Hinch
Index to my micropython libraries.
Index to my micropython libraries.
Re: Pyboard based GSM phone.
@pythoncoder
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.And that the touch overlay is sufficiently precise to support it.
-
- Posts: 463
- Joined: Wed Apr 08, 2015 5:19 am
Re: Pyboard based GSM phone.
This project was also highlighted in one of the Python newsletters I have subscribed too. Very impressive!
- rcolistete
- Posts: 352
- Joined: Thu Dec 31, 2015 3:12 pm
- Location: Brazil
- Contact:
Re: Pyboard based GSM phone.
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)
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)
My "MicroPython Samples". My "MicroPython Firmwares" with many options (double precision, ulab, etc).
Re: Pyboard based GSM phone.
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.
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:
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?
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?