- Based on K8DP Doug Papay rigdoppler (@K8DP_Doug)
- Adapted by EA4HCF Pedro Cabrera (@PCabreraCamara)
- Extended and modified by DL3JOP Joshua Petry (@dl3jop)
Contributions in this repo by:
- Joshua, DL3JOP
- Peter, MM9SQL
QTRigdoppler keeps track of satellites and their transponders. It handles mutliple tasks:
- Tracking satellites and calculating the doppler shifts of their used frequencies.
- Update VFOs of a connected ICOM IC-910 (and IC-9700) for fully automatic frequency tracking.
- Depending on the transpoder type: FM/SSB Voice or FM/SSB Data, the software determines the best tracking approch.
- Rotators can be connected to sync their postion with the current satellite.
- A websocket option enable integration into software like Zenith.
- There is an optional map you can use to plot the satellites position
QTRigdoppler now comes with many themes you can choose from. A brief selection of some themes:
You can run QTRigdoppler as a pre-compiled binary available from the release section. The binary should work on all major Linux dsitributions. Please report any troubles you might encounter.
To make this possible, the binary conatins a full packed python environment which decreases its speed on startup.
As an alternative, you can install it yourself follwing the installation guides for Ubuntu or Manjaro.
After installation/download you need to adjust the configuration inthe Settings Tab to suit your needs. If you have a US configured IC-910 you need to change the rig type from EU to US otherwise TSL or TONE won't work
You might also need to change the serial port of your CI-V to serial adapter. The easiest solution is to run sudo dmesg -wH in a terminal and plugging in your serial adpter to get the serial port name.
Portnames might be /dev/ttyUSB0, /dev/ttyUSB1 .... or /dev/tty/ACM0 ...
If you like, you can also edit the config.ini to access developer or more advanced options.
- It is assumed that you use Ubuntu 24.10 (or newer) or a derivative of it
- Open a terminal
- Update package sources by:
sudo apt update - Install required packages:
sudo apt install git python3 python3-pyqt5 python3-qt-material python3-ephem python3-numpy - Add your user to the dialout group to access the serial port by:
sudo adduser [username, remove brackets] dialoute.g.:sudo adduser dl3jop dialout
6.1) Restart you computer for all changes to take effect, than repeat step 2) - Get the software by:
git clone https://github.com/dl3jop/QTrigdoppler.git - Enter software directory by:
cd QTrigdoppler - Start using:
python3 QTrigdoppler.py - For every startup from now on repeat step 2,7 and 8 or create a starter in the start menu
TLDR:
sudo apt update
sudo apt install git python3 python3-pyqt5 python3-qt-material python3-ephem python3-numpy
sudo adduser [username, remove brackets] dialout
git clone https://github.com/dl3jop/QTrigdoppler.git
python3 QTrigdoppler.py
The installation process is similar to the one on Ubuntu:
sudo pacman -Syu
sudo pacman -S git python python-pyqt5 python-qt-material python-ephem python-numpy
sudo usermod -aG uucp [username, remove brackets]
git clone https://github.com/dl3jop/QTrigdoppler.git
python3 QTrigdoppler.py
Currently, using the map is not advised due to bad perfomance. If you choose to try it, you'll need these additional python packages:
matplotlib
cartopy
pyproj
DL3JOP modifications:
- Removed hamlib
- Support for IC-910H by direct serial communication, IC-9700 should work as well (not yet tested
- Implemented transponder selection
- Implemented correct switch between Split mode for V/V & U/U packet and satmode for V/U,U/V
- Implemented doppler correction threshold
- Added SubTone control
- Various smaller changes and additions
- Added binaries
MM9SQL Modifications:
- Changed to PySide
- Implemented Websocket features using Flask and SocketIO
- Added Cloudlog/Wavelog integration: automatic logging of frequency and satellite info via Cloudlog API, configurable in config.ini.
- Added ability to automatically record satellite passes to .wav files.
- Added support to use USB / Serial GPS units to get location position.
- Automatic TLE Updating on Startup or based on hourly time period.
- Satellite Database (doppler.sqf) downloading with merge or replace options from oscarwatch.org.
- Added frequency pause/resume feature: pause frequency updates while keeping rotator tracking for manual frequency control on newer satellites.
- Added remote server integration with Node.js backend for multi-client remote control.
- Enhanced rotator control with Yaesu rotator support and web-based control.
- Added comprehensive web API with real-time status broadcasting and debug endpoints.
- Implemented advanced audio monitoring with multi-device support and error recovery.
- Added extensive configuration management with 100+ configurable parameters and satellite-specific offset profiles.
- Enhanced logging system with configurable levels, rotation, and comprehensive error tracking.
- Help files
- Adding support for IC-9700 (should be easy as it uses nearly the same comands as the IC-910H)
- Adding support for FT-8xx radios. Same approch: serial driver, although that will add additonal reworks in the doppler tracking loop to account for two radios
- Building a much nicer GUI
- Separate GUI and tracking class
- Refactor tracking loop:
- no global F0/I0 variables, more abstracted methods to allow eaier implementation of other radios
For detailed setup and usage instructions, see the help documentation:
- Configuration Guide - Complete config.ini reference and setup
- Frequency Control - Doppler correction, manual control, and advanced frequency features
- Remote Operation - Web-based remote control systems
- Cloudlog Integration - Automatic logbook integration with Cloudlog/Wavelog
- Pass Recording - Automatic audio recording during satellite passes
- GPS Integration - GPS-based automatic location determination
- Rotator Setup - Antenna rotator configuration and operation
- Keyboard Shortcuts - Keyboard shortcuts and accessibility features
pyinstaller --onefile QTrigdoppler.py --exclude PyQt6 --splash images/splash.jpg
