Quansheng K5 Viewer
This Python script is a simple viewer that displays current screen from the Quansheng K5 transceiver (under F4HWN firmware), transmitted via a serial connection (UART).
🚀 Features
- Realtime display of 128×64 monochrome screen via serial connection (UART)
- Delta frame update support for reduced bandwidth
- Screenshot capture in PNG format
- Background color toggle: gray, blue or orange
- Invert video mode
- Increase or decrease window size
- Display FPS in window title
🛠️ Requirements
- Python 3.6+
- pip (Python package installer)
📦 Install dependencies:
If necessary, use this command to install dependencies:
pip install pyserial pygame
▶️ How to Run
-
Connect your Quansheng K5 (running F4HWN firmware v4.2) to your computer using a Baofeng/Kenwood-style USB-to-Serial cable.
-
Run the
k5viewerwith the appropriate serial port:./k5viewer.py -port /dev/ttyUSB0 # Linux ./k5viewer.py -port /dev/cu.usbserial-xxxx # macOS ./k5viewer.py -port COM3 # WindowsNote
If no -port is provided, the script defaults to /dev/ttyUSB0.
Alternatively, you can manually edit the script and change the
DEFAULT_PORTvariable near the top of the file:DEFAULT_PORT = '/dev/ttyUSB0' # Linux # or DEFAULT_PORT = '/dev/cu.usbserial-xxxx' # macOS # or DEFAULT_PORT = 'COM3' # WindowsYou can also list available serial ports to help you choose:
./k5viewer.py --list-ports
🎮 Controls
| Key | Action |
|---|---|
Q |
Quit the viewer |
G |
Set background to gray |
B |
Set background to blue |
O |
Set background to orange |
I |
Toggle video inversion |
SPACE |
Save a screenshot as PNG |
UP |
Increase window size |
DOWN |
Decrease window size |
Screenshots are saved as screenshot_YYYYMMDD_HHMMSS.png in the same directory.
📬 Contact
If you encounter issues or have suggestions, feel free to open an issue or submit a pull request. Enjoy building with your Quansheng K5! 📡