Bandradar alert line for WSJT-X
A slim window that stays on top next to WSJT-X. It follows what you are hearing, compares it with your log and tells you who you really should work. It also tells you when another band is worth more – from what Bandradar currently sees from your area. Click the line to open the map.
Download
Ubuntu, Debian, Mint, Raspberry Pi OS – one line is enough. Open a terminal (Ubuntu: Ctrl+Alt+T), paste this line (Ctrl+Shift+V), press Enter:
wget -qO- https://xmoo.app/tools/bandradar/meldezeile/install.sh | sh
It downloads the package, checks its checksum, installs it with apt (sudo asks for your password
once) and starts the alert line. Afterwards you will find it in the application menu as “Bandradar-Meldezeile”. The same line
also fetches later versions. To read what it does first: the script.
Windows and macOS: download the file from the table, notes below.
| System | File | Size |
|---|---|---|
| Windows 10/11 (64-bit) | bandradar-meldezeile-0.3.0-setup.exe | 11.8 MB |
| Debian, Ubuntu, Mint, Raspberry Pi OS | bandradar-meldezeile_0.3.0_all.deb | 22 KB |
| macOS and anything else with Python 3.8+ | bandradar-meldezeile-0.3.0.pyz | 74 KB |
- Windows: run the setup. It needs no administrator rights and installs to
%LOCALAPPDATA%\Programs, with entries in the Start menu and on the desktop. The setup is not signed (yet), so Windows SmartScreen warns: “More info”, then “Run anyway”. Python 3.12.10 from python.org is included; nothing else to install. Remove it under “Apps” in Settings. - Linux, .deb already downloaded: in a terminal
sudo apt install ~/Downloads/bandradar-meldezeile_*_all.deb(this pulls inpython3-tk), then click “Bandradar-Meldezeile” in the application menu or typebandradar-meldezeile; without a displaybandradar-meldezeile --konsole. Remove it withsudo apt remove bandradar-meldezeile. - macOS: install Python 3 from python.org
(it includes Tk), run “Install Certificates.command” in its folder once, then
python3 bandradar-meldezeile-0.3.0.pyz. There is no native macOS package yet.
Setting up WSJT-X
Usually not at all. The alert line reads the WSJT-X settings itself from its file WSJT-X.ini (Windows
%LOCALAPPDATA%\WSJT-X, Linux ~/.config, macOS ~/Library/Preferences): UDP server and
port (File → Settings → Reporting → UDP Server), your call sign and your locator. If you change something in WSJT-X,
it follows within a few seconds. If you start WSJT-X with --rig-name, it uses the most recently changed settings
file. The status line shows what it is listening on, e.g. “127.0.0.1:2237, as in WSJT-X”.
If JTAlert or GridTracker is already running, only one program can hold a normal port. In that case enter the multicast
address 239.255.0.1 in WSJT-X (and pick loopback under “Outgoing interfaces”) and the same in the other
programs; the alert line picks it up by itself. If you want something else, enter address and port under ⚙ – that takes
precedence. Without UDP it follows ALL.TXT (every two seconds). Your log comes from wsjtx_log.adi in
the WSJT-X data folder; new QSOs arrive at once via UDP.
For the alert line to call and highlight in WSJT-X, tick Accept UDP requests under Settings → Reporting in WSJT-X. Without it, it still follows everything.
How it rates
The alert line follows everything WSJT-X reports over UDP: every decoded message, band and mode, who you are currently working, every logged QSO with the exchange received, the special operating activity (contest), and when you press “Erase” or close WSJT-X.
- Someone calling you (a message to your call sign) always comes first, even if already in your log.
- Needed (orange) is a station you heard on the current band in the last 2.5 minutes that gives you something, in this order: new country (DXCC entity never in your log), new country on this band, new grid on this band (4-character locator). At the same level, CQ callers and stronger signals come first. The station you are working right now is not alerted. A new needed station beeps (can be switched off).
- Call: if the top needed station is calling CQ, a “Call” button appears. In WSJT-X it acts like a double click on its decode; you finish the QSO in WSJT-X as usual.
- Highlighting in WSJT-X: needed stations are coloured in the WSJT-X “Band Activity” window (calling you red, new country orange, new country on the band yellow, new grid green, contest dupes grey). The colour goes after the QSO. Can be switched off under ⚙.
- Band change (blue): every two minutes the alert line asks Bandradar which grids were connected with your area (your grid plus 200 km) in the last 30 minutes, in both directions, per band. It counts the grids you still need on that band: the potential. For your current band it also counts what WSJT-X heard there that is new in the last 15 minutes; the higher value applies. Another band is suggested only if it has more new ones than the current band, at least 5 and at least 1.5 times the current plus 2, so the suggestion does not jump with every small change.
- Data source by default is FT8 only (PSKReporter), as that shows where FT8 activity is. You can add WSPR, Reverse Beacon Network and DX cluster under ⚙, and untick bands you do not use.
A worked example
You are on 20 m. For your area Bandradar reports 4 grids on 20 m that are not yet in your 20 m log, 9 on 17 m and 12 on 15 m. The threshold is 4 × 1.5 + 2 = 8. 15 m has the most potential and at 12 is above it: the line reads “Switch to 15m: 12 new grids open (on 20m: 4)”. If you have already worked 10 of these 12 grids on 15 m, 2 remain there, so 17 m leads with 9 and is suggested. If 20 m had 10 new grids and 15 m 14, the threshold would be 10 × 1.5 + 2 = 17: no change, staying pays off. (The program’s tests check these cases.)
Contest mode
Contest mode switches on by itself as soon as a contest is selected in WSJT-X under Settings → Advanced → Special operating activity (NA VHF, EU VHF, Field Day, RTTY Roundup, WW Digi, ARRL Digi). For any other contest, tick Contest. Then:
- Counting starts at the contest start. Enter it under ⚙ in UTC, e.g.
2026-12-05 18:00. Without an entry the alert line counts from the moment you tick the box or WSJT-X switches to contest. Older QSOs are then not dupes. - Needed is every station not yet worked on this band since the start; those bringing a new multiplier come first. Worked stations are dupes: not alerted, and greyed in WSJT-X.
- Multipliers are preset from the WSJT-X special activity: RTTY Roundup – state or province for US and Canadian stations (from their exchange, e.g. “559 MA”), otherwise the country; NA VHF and ARRL Digi – grids (4 characters); WW Digi – fields (2 characters); EU VHF and Field Day – none; own tick – countries. You can change this under ⚙ and choose whether mults count per band. The contest rules always decide.
- Bands: only contest bands are suggested, by default 160, 80, 40, 20, 15 and 10 m (no 60 m and no WARC bands). Set them to match the rules under ⚙.
- The status line shows start, QSOs and mults since the start, e.g. “CONTEST since 05.12. 18:00 UTC · 120 QSOs · 38 mults”.
Limits
- Grids, not call signs: Bandradar stores no call signs, only counts per grid. The potential means “your area was heard from or heard these grids”, not “this station is QRV”. Anyone not reporting to PSKReporter is missing.
- Your area is a 200 km radius around your grid, not your antenna. Where a neighbour with a beam is heard, your wire may not get through.
- Countries come from the prefix (country list
cty.dat). Special cases such as /MM or some islands can land wrongly. Without the country list (no network on first start) only grids are rated. - Multipliers are only known once heard or logged: the state of a US station is learnt from its exchange. Until then a CQ caller counts as “new”, not as “new mult”. Points are not calculated.
- Calling and highlighting need “Accept UDP requests” in WSJT-X; the status line says so if it is off. If JTAlert or GridTracker runs at the same time, several programs may colour the same call signs.
- Needed only knows your log – not what you have confirmed elsewhere (LoTW, another logbook).
- New: version 0.3.0. The Windows setup has seen little testing on real Windows so far. Please report problems to the address in the legal notice.
Privacy in brief
Your log and the call signs you hear stay on your computer. Every two minutes only your locator (four characters) and the chosen data sources go to my server. The program downloads the country list from country-files.com once a month. Details: privacy policy, section 12.
Sources
- WSJT-X UDP protocol:
Network/NetworkMessage.hppin the source of WSJT-X (Joe Taylor, K1JT, and team) - Country list: country-files.com (
cty.dat, Jim Reisert, AD1C) - Propagation data: Bandradar (PSKReporter, WSPR, Reverse Beacon Network, DX cluster)
- Windows package: Python 3.12.10 embeddable and Tcl/Tk from python.org (Python Software Foundation License), installer built with NSIS
Page last updated: 13 Nov 2026 · Source code: meldezeile/ in the project