9M2PJU Easy APRS-IS Beacon and Object is a Python-based desktop application built with PyQt6, designed to make it easy for amateur radio operators to send APRS beacons and objects directly to the APRS-IS network.
This tool is useful for licensed operators who do not have APRS RF-capable equipment but still want to mark locations — such as event sites, eyeball QSO spots, or meeting points — on the APRS map.
- Add TNC support! Contributors needed here.
-
🚀 Seamless APRS-IS Connectivity
Log in and transmit beacons directly to the APRS-IS network with zero hassle. -
📍 Flexible Beacon Modes
Support for fixed-location beacons and multiple dynamic objects. -
🎨 Object Configuration
Assign unique symbols, tables, and descriptive comments per object. -
🛑 Safe "Dry Run" Mode
Validate your setups without transmitting, for peace of mind. -
⏱️ Smart Staggered Intervals
Avoid network congestion by automatically staggering beacon intervals. -
📝 Human-Friendly YAML Configuration
Easily tweak settings through a cleanconfig.yaml
file. -
🖥️ Modern PyQt6 GUI
Responsive, intuitive interface designed for smooth user experience.
- 🐍 Python 3.8 or higher
- 🔧 Recommended: use a Python virtual environment for clean dependency management.
# Create virtual environment
python -m venv venv
# Activate environment
# Windows
.\venv\Scripts\activate
# macOS/Linux
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
Launch the graphical interface:
python gui.py
Or run beaconing from the command line (great for automated or headless setups):
python 9m2pju-aprs-beacon.py
The GUI manages this file for you, but manual editing is always an option.
callsign: 9M2PJU
passcode: 12970
latitude: 3.0738
longitude: 101.4457
comment: Main station 9M2PJU
symbol_table: /
symbol: r
interval: 10
dry_run: false
staggered: true
beacons:
- name: DIGI01
latitude: 3.1234
longitude: 101.5678
symbol_table: /
symbol: "#"
comment: Digi at hill
interval: 15
- name: REPEATER
latitude: 3.1415
longitude: 101.6789
symbol_table: /
symbol: R
comment: 147.500MHz
interval: 30
🎉 Pre-built standalone AppImage available for Linux users!
No need to install Python or dependencies — just download and run.
chmod +x 9M2PJU_Easy_APRS-IS_Beacon_and_Object-x86_64.AppImage
./9M2PJU_Easy_APRS-IS_Beacon_and_Object-x86_64.AppImage
Your APRS-IS passcode authenticates you on the network and is essential for transmission. Generate yours easily at: https://pass.hamradio.my
Love open source? So do we! 🚀
Feel free to:
- 🐞 File issues
- 🔧 Submit pull requests
Your contributions make this project better for everyone!
This project is licensed under the GNU General Public License v3.0 (GPLv3).
See the LICENSE
file for full details.
Got questions, feedback, or just want to chat? Reach out!
- Callsign: 9M2PJU
- GitHub: https://github.com/9M2PJU
- Email: [email protected]
Made with ❤️ by amateur radio enthusiasts, for amateur radio enthusiasts worldwide.