RotatorMap User Manual
Version 1.2 · 28 September 2026 · Published by Jan Welten, KK3W / LB7TD
1. Introduction
RotatorMap is a map-based antenna pointing tool for radio amateurs. It shows where your directional antenna is pointing, how wide its main lobe is and how far it reaches, and it lets you turn the antenna to a station just by clicking on the map or by looking up a callsign on QRZ.com.
What RotatorMap does:
- Draws your beam heading and beamwidth as a sector on a world map, following true great-circle paths, over the poles and across the date line.
- Gives the short-path bearing, distance and Maidenhead locator of any point you click.
- Offers two map styles: a detailed OpenStreetMap view, and a great-circle map (azimuthal equidistant projection) centred on your QTH, the classic ham radio "beam heading map".
- Controls a real rotator through a Yaesu GS-232 compatible controller (serial or network) or
through Hamlib's
rotctld, including 450° rotators with overlap and rotators set up as −180…180°, and shows the rotator's actual position live on the map. - Looks up callsigns on QRZ.com, or by DXCC country without QRZ, and turns the antenna to the station with one click.
- Shows live stations on the map: WSJT-X/JTDX decodes, DX cluster spots, the stations that hear you (PSK Reporter and the Reverse Beacon Network) and the NCDXF/IARU beacons, plus space weather in the status bar.
RotatorMap is one program file, installed with the installer or used portably without installing, and everything stays on your computer except the map tiles, map library and QRZ lookups it downloads while you use it, and the minimal usage stats you can choose to share (see Sharing stats).
RotatorMap is free to use. If you like it, please consider a small donation to the Boca Raton Amateur Radio Association; see Free software, and supporting the club.
2. Installation and requirements
Requirements
| Item | Requirement |
|---|---|
| Operating system | Windows 10 or Windows 11, 64-bit |
| Browser engine | Microsoft Edge WebView2 Runtime. It is part of Windows 11 and of up-to-date Windows 10 installations. If it is missing, RotatorMap tells you and offers to open Microsoft's download page. |
| Internet | Needed for the map tiles, the map libraries and the world outline of the great-circle map, and for QRZ.com lookups. Rotator control itself works over your local serial port or network. |
| QRZ.com (optional) | A QRZ.com account with an XML Logbook Data subscription for full callsign records including location. |
| Rotator (optional) | A rotator controller that understands the Yaesu GS-232 commands Mxxx and
C, on a serial (COM / USB-serial) port or on the network via a raw TCP connection; or any rotator
that Hamlib supports, through Hamlib's rotctld network daemon. |
Installing
RotatorMap comes in two forms, from kk3w.com/rotatormap. Both are the same program.
- Installer (
RotatorMap-Setup-1.0.exe): run it and follow the steps. It installs RotatorMap inC:\Program Files\RotatorMap, adds it to the Start menu and, if you tick the box, puts a shortcut on the desktop. Windows asks for permission once, as for any program that installs in Program Files. - Portable (
RotatorMap.exe): copy it to any folder you like (the desktop,Documents, a USB stick) and double-click it. Nothing is installed.
.NET is built into RotatorMap; nothing else needs to be installed.
RotatorMap runs once at a time: starting it again while it is open brings the open window to the front (two copies would compete for the rotator, WSJT-X and the settings).
"Windows protected your PC"? Windows SmartScreen can warn about new downloads it has not seen often yet. Click More info and then Run anyway.
RotatorMap keeps its settings in the Windows registry of your user account (see section 15)
and its browser cache in %LOCALAPPDATA%\RotatorMap, so it runs from any folder, including read-only ones.
Installed and portable copies share the same settings.
Uninstalling
Installed: Windows Settings → Apps → Installed apps → RotatorMap → Uninstall. It asks whether to remove your settings and data as well.
Portable: delete RotatorMap.exe. To remove the settings as well, delete the registry key
HKEY_CURRENT_USER\Software\RotatorMap and the folder %LOCALAPPDATA%\RotatorMap.
3. Quick start
- Set your QTH. On the first start the map asks you to click your location. Zoom in on the map (mouse wheel) and click your station's position. You can change it later with .
- Describe your antenna. Open and set the beamwidth (for example 60° for a 3-element Yagi), the distance you want the sector drawn to, and the current heading. The map updates while you move the sliders.
- Point at something. Click anywhere on the map. A red great-circle line runs from your QTH to that point, the status bar shows locator, distance and bearing, and the sector turns to it.
- Optional: connect your rotator in (section 9).
- Optional: set up QRZ.com in and turn on (section 10).
4. The main window
Menus
| Menu | Item | What it does |
|---|---|---|
| Config | Set Home QTH | The next click on the map sets your QTH. |
| Sector Config… | Beamwidth, distance and heading of the antenna sector. | |
| Rotator Config… | Simulated rotator; a GS-232 controller on the network or a serial port; or Hamlib rotctld. | |
| Pause Rotator (Space) | Stops the rotator and holds it until you resume (see Pausing the rotator). | |
| QRZ.com Config… | Your QRZ.com username and password for callsign lookups. | |
| Show Callsign Lookup | Shows or hides the callsign lookup pane (QRZ.com, or DXCC country without QRZ). | |
| Show Maidenheads | Turns the Maidenhead grid overlay on the standard map on or off. | |
| Show Gray Line | Shades the part of the world where it is night, with the gray line as a soft edge. | |
| Distance Units | Kilometers or miles, for the status bar, the QRZ details and the great-circle map. | |
| View | Standard Map (OpenStreetMap) | Detailed street/terrain style map. |
| Great-Circle Map (centered on home) | Azimuthal equidistant beam heading map. | |
| Live | WSJT-X Decodes | Stations decoded by WSJT-X or JTDX on the map. |
| Clear WSJT-X Decodes | Removes the WSJT-X stations from the map, for a fresh start. | |
| DX Cluster Spots | Spots from a DX cluster on the map. | |
| Who Hears Me | Stations that received your callsign (PSK Reporter, Reverse Beacon Network). | |
| NCDXF Beacons | Shows the beacons and which one is on the air on each band. | |
| Space Weather | Solar flux, sunspot number, A and K index in the status bar. | |
| Live Data Config… | Your callsign, WSJT-X port, DX cluster server, who-hears-me sources. | |
| All live data settings are remembered. | ||
| Help | User Manual | This manual (also F1). |
| Check for Updates… | Checks kk3w.com for a newer version (see Updates). | |
| About… | Version and author, sharing stats, and the automatic update check. | |
Status bar
The line at the bottom of the window always shows:
| Field | Meaning |
|---|---|
| Locator | 6-character Maidenhead locator of the last point you clicked or looked up. |
| Distance | Great-circle (short-path) distance from your QTH to that point, in km or miles. |
| Bearing | True bearing from your QTH to that point, 0–360° clockwise from true north (short path). |
| Rotator | In simulated mode: Rotator: 353° (simulated).With a real rotator: Rotator COM3: 43° (at 403°) → 50° [status]: the heading the rotator reports, its
absolute position when it is in the 360–450° overlap, the target while it is turning, and any connection
problem. |
| Zoom | Zoom level of the standard map. |
| Right side | Space weather (section 11) and any problem with a live data source. |
5. Home QTH
Everything in RotatorMap is measured from your home QTH: bearings, distances, the sector and the centre of the great-circle map.
- On the very first start, the first click on the map sets the QTH.
- To move it later, choose and click the new position. The great-circle map re-centres on it automatically.
- Zoom in well before you click: at street level you place your QTH to within a few metres. For beam headings a few hundred metres make no practical difference, but the locator in the status bar is more precise.
6. Map views
Choose the view in the menu. RotatorMap remembers your choice.
6.1 Standard map (OpenStreetMap)
A detailed, zoomable world map from OpenStreetMap in the familiar Web Mercator projection.
- Zoom with the mouse wheel or the +/− buttons, pan by dragging.
- The sector is drawn along true great-circle paths. Its fill and edge lines fade out over the last 40% of the sector distance, so you see where the useful range ends.
- The optional Maidenhead grid overlay is described in section 12.
A flat map stretches the world near the poles, so a sector that passes close to a pole can look surprisingly wide and odd. That is the projection, not an error. See section 13, or switch to the great-circle map, which shows the same beam as a clean wedge.
6.2 Great-circle map (centered on home)
An azimuthal equidistant projection with your QTH at the centre, the classic "great-circle map" hams hang on the shack wall. On this map:
- Every straight line from the centre is a great circle. Its direction is the beam heading and its length the distance.
- North is up; bearings are marked around the edge every 10° and labelled every 30°.
- Dashed distance rings are drawn every 5,000 km (or 2,500 mi).
- The outer edge is your antipode, the point on the opposite side of the Earth, 20,015 km away. Everything near the edge is heavily stretched.
- Your sector is a solid wedge from your QTH all the way to the edge: the true coverage of your beam on the short path.
- The red line to a clicked or looked-up station is a straight line from the centre.
- Mouse wheel zooms around the pointer, drag pans, double-click resets to the whole globe. Clicking and right-clicking work as on the standard map.
The country outlines come from the public-domain Natural Earth dataset. They are downloaded the first time you open this view in a session; without internet the view says so.
Long path: the long path to a station is the opposite heading of the short path (short-path bearing + 180°). On the great-circle map you can see it directly: follow the line from the centre away from the station, through the edge.
6.3 Gray line (day and night)
shades the part of the world where the sun is below the horizon, on both map views. The shading is calculated from your computer's clock and updates every minute.
- The edge is soft: the shade starts at sunset and reaches full strength when the sun is 12° below the horizon (end of nautical twilight). That soft band is the gray line, the twilight zone along which low-band DX paths often open up.
- Your antenna sector is drawn on top of the shading.
- Keep the computer clock correct (Windows time synchronisation) for an accurate terminator.
7. Pointing at a station
Clicking the map
A left-click on the map:
- draws the red line: the short great-circle path from your QTH to the point, with a small marker at the end;
- shows the point's locator, distance and bearing in the status bar;
- turns the sector to that bearing, rounded to a whole degree, the shorter way round. In simulated mode it turns at 10° per second, the same pace as holding A or Z; a real rotator turns at its own speed (section 9).
A new heading is saved when the turn completes. Pressing A/Z or opening Sector Config stops a simulated turn.
The target card
Whatever you select (a clicked point, a QRZ station, a live marker or a beacon) is described in a small card in the top-right corner of the map:
- callsign and source details, and the 6-character locator;
- short-path and long-path distance and bearing;
- sunrise and sunset (UTC) at the station and at your QTH, handy for timing gray-line openings;
- the local time at the station, when its country is known (standard time; daylight saving time is not included).
Clearing the red line
Right-click anywhere on the map to remove the red line, its marker and the target card. The status bar goes back to N/A. A turn that is in progress continues.
Looking up a callsign
Picking a station in the callsign lookup pane does the same as clicking its location: red line, status bar, and the sector turns to it. See section 10.
8. The antenna sector
The orange sector represents your antenna's main lobe: centred on the current heading, as wide as your beamwidth, and (on the standard map) drawn out to a distance you choose.
8.1 Sector Config
opens a small window in the top-right corner, so the map stays visible. It has three settings, each with a slider and a number box:
| Setting | Range | Meaning |
|---|---|---|
| Width | 1–180° | Total beamwidth, centred on the heading. Use your antenna's −3 dB beamwidth, for example about 60° for a 3-element Yagi or 30° for a long Yagi. |
| Distance | 100–20,000 km (or miles) | How far the sector is drawn on the standard map. The last 40% fades out. The great-circle map always draws the sector to the edge. |
| Center bearing | 0–359° | The antenna heading. Wraps around north: stepping past 359° continues at 0° and back. |
- Live preview: the map updates as you drag, type, use the arrow keys or turn the mouse wheel.
- Click anywhere on a slider to jump straight there, then keep dragging.
- Save keeps all three values. Cancel or closing the window restores the previous ones.
- With a real rotator, the map previews the new heading while the window is open, and the rotator is sent there when you press Save.
8.2 Turning with the keyboard
A turns one degree clockwise, Z one degree counter-clockwise. Hold the key to turn continuously at 10° per second. The keys work whenever the map or the main window has focus, not while you type in a text box.
9. Rotator control
Open . There are three modes:
| Mode | What it does |
|---|---|
| Simulated | No rotator is connected. The sector turns on the map only. This is the default and is handy for planning. |
| Network (IP / port) | RotatorMap connects over TCP, either to a GS-232 controller or serial-to-Ethernet
adapter (protocol GS-232), or to Hamlib's rotctld (protocol Hamlib rotctld). |
| Serial (COM) port | RotatorMap talks GS-232 to a controller on a local COM port, including USB-serial adapters. |
9.1 Network settings
Enter the host name or IP address and the TCP port, and choose the protocol:
- GS-232 (raw TCP): RotatorMap opens a plain TCP connection and sends GS-232 text commands over it, exactly as on a serial line. This suits serial device servers and Wi-Fi/Ethernet rotator interfaces that pass the controller's serial port through.
- Hamlib rotctld: RotatorMap talks to Hamlib's rotator daemon, which in turn drives any rotator
Hamlib supports.
rotctldlistens on port 4533 by default. Start it for your rotator, for examplerotctld -m 603 -r COM3 -s 9600(model 603 is the Yaesu GS-232B in current Hamlib versions;rotctl -llists all models), and point RotatorMap at the computer running it.
The Line ending setting does not apply to rotctld, which always uses a newline.
9.2 Serial settings
- COM port: pick from the ports found on this computer; Refresh rescans after plugging in a USB-serial adapter.
- Speed: default 9600 baud; 1200 to 115200 selectable, or type another value.
- Data bits, parity, stop bits: default 8, None, 1 (8N1), the usual GS-232 setting.
- No flow control (handshake) is used; the DTR and RTS lines are switched on, as in a terminal program, because many GS-232 controllers and USB interfaces only answer while they are on.
9.3 Rotator settings
| Setting | Meaning |
|---|---|
| Rotation | 0–360° for most rotators. 0–450° if your rotator can turn 450°,
i.e. has 90° of overlap (for example Yaesu's 450° DXA-series rotators; check your rotator's manual).
−180…180° for rotators that rotctld reports as −180 to 180 degrees (only with
rotctld). See 9.4. |
| Poll every | How often RotatorMap asks the controller for its position. Default 500 ms (recommended); range 100–10,000 ms. |
| Line ending | CR is the GS-232 standard. Choose CR + LF if your controller expects
both (for example controllers built with Arduino Serial.println). |
| Test | Opens the connection with the settings in the window, sends C and shows the reply
and the position, for example Rotator answered "+0350": 350°. |
9.4 Rotation ranges: 360°, 450° and −180…180°
A 450° rotator can reach the directions 0–90° at two positions: for example north-east (45°) at position 45° and at position 405°. RotatorMap keeps track of the rotator's absolute position (0–450°, as reported by the controller) and always sends the rotator to the position for the requested heading that is closest to where it is now. That avoids needless long turns across the end stop.
Example: the rotator is at 352°. You click a station at 43°. RotatorMap sends M403: a 51° turn
clockwise through north, instead of 309° the other way round.
A −180…180° rotator has its end stop in the south. Headings east of south are positive, west of south
negative: a heading of 270° (west) is position −90°. RotatorMap converts automatically, reaches 180° at whichever end
is closer, and shows the raw position in the status bar, for example 270° (at -90°).
With a 0–360° rotator there is only one position per heading; a turn across the end stop goes the long way round, as the rotator physically requires. The last known position is remembered between sessions.
9.5 Commands used
GS-232 (serial, or network with protocol GS-232)
| Command | Meaning | Expected reply |
|---|---|---|
Mxxx | Turn to position xxx degrees, always three digits
(M045, M403). | none |
C | Report the current azimuth. | +0nnn (GS-232A) or AZ=nnn
(GS-232B). RotatorMap reads the first number in the reply. |
Every command ends with the chosen line ending.
Hamlib rotctld
| Command | Meaning | Expected reply |
|---|---|---|
P az el | Turn to azimuth az. RotatorMap sends back the elevation that
rotctld last reported, so the elevation of an az/el rotator is left where it is. | RPRT 0
(a negative number means rotctld refused; shown in the status bar) |
p | Report the position. | Azimuth and elevation, one per line. |
In both protocols RotatorMap polls the position at the chosen interval; a move command is sent immediately when you request one, and only the most recent request is sent.
9.6 Live position and status
- With a rotator connected, the sector on the map shows the position the rotator reports, so you see the antenna actually turning.
- The status bar shows the endpoint, heading, overlap position and target, e.g.
Rotator 192.168.1.50:4001: 43° (at 403°) → 50°. - Problems appear in brackets:
[connecting],[no reply from rotator]after three unanswered polls, or[not connected, retrying: …]. RotatorMap retries the connection every 5 seconds. - Opening Rotator Config closes the connection (so Test can use the port) and reconnects when you close it.
Pausing the rotator
The pause button under the map's + / − buttons, the Space key, or
stop the rotator at once (a real rotator gets the stop command,
S, in GS-232 and rotctld alike; the simulated sector stops where it is) and hold it: while paused, map
clicks, lookups, spots, the A/Z keys and Sector Config still select stations and draw the red
line, but do not turn the antenna. The button turns red with ▶ and the status bar says (paused). Click
the button or press Space again to resume: nothing turns by itself, the next station you select does.
RotatorMap always starts unpaused.
Safety: RotatorMap moves your antenna when you click the map, pick a QRZ station or press A/Z. Make sure nobody is working on the tower or near the antenna when a rotator is connected, and use the pause button while someone is. Check that the controller's own calibration and end stops are set correctly before relying on RotatorMap.
10. QRZ.com callsign lookup
10.1 Requirements
Lookups use the QRZ XML Data service with your normal QRZ.com login. Full records, including the station's latitude and longitude, need an active QRZ XML Logbook Data subscription. Without it, QRZ returns only a few fields and RotatorMap cannot place the station on the map.
The API key shown in your QRZ logbook settings belongs to the QRZ Logbook API (for uploading and downloading QSOs) and cannot be used for callsign lookups.
10.2 QRZ.com Config
- Open .
- Enter your QRZ.com username and password.
- Click Test login. It shows whether the login works and your subscription's expiry date.
- Click Save. The lookup pane now uses QRZ.com.
The password is stored in the registry encrypted with Windows' own per-user encryption (DPAPI): only your Windows account on this computer can read it.
10.3 The lookup pane
Turn it on with . It floats over the map; drag it by its dark title bar. Its position and whether it is shown are remembered. ✕ closes it.
- Search field: type a callsign. From three characters, and after a short pause, RotatorMap looks up that exact callsign on QRZ.com. (QRZ only supports exact callsign lookups; it cannot search by partial call or by name.)
- Dropdown: shows the QRZ match first, then up to 10 of your earlier lookups whose callsign starts with, or whose name contains, what you typed. Typing a name only searches your earlier lookups.
- Pick a result with a click, or with ↑/↓ and Enter (Enter alone takes the first result). The red line moves to the station, the map pans there if it is off screen, and the sector turns to the station's bearing.
- Details appear under the search field: name, address, grid, latitude/longitude and its source, distance and bearing from your QTH, CQ/ITU zones, licence class, time zone, e-mail, QSL manager and accepted QSL methods. The pane grows to fit.
10.4 Without QRZ: DXCC lookup
The lookup pane also works without a QRZ.com account. For any callsign or prefix you type, the dropdown offers the DXCC country (for example VP8 — DXCC: Falkland Islands). Picking it points to the centre of that country and shows its continent, CQ and ITU zones, local time and sunrise/sunset. With QRZ configured, the DXCC entry is shown until the QRZ result arrives, and is used when QRZ does not know the callsign. The country details are also added to every QRZ result.
10.5 Search history
The clock icon at the right end of the search field opens your lookup history (up to the last 200 stations). Sort it by Latest, Callsign or Name; the choice is remembered. Clicking an entry closes the list, puts the callsign in the search field and selects the station, exactly like a search result. Esc, the icon, or clicking elsewhere closes the list.
11. Live data
The menu puts stations that are active right now on the map. Each source has its own marker colour; markers fade as they age and disappear after the time set in . Hover over a marker for details; click it to select the station: red line, and the sector turns to it. With QRZ.com set up, the Callsign Lookup box opens and shows the station's QRZ details (for a station QRZ does not know: its country, and the position where the map shows it); without QRZ, a target card shows what is known about the station. (A click on an empty spot of the map, or on a beacon, always shows the target card.) Markers placed at a country's centre (no better location known) are slightly smaller with a dashed edge.
Where stations are placed
With QRZ.com set up (), RotatorMap looks up every incoming station on QRZ.com in the background and places it at its QRZ location. Only precise locations are used: set by the owner, geocoded from the address, from the grid, or from the ZIP code; a location that is only the state or country is not. Each callsign is looked up once, one at a time, and the answer is remembered for 30 days (7 days when QRZ has no usable location), so QRZ is not asked again every time a station shows up. If QRZ reports a problem (for example with the login or the subscription), the lookups pause for 15 minutes.
| Colour | Source |
|---|---|
| Green | WSJT-X / JTDX decodes |
| Bright green | WSJT-X / JTDX decodes of stations calling CQ |
| Purple | DX cluster spots |
| Blue | Who hears me |
| Orange | NCDXF/IARU beacons |
The live data panels on the map (the target card, the beacon list and the DX cluster filter) work like the callsign lookup pane: drag them by their dark title bar, and close them with ✕. RotatorMap remembers where you put them. When a panel opens where it would cover (or hide under) another panel, including the callsign lookup pane, it is placed on the right side instead, 10 px from the top and right edges and below any panels already there; its remembered position is used again next time there is room.
Start with and enter your callsign: it is used to log in to the DX cluster and the Reverse Beacon Network, and to ask PSK Reporter who heard you.
11.1 WSJT-X / JTDX decodes
- In WSJT-X: File → Settings → Reporting, tick Accept UDP requests, and set the UDP Server to
127.0.0.1port2237(the defaults). JTDX has the same setting. - In RotatorMap, turn on .
A decoded station is placed at its QRZ.com location once known; until then, or without QRZ, at the
grid square it sent (in this decode or an earlier one, usually its CQ). A station that has sent no grid and has no QRZ
location is not shown until it sends a grid: WSJT-X stations are never placed at a country's centre.
A station known only by a 4-character grid (such as FN42, about 160 × 110 km) is placed somewhere in that
square, always the same spot for the same callsign, so several stations in one square do not sit on top of each other;
the exact spot within the square is not their real location.
The tooltip shows band, mode, signal report, time, grid and country. Stations calling CQ are bright green, so they stand out from stations busy in a QSO. Decodes stay on the map for 15 minutes by default.
While WSJT-X is running, the status bar shows its band and mode after the zoom level, for example
| 20m FT8. When you change band or mode in WSJT-X, the WSJT-X stations of the old one are
cleared from the map, so the map shows only what you hear now.
clears them at any time. Grids and QRZ locations learned so far are kept, so stations you hear again appear at once.
Click a decode to see the station: in the Callsign Lookup box with QRZ.com set up (the decoded message below the QRZ details), otherwise on the target card (the decoded message at the top). Call in WSJT-X at the bottom asks WSJT-X (or JTDX) to answer the station's latest decode (the button is also there when you look up a station in the box, from its history or by typing the call, while that station is still on the map from WSJT-X; when the antenna is turned away from the station, a crosshair button appears at the right of it: click it to turn back), exactly as if you double-clicked that line in its Band Activity window: WSJT-X fills in the station and sets up the QSO messages. Whether it also starts transmitting depends on its own setting Double-click on call sets Tx enable (Settings → General). This needs Accept UDP requests ticked in WSJT-X (step 1 above); without it, WSJT-X ignores the request.
Another program (GridTracker, JTAlert, a logger) already listening on port 2237? Set WSJT-X's UDP
Server to a multicast address such as 224.0.0.1 and enter the same address as Multicast group in
Live Data Config. All programs then receive the decodes.
11.2 DX cluster spots
RotatorMap logs in to a DX cluster over telnet with your callsign and shows the spots at the spotted station's QRZ.com
location when QRZ is set up and knows it precisely, otherwise at its country's centre (from the DXCC list). The default server is dxc.ve7cc.net port 23 (VE7CC); any DX Spider, AR-Cluster or CC
Cluster server works. Spots stay for 30 minutes by default.
While DX cluster spots are on, the DX cluster panel chooses what is shown, with two dropdowns: Bands (160m–6m, and Other for bands outside that range) and Modes (CW, SSB, FT8, FT4, RTTY, Digi). Tick any combination; All at the top of each list selects or clears everything. The buttons show the selection (for example Bands: 20m, 40m), the panel shows how many spots are shown out of how many were received, the map updates immediately, and the choice is remembered. Closing the panel with ✕ turns DX cluster spots off.
The mode comes from the spot's comment when it says so (for example "FT8" or "CW"). Otherwise RotatorMap decides from the frequency: the standard FT8/FT4 channels, the CW segment at the bottom of each band, the phone (SSB) segment higher up, and Digi in between.
11.3 Who hears me
Shows the stations that received your callsign, which is a direct check of where your signal goes:
- PSK Reporter (digital modes such as FT8): receivers with their own locators. RotatorMap checks every 5 minutes, as PSK Reporter asks.
- Reverse Beacon Network: CW, RTTY and FT8 skimmers that decoded you (telnet.reversebeacon.net, ports 7000 and 7001), placed at their QRZ.com location, or at their country's centre without one.
11.4 NCDXF/IARU beacons
The 18 beacons of the International Beacon Project take turns on 14.100, 18.110, 21.150, 24.930 and 28.200 MHz: each transmits for 10 seconds per band, so every beacon is heard on every band once every 3 minutes. RotatorMap calculates the schedule from your computer clock (keep it accurate).
marks all beacons on the map, highlights the ones on the air, and lists them per band in the NCDXF beacons panel, with a countdown to the next change. Tune your receiver to a beacon frequency and compare what you hear with the list and the map to see which directions are open. Click a beacon to select it (red line, target card). Closing the panel with ✕ turns the beacons off.
11.5 Space weather
shows in the status bar, updated every 30 minutes from NOAA's Space Weather Prediction Center:
| Value | Meaning |
|---|---|
| SFI | 10.7 cm solar flux. Higher generally means better high-band (15–10 m) conditions. |
| SSN | Predicted monthly sunspot number (the value propagation programs such as VOACAP use). |
| A | Planetary A-index: geomagnetic activity over the day. Low (below about 10) is quiet. |
| Kp | Planetary K-index (3-hourly, 0–9). 4 and above means disturbed conditions, especially on polar paths. |
11.6 DXCC country list
Country lookups use AD1C's cty.dat from country-files.com. RotatorMap downloads it on first use, keeps
it in %LOCALAPPDATA%\RotatorMap and refreshes it weekly; without internet the last copy is used.
12. Maidenhead locators
- The status bar shows the 6-character locator (e.g.
JO70eg) of the last clicked or looked-up point. - overlays the grid on the standard map: square lines from zoom
level 5 and 4-character square labels (e.g.
FN31) from zoom level 6. The labels are plain text in the grid's colour, so the map stays readable underneath. - The grid overlay is shown on the standard map only.
13. Understanding the geometry
Great circles and short path
A radio signal follows a great circle: the shortest path over the surface of the Earth. The bearing and distance RotatorMap shows are for this short path. The long path is the other way round the same great circle: heading + 180°, and 40,030 km minus the short-path distance.
Why the sector looks strange on the flat map
The standard map is a Mercator projection. Near the poles it stretches everything enormously, and the pole itself is off the top of the map. A beam that passes close to the pole therefore:
- runs off the top of the map and comes back down on the far side of the world;
- covers a huge range of longitudes near the top edge, because all longitudes meet at the pole.
RotatorMap colours every point of the map according to its true bearing and distance from your QTH, so what you see is correct, only distorted by the projection. The great-circle map shows the same beam as a clean wedge.
The beam converges at your antipode
All great circles leaving your QTH meet again at your antipode, 20,015 km away. A beam of any width therefore widens out to a maximum at about 10,000 km (a quarter of the way round) and narrows again after that. For a 20° beam:
| Distance | Width of a 20° beam |
|---|---|
| 1,000 km | ≈ 350 km |
| 5,000 km | ≈ 1,570 km |
| 10,000 km | ≈ 2,220 km (widest) |
| 15,000 km | ≈ 1,570 km |
| 20,015 km (antipode) | 0 |
This is also the reason for antipodal focusing: signals from stations near your antipode can arrive unusually strongly, because many paths converge there.
14. Keyboard and mouse reference
| Where | Action | Result |
|---|---|---|
| Map (both views) | Left-click | Red line, status bar, turn the sector (or set the QTH after ). |
| Right-click | Clear the red line and the target card. | |
| Click a live marker or beacon | Select that station (red line, target card, turn). | |
| Mouse wheel / drag | Zoom / pan. | |
| A / Z | Turn 1° clockwise / counter-clockwise (hold to keep turning). | |
| Space | Pause the rotator / resume (also the button under + and −). | |
| F1 | Open this manual. | |
| Great-circle map | Double-click | Reset zoom and pan to the whole globe. |
| QRZ search field | ↓ / ↑ | Move through the dropdown or into the history list. |
| Enter | Pick the highlighted (or first) result. | |
| Esc | Close the dropdown or history list. | |
| Clock icon | Open the lookup history. | |
| Sector Config sliders | Click on the track | Jump to that value. |
| Arrow keys, Page Up/Down, wheel | Step the value (the bearing wraps past north). | |
| Enter / Esc | Save / Cancel. |
15. Settings and backup
All settings are stored in the registry under HKEY_CURRENT_USER\Software\RotatorMap:
| Key | Contents |
|---|---|
QTH | Home position. |
Rotator | Sector heading, width and distance. |
Rotor | Rotator mode, network and serial settings, 360/450°, polling, line ending, last known position. |
UI | Distance unit, map view, Maidenhead and gray line overlays, initial zoom. |
QRZ | QRZ username, encrypted password, pane position and visibility, lookup history and its sort order. |
Live | Your callsign, which live sources are on, WSJT-X, DX cluster and who-hears-me settings, beacon mode. |
Telemetry | Your answer to the question about sharing stats. |
Window | Window position, size and state. |
Backup and moving to another computer
Export the key with Registry Editor (File → Export) or from a command prompt:
reg export HKCU\Software\RotatorMap RotatorMap-settings.reg
Double-click the .reg file on the other computer to import it. The QRZ password is encrypted for your
Windows account and computer, so enter it again in QRZ.com Config after moving.
Starting fresh
Close RotatorMap and delete HKEY_CURRENT_USER\Software\RotatorMap. The next start uses the default settings.
16. Troubleshooting
The map area is blank or grey
Check the internet connection: map tiles and the map library are downloaded while you use RotatorMap. If a message says the WebView2 Runtime is missing, install it from Microsoft's download page and restart RotatorMap.
The window does not appear
RotatorMap never starts minimized or off screen; if the saved position is on a monitor that is no longer connected,
the window is centred on the main screen. If it still does not appear, look in Task Manager for a leftover
RotatorMap.exe, end it and start again.
The great-circle map says the world outline could not be loaded
The country outlines are downloaded from jsDelivr the first time the view is opened. Check the internet connection and switch the view off and on again.
QRZ: "Username/password incorrect", or no location
Use Test login in QRZ.com Config. If the login works but stations have no location, your account probably has no XML Logbook Data subscription. "Not found" means QRZ has no record for that exact callsign.
Rotator: [no reply from rotator]
- Check speed and 8N1 settings against the controller.
- Try the other line ending (CR vs CR + LF).
- Make sure the controller is in computer-control mode and powered.
- Use Test in Rotator Config to see the raw reply.
Rotator: "Access to the port is denied" or the port is busy
Another program (logging software, a second RotatorMap) is using the COM port. Close it, or share the rotator through a single program.
rotctld: [rotctld refused P …]
rotctld rejected the position, usually because it is outside the range of the rotator backend. Check the Rotation setting: a backend that works in −180…180° needs the −180…180° option, and a 450° rotator needs 0–450°.
No WSJT-X decodes on the map
Check that WSJT-X's UDP Server is 127.0.0.1:2237 with Accept UDP requests ticked. If the
status bar says RotatorMap cannot listen on the port, another program uses it: switch everything to a multicast group
(see 11.1).
DX cluster or RBN: "not connected"
Check your callsign in Live Data Config and the server name and port. RotatorMap retries every 30 seconds.
The rotator turns the long way round
On a 360° rotator that is expected when the turn crosses the end stop. If you have a 450° rotator, set Rotation to 450° in Rotator Config.
17. Data sources and privacy
- Map tiles: © OpenStreetMap contributors, openstreetmap.org/copyright. The attribution is shown in the corner of the map, as the OpenStreetMap tile usage policy requires.
- Map library: Leaflet, loaded from unpkg.com.
- Great-circle map: d3 and topojson libraries and the Natural Earth country outlines (world-atlas), loaded from cdn.jsdelivr.net.
- Callsign data: QRZ.com XML Data service, with your own account: the callsigns you look up and, with live data on, the callsigns of incoming stations (to place them on the map).
- DXCC country list: cty.dat by AD1C, country-files.com.
- Space weather: NOAA Space Weather Prediction Center (public data).
- Live data: your DX cluster server (default VE7CC), the Reverse Beacon Network, PSK Reporter (pskreporter.info, by Philip Gladstone N1DQ), and WSJT-X/JTDX on your own computer or network.
With live data turned on, your callsign is sent to the DX cluster and Reverse Beacon Network servers (to log in) and to PSK Reporter (to ask who heard you). Apart from that, and the stats below if you allow them, RotatorMap sends nothing about you anywhere. Your settings, QTH and lookup history stay in your Windows registry. The map tile, library and QRZ servers see ordinary web requests from your computer.
Updates
RotatorMap checks kk3w.com for a newer version when it starts, at most once a day, and tells you when there is one:
Download opens the installer (or the new RotatorMap.exe for the portable version) in your browser,
Skip this version stops the reminders for that version, and Later asks again another day.
checks at once. The automatic check can be turned off with
in . The check only asks
for the latest version number; it sends nothing about you or your computer.
Sharing stats
On the first start, RotatorMap asks whether you want to share minimal usage stats to help development. Nothing is shared unless you say yes, and you can change your mind at any time with in .
18. Version history
Version 1.2 — 28 September 2026
- With QRZ.com set up, incoming stations (WSJT-X decodes, DX cluster spots, RBN skimmers) are placed at their QRZ.com location, looked up in the background once per callsign and remembered for 30 days.
- WSJT-X stations are never placed at a country's centre: without a grid or a QRZ location they appear once they send a grid, and a grid sent earlier (usually in a CQ) is remembered.
- Clicking a station opens the Callsign Lookup box with its QRZ details instead of the target card, including the decoded message and Call in WSJT-X for WSJT-X decodes (without QRZ, the target card as before).
- Pause: a button under the map's + / − buttons, Space and stop the rotator and hold it until you resume.
- Changing band or mode in WSJT-X clears the WSJT-X stations of the old one; clears them by hand. The status bar shows WSJT-X's band and mode while it runs.
- Fixed: local time showed "UTC-+0" for stations at UTC+0.
Version 1.1 — 28 September 2026
- Call in WSJT-X: a button on the card of a WSJT-X/JTDX decode that asks WSJT-X to answer the station, as a double-click on the decode there.
- Stations calling CQ are shown in bright green.
- Stations that send only a 4-character grid are spread over their grid square instead of stacked on its centre.
- Maidenhead square labels are plain text in the grid's colour, so they no longer cover the map.
Version 1.0 — 26 September 2026
First release.
- OpenStreetMap map (WebView2) with true great-circle antenna sector, fading with range.
- Great-circle (azimuthal equidistant) map centred on the home QTH.
- Sector Config with live preview: beamwidth, distance and heading.
- Click-to-point with red great-circle line, locator, distance and bearing; right-click to clear.
- Rotator control: simulated, GS-232 over serial or network, and Hamlib rotctld; 0–360°, 0–450° and −180…180° rotators with shortest-way positioning; live position display.
- QRZ.com lookup pane with dropdown results, lookup history and station details.
- Maidenhead grid overlay and locator display; gray line (day/night) overlay; kilometers or miles.
- Live data: WSJT-X/JTDX decodes, DX cluster spots, who hears me (PSK Reporter and RBN), NCDXF beacons display, and space weather.
- Target card with short/long path, local time and sunrise/sunset at both ends; offline DXCC lookup.
- Portable single-file program; settings in the registry.
- Later 1.0 downloads added the installer (Start menu and desktop shortcuts), the update check, the clickable NCDXF beacon list and the optional usage stats.
19. About
RotatorMap version 1.2 (28 September 2026)
Published by Jan Welten, KK3W / LB7TD
Website, downloads and this manual online: kk3w.com/rotatormap
Comments, bug reports and ideas are welcome: jan@welten.no.
See you on the air. 73 de KK3W
Free software, and supporting the club
RotatorMap is free to use. It was made in the amateur radio spirit of sharing, by a ham for fellow hams: no license key, no subscription, no advertising.
If you like RotatorMap and use it on the air, please consider a donation of $10 to the Boca Raton Amateur Radio Association (BRARA, club station N4BRF):
- Donate to BRARA through PayPal
- About the club: brara.org
