Python utility to interact with Sierra Wireless EM73xx cards - to retrieve SMS messages and GPS info
Clone or download
Latest commit d4be903 Nov 6, 2016

py-em73xx Build Status Coverage Status

Python utility to interact with the telephone functionality of the Sierra Wireless EM73xx modems, present in Lenovo Thinkpads (tested on a Thinkpad X250) and possibly others.


Either retrieve from pypi using pip:

$ pip install em73xx

or clone this repo, and install using

$ git clone
$ cd py-em73xx
$ python install


(TODO, haha!)


Find which device the modem using the script - here it's /dev/ttyACM0:

$ ./ 
/dev/ttyACM0 - Sierra_Wireless_Inc._Sierra_Wireless_EM7345_4G_LTE_013937006578445
/dev/input/event14 - SunplusIT_Inc_Integrated_Camera
/dev/video0 - SunplusIT_Inc_Integrated_Camera

Initialising the modem:

from em73xx import Modem

em7345 = Modem("/dev/ttyACM0", pin="1234", debug=True)

receiving/reading SMS messages:

messages = em7345.getSMS()

sending an SMS message:

em7345.sendSMS("775123456", "test message from em73xx!")

getting a GPS fix (None returned if failed):

gps = em7345.getGPS()
if gps:


  • write documentation - methods, types, etc
  • add more functionality, sms and gps alone won't cut it. poking around with the at commands text file in /docs should help
  • there's heaps of info returned by the XLCSLSR command, investigate if there's anything useful we can provide