Skip to main content

python wrapper for the em73xx series of 4G modems present in recent Lenovo Thinkpads

Project description

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

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

em73xx-0.11.tar.gz (5.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page