turing-smart-screen-python
โ ๏ธ DISCLAIMER - PLEASE READ โ ๏ธ
This project is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Turing or XuanFang brands, or any of its subsidiaries, affiliates, manufacturers or sellers of the Turing or XuanFang products. All product and company names are the registered trademarks of their original owners.
This project is an open-source alternative software, NOT the USBMonitor.exe / ExtendScreen.exe or any original software for the smart screens (even if some themes have been reused). Please do not open issues for USBMonitor.exe/ExtendScreen.exe here, instead you can use:
- for Turing Smart Screen, the official forum here: http://discuz.turzx.com/
- for XuanFang Smart screen, contact your reseller
A Python system monitor program and a library for 3.5" & 5" IPS USB-C (UART) displays.
Supported operating systems : macOS, Windows, Linux (incl. Raspberry Pi), basically all OS that support Python 3.7+
Supported smart screens models:
Not supported (for now) or not tested:
Turing Smart Screen 8.8" | Turing Smart Screen 2.1" |
---|---|
> What is my smart screen model?
Please note the Turing and the XuanFang screens are different products designed and produced by different companies, despite having a similar appearance. The communication protocol is also different.
This project support products from both manufacturers, including backplate RGB LEDs for available models!
If you haven't received your screen yet but want to start developing your theme now, you can use the "simulated LCD" mode!
How to use
> Follow instructions on the wiki to configure and start this project.
There are 2 possible uses of this project Python code:
- as a System Monitor, a standalone program working with themes to display your computer HW info. Check if your hardware is supported.
- integrated in your project, to control the display from your own Python code.
System monitor
This project is mainly a complete standalone program to use your screen as a system monitor, like the original vendor app.
Some themes are already included for a quick start!
> Configure and start system monitor
- Fully functional multi-OS code base (operates out of the box, tested on Windows, Linux & MacOS).
- Display configuration using GUI configuration wizard or
config.yaml
file: no Python code to edit. - Support for 3.5" & 5" smart screen models (Turing and XuanFang). Backplate RGB LEDs are also supported for available models!
- Support multiple hardware sensors and metrics (CPU/GPU usage, temperatures, memory, disks, etc) with configurable refresh intervals.
- Allow creation of themes (see
res/themes
) withtheme.yaml
files using theme editor to be shared with the community! - Easy to expand: additional code that pulls specific information can be written in a modular way without impacting existing code.
- Auto detect comm port. No longer need to hard set it, or if it changes on you then the config is wrong.
- Tray icon with Exit option, useful when the program is running in background
Screenshots from the latest version using included themes (click on the thumbnails to see a bigger preview):
> Themes creation/edition (using theme editor)
> Themes shared by the community:
Control the display from your Python projects
If you don't want to use your screen for system monitoring, you can just use this project as a module to do some simple operations on the display from any Python code :
- Display custom picture
- Display text
- Display progress bar
- Screen rotation
- Clear the screen (blank)
- Turn the screen on/off
- Display soft reset
- Set brightness
- Set backplate RGB LEDs color (on supported hardware rev.)
Check simple-program.py
as an example.
> Control the display from your code
Troubleshooting
If you have trouble running the program as described in the wiki, please check open/closed issues & the wiki Troubleshooting page