Must install tkinter module python -m pip install --user tkinter
Must install geocoder module install requests
Version: v1a (19-07-2026) and V2(24-09-2026)
The working version is wsjtx_spots_V2.py
FLEX_RADIO_aprs.py sends call to APRS with: callsign frequency mode
if LATITUDE and LONGITUDE is None then get Latitude and longitude by IP address geocoder def get_my_location as gml
APRS Beacon Configuration must be updated with your own callsign, passcode, server, and location information
- Beacon will resend every 15 minutes or a time you specify in RESEND_TIME
- to change the ICON go to https://www.aprs.org/symbols.html
- geocoder locates elevation with def get_my_altitude as gma
- This software runs a Dialog Box
- Transfers data to wsjtx_spots_V2
- Red spots when someone calls your callsign
- Green spots for CQ POTA decodes
- Time-based deduplication & refresh matching your chosen spot lifetime
- Interactive setup: callsign, filter mode (CQ / CQ POTA / none), lifetime seconds
- In the the FLEX_RADIO_functions_classes: def find_flex_radio_ip(): Finds the radio IP Address def get_flex_callsign(callsign=None): Get the callsign from the radio
- Python 3.6+
- WSJT-X (with UDP multicast enabled: 224.0.0.1 port 2237)
- FlexRadio 6000/8000 series with SmartSDR API enabled (port 4992)
#---You can run FLEX_RADIO_functions_classes by itself to see how it works. #--- I have intergated the software: Line 26 #Get the radio IP Address Line 27 fetched_radio_ip =ffri()
Line 267 From Line 267 root = tk.Tk() root.title("FLEX RADIO") root.geometry("300x200") root.resizable(False, False) root.columnconfigure(2, weight=1)
app = MyDialog(master=root)
root.mainloop()
fetched_radio_ip = app.radio_ip fetch_r_callsign = app.r_callsign my_option = app.my_option current_scale_value = app.current_scale_value
root.destroy()
Import aprlib module FLEX_RADIO_get_my_data_funcs get data from Flex radio module FLEX_RADIO_aprs runs the flex data to aprs
Jeffrey Tubbenhauer VK5IU Email Address tubbyvk5iu@outlook.com
Mobile No 0419869738
On WatsApp