How to use qsonaut
Step by step. Each part can be read on its own — pick one from the list on the left.
Installing
Packages are on the download page.
macOS
- Open the
.dmgfile and drag qsonaut into Applications. - The program has no Apple certificate yet, so the first time open it with a right-click (or Ctrl-click) → Open → Open. After that it starts normally.
-
If macOS says the application is “damaged”, remove the download flag in Terminal:
xattr -dr com.apple.quarantine /Applications/qsonaut.app
macOS asks for keychain access — that is where the log's keys are kept. Choose Always Allow. When synchronising it asks about the local network: choose Allow. After an update the questions may come back, because without a certificate the system treats the new version as a new program.
Windows
Run the .exe installer (or the .msi). Windows shows “Windows
protected your PC” — choose More info → Run anyway. On the first sync Windows
Firewall asks about network access: for the local network, allow it on private networks.
To update, run the new version’s installer. If the old version’s uninstaller opens, leave “Delete the application data” unticked — it deletes the logbook from this computer. Version 0.37.8 and later, when they are uninstalled, ask about it once more, plainly.
Linux
The AppImage runs without installing: chmod +x qsonaut_*.AppImage and
start it. The .deb (Debian, Ubuntu, Mint) and .rpm (Fedora, openSUSE)
packages install with your package manager. The program needs WebKitGTK 4.1.
On Arch and its relatives (e.g. Omarchy) take the AppImage. It runs on Wayland or X11, as the
session is. Should the window stay empty or the program close, start it with
GDK_BACKEND=x11 ./qsonaut_*.AppImage and tell me which system it was.
First start
The welcome screen offers three ways in:
- I am starting a log — the first computer with qsonaut. Give the log a name (your callsign, for example) and name this computer. A log with your key is created.
- I am adding this computer — your log is already on another computer. This one gets its own key and the log arrives when you pair them (see Synchronising).
- I am recovering a log — you have a recovery kit and its passphrase.
Already have a log in another program? After creating the log, import it from ADIF (Import).
Station setups (prepared setups)
A setup describes the station as it is right now: callsign, operator, locator, QTH, power, the list of rigs and antennas, your own activation references and a contest. Every contact logged with a setup gets these details copied — changing the setup later never changes QSOs already saved.
Creating and switching
- On the Operating screen, click + Add in the top right corner.
- Name it (“Home QRO”, “Riverside park”), pick an icon and fill in the fields. Enter rigs and antennas separated by commas — the first is the default, the rest you pick on the radio bar.
- Your own references (POTA, WWFF, PGA…) appear once the matching program is turned on.
- Save. The setup's tile sits at the top of Operating; a click makes it active.
The tiles share a line with the title; when they do not fit, scroll them sideways. Drag a tile to change the order (or Alt+← / Alt+→ on a focused tile). The order is kept on this computer.
Setups are shared by all your devices — one prepared on the laptop is on the shack computer too. The pencil on a tile edits it, the bin deletes it everywhere (saved contacts stay).
Examples
| Situation | What goes into the setup |
|---|---|
| Home station, QRO | Callsign, 6-character locator, 100 W, “IC-7610”, antennas “Doublet, Yagi 3el”. |
| Home station, QRP | Same callsign and locator, 5 W, “IC-705”. One click switches between them. |
| Park activation | Callsign with /P, the site's locator, the POTA reference (and WWFF, if the park is also a WWFF area). An activation counter appears on Operating. |
| Contest | A contest needs no separate log. Load the contest definition in Programs (below) and turn it on, then pick the contest from the list in the profile and the starting serial. The serial goes up by itself with each contact. In the entry the received exchange comes straight after the call (one Tab), and what you send stands between the reports — as the definition says: serial and locator, in CQ WW the CQ zone. |
Logging contacts
The radio bar
Below the setups: band, frequency, mode, propagation, power, rig and antenna. Type the frequency and the band follows. What you set here applies to the next contacts, and the save button shows the band and mode the contact will be logged with (e.g. Save 80m SSB). With the radio connected through Hamlib, band, frequency and mode change by themselves and the dot by QRG is green. Without it, QRG says by hand, and a frequency left alone for half an hour turns amber, with the time since it last changed, so you do not log on the band of an hour ago. Changing it or clicking into the field clears the reminder.
The entry
- Type the callsign. The Other station panel shows details from QRZ/HamQTH and a grid of bands and modes (CW, phone, data) with that station: the number of contacts in each cell, filled when one is confirmed, outlined when worked only; the current band and mode framed, red for a repeat. B4 under the call: the station is already in the log on this band in this mode group. B4 today, filled: a repeat of the day (UTC) from the same work profile — the way POTA, WWFF, SOTA and award days count. In a contest, B4 is about that contest. The phone does the same. A cell’s tip also says how the station’s country stands there. Under the grid a small map shows your square, theirs and the short path between them; without their locator, a dashed line to the middle of the country. The Recent QSOs frame then lists the contacts with that station, notes in full; clicking a cell narrows it to that band and mode, and × beside the cell’s name (or clicking it again) brings them all back. Log → opens the log narrowed to what the frame shows. The Q L e R P squares (card, LoTW, eQSL, QRZ, QSL file) say which channels confirmed them. Clicking a contact opens it in the log, narrowed to that station; saving brings you back to the entry.
- RST reports default by mode (59/599; for FT8 they stay empty, since that report is in dB).
- Enter the other station's references (park, municipality…) in the program fields. qsonaut says right away whether it is a new reference and which contact with it this is.
- Enter or Save QSO saves the contact.
The entry has a line for each question. The first is the contact: call, reports, name and note. The second is where the station is: QTH, locator, the bearing with the distance, the CQ and ITU zones and whatever fields programs count (e.g. a province). The third holds the program fields, with Save QSO at its end. The bearing shows “—” until you type the call or the locator. Marks stand under the fields: B4 under the call, ★ under a program field when the reference is new; which contact with it this is, the program's frame says.
More opens the country and DXCC code underneath, and an IOTA field while no IOTA program is on. Propagation (Es, tropo, MS, F2, satellite…) is picked on the radio bar, in the PROP field: it carries over to the next contacts, like the band, until you change it. For a satellite, its name and mode appear beside it. For a contact made a moment ago, click the clock and enter the UTC date and time.
What the screen tells you
- ★ New one — what the contact brings: DXCC, a band or mode for an entity, a locator square, a zone, a US state (STATE) or a program reference. A reference is new once — hundreds of contacts with EU-005 are one new IOTA group. GRID/BAND is a square you already have, but not on this band (6 m and up).
- Distance and bearing — from your locator to the other station's; while its locator is not known, approximate (≈) to the middle of the country its prefix names, so the beam heading is there as soon as you type the call. Your own locator goes in the operating setup (Station locator) — without it there is nothing to count from.
- Programs — progress of the turned-on programs; during an activation, the QSO count. A repeat (the same station that day on the same band and mode) does not add to it, since POTA would not count it; SOTA counts different stations, so the same station on another band does not add to it either.
The log and the map
The Log tab is the whole log: search by callsign, note and reference, and sorting by column. The filters sit in one row: Today keeps the contacts of the current UTC day (with a park's Profile, that is the activation's export at once), Band, Mode and Profile open buttons with the number of contacts on each — any combination, e.g. 6 m and 2 m — QSL picks confirmed or unconfirmed, and ★ keeps the contacts that brought something new. The same filters apply to Contacts, the Map and Statistics. A chosen filter says what is chosen and goes with a click on ×. An ADIF export of what the filter keeps uses the same choice. The gear icon sets the columns (including km, Locator, State and County — MixW's “Domain” and “County”), their order, width and the row density. A contact without its own locator (usually imported) has its distance measured from the current station, marked ≈. A page holds up to 1000 contacts.
- Clicking a contact opens its QSO details beside the list: correct it (the date and time too), see its history, move it to the trash. The More fields, My station and Fields not editable here sections stay open or folded as you leave them. The Confirmations section has the QSL column's letters: tick the card, LoTW and eQSL as confirmed; qsonaut learns QRZ and the QSL file by itself. Your own card sent is a separate My QSL card field — it confirms nothing, and in the QSL column it outlines Q: sent, awaiting the reply. My station also corrects the rig, antenna and town the contact was made with, suggesting those of your prepared settings.
- Trash and To resolve are under More. A conflict appears when two devices changed the same contact independently — you choose which version to keep. From the trash you restore a contact or delete it for good (the button in its window, or Empty the trash…). Deleting for good erases it on all your devices and cannot be undone.
- Selecting: the box by a contact, or the box in the header (the whole page); ▾ beside it selects all in the filter, e.g. everything on 2 m and 6 m. A row under the filters then offers Work profile (assign or take off) and a trash icon, and the Confirmations button on the bar works on the selected (card, LoTW, eQSL by hand; QRZ.com; QSL file). With many contacts it asks once before changing anything; each change is an ordinary correction with its history. In the Trash, selected contacts are restored or erased for good.
- Map shows locator squares or stations. The row with the search holds Squares/Stations, Band (any combination, each with its count — the same choice as above the table) and Confirmed: tick one or several channels (card, LoTW, eQSL, QRZ, QSL file) and places confirmed by any of them turn blue, places only worked fade; × takes the highlight off. Fitting, the whole world and the zoom are icons on the map. Clicking a square or a station lists its contacts under the map in a table like the log's; clicking a row opens the QSO details.
Synchronising devices
Each of your devices holds the whole log and works on its own, offline included. When devices can reach each other, they exchange changes. There is no server holding the log — which is why every device is a backup of the others.
Pairing — once per device
On the same Wi-Fi or wired network — or over the internet, below.
- On the computer that has the log: Devices → Show pairing code. The code has 8 digits (there is a QR code too) and is valid for 10 minutes.
- On the new computer: on the welcome screen choose I am adding this computer → Get ready to pair. Computers on the network are listed — choose the one with the log and enter the code.
- Back on the first computer, approve with Add this device. The log starts to transfer.
A computer somewhere else (a club member at home, say): on the computer with the log turn on the internet in sync, show the pairing code and under Over the internet choose E-mail or Copy invitation. Send the invitation with your own mail program and give the code another way, by phone for instance. On the new computer: I am adding this computer → Over the internet → paste the invitation, enter the code → Connect over the internet. The invitation alone opens nothing, and adding is still approved on the computer with the log.
Local network and Internet
The sync status is in the top bar, next to the language button. A click opens a panel: Synchronise now, the state of every device and three switches.
| Switch | What it does |
|---|---|
| Local network | Devices on the same network find each other and connect directly. |
| Internet | From anywhere, with no router setup. The connection is encrypted; when a direct one is not possible it goes through a relay server, which carries the data but cannot read it. |
| Synchronise automatically | Changes go out by themselves when the other device is reachable. Off — only when you click Synchronise now. |
The status in the bar
- All devices up to date — each has all your entries.
- Up to date: 1 of 2 — one device is current, the other is waiting for changes (it may be switched off). It gets them as soon as it is reachable again.
- Sync off — both network switches are off.
Disconnecting a device
A lost laptop is disconnected under Devices → the device's card → Disconnect device. It stops synchronising with the log; coming back takes pairing again with new keys.
A club log beside your own
One computer can hold several logs — your own, say, and the club station's log that operators also fill from home. Each log has its own devices, keys and synchronisation. Nothing passes between them: a contact written in the club log stays in the club log, and the club does not see yours.
- Click the log's name in the top bar, right after the logo → Add a log….
- Choose I am adding this computer when the club log is already kept on another computer, or I am starting a log to start it afresh.
- Joining is ordinary pairing (see above): at the club, on the same network, the club computer shows a code and you type it in.
You switch logs in the same menu. The log you write to is always the one named in the top bar. It cannot be changed in the middle of an entry — save or clear the contact first. The log not on screen synchronises in the background: club contacts come in and your club contacts go out while you work in your own. On the local network the computer has one port for all its logs, so a log in the background is as reachable as the one on screen — as long as Local network is on in it and in the log on screen. Which computer is the log's “main” one is your choice: the one it was created on adds and disconnects devices.
The radio (Hamlib), WSJT-X and QRZ/eQSL accounts are set up in each log separately — they apply only to the one on screen. If you start adding a log and change your mind, Back to… removes the unfinished log.
A log you no longer want on this computer is removed with the bin icon beside its name in the same menu (the open log cannot be removed). Before you confirm — by typing its name — qsonaut says how many contacts go and whether the log stays on other devices. If this is the log's only device, the contacts are lost; export them first.
A listener's logbook (SWL)
Listening reports go in a logbook of their own, so stations only heard never mix with contacts — on a club computer too, beside the club's logbook. When you create the logbook, tick Listener's logbook (SWL); the kind cannot be changed later.
-
In the station setup enter your listener's number, e.g.
SP5-37133. - An entry is the station heard, QSO with — the call of the station it was working — and one report: how you hear it. The rest is as for a contact; B4 works on the station heard.
-
In ADIF a report has
SWL=Y, and the other station goes inAPP_QSONAUT_SWL_WITH(ADIF has no field of its own for it). - A report is confirmed by a QSL card or eQSL. The eQSL account goes in under your listener's number, with or without the dashes — as eQSL has it. LoTW, the QRZ Logbook and a qsonaut QSL file confirm two-way contacts only, so a listener's logbook does not offer them.
- Every device of a listener's logbook needs a version that knows it.
Programs: awards, activations, contests
A program is the rules of an award, an activation or a contest in a signed file; the signature guarantees nobody changed them. qsonaut scores them from your log — locally, without sending anything anywhere.
Ready-made programs, in the same three groups as the Library in Programs: awards counted across the whole log, activations (your park or summit) and contests.
Awards
| Program | Program file | Directory |
|---|---|---|
| DXCC — all entities | dxcc-all | DXCC entities |
| DXCC Challenge — entities on 160–6 m | dxcc-challenge | — |
| POTA — park hunter | pota-hunter | POTA parks |
| SOTA — summit hunter | sota-hunter | SOTA summits |
| WWFF — area hunter | wwff-hunter | WWFF areas |
| PGA — Polish municipalities | pga-hunter | PGA municipalities |
| VUCC 6 m — squares | vucc-6m | — |
| IOTA — island groups | iota-hunter | — |
| WAZ — CQ zones | waz | — |
| ITU zones | itu-zones | — |
| WAS — US states | was | — |
| WPX — prefixes | wpx | — |
| SP-PA — Polish counties (PZK) | sp-pa | SP-PA counties |
| POLSKA — provinces (PZK) | polska | — |
| SP prefixes — HF (PZK) | prefiksy-sp-kf | — |
| SP prefixes — VHF (PZK) | prefiksy-sp-ukf | — |
The program texts are in Polish for now; the rules work the same in either language.
With a catalog installed, the entry checks the other station’s reference at once. ★ NEW — known, and the first in your log. not in catalog (in red) — the catalog has no such code: usually a typo, sometimes a park so new the catalog does not know it yet. retired — it existed but can no longer be worked. The verdict comes once the code is whole — while it is being typed nothing is shown. You can always save.
DXCC, DXCC Challenge, VUCC, IOTA, WAZ, ITU zones, WAS and WPX, like the real awards, count confirmed contacts. A program's details always show the same three numbers side by side: Credited — confirmed by the channels the sponsor accepts (for the ARRL awards DXCC, DXCC Challenge, WAS, VUCC: QSL card and LoTW; this is the program's score), Confirmed — by any channel, eQSL, QRZ and a qsonaut QSL file included, and Worked. The tile says how many are confirmed by another channel and how many wait for a confirmation, e.g. “14/50 · +8 other channel · +9 waiting”. Programs with a fixed list (WAS, WAZ, ITU zones, POLSKA) also have a table of states or zones by band. The PZK awards (SP-PA, POLSKA, SP prefixes) count only contacts confirmed by QSL card, because PZK checks a GCR list against the cards. The county code goes in the “SPPA korespondenta” field, the province letter in “Województwo”. Confirmations kept by another logger come in with its ADIF export, and a card you received is marked in the contact's correction (Confirmations).
Activations
| Program | Program file | Directory |
|---|---|---|
| POTA — activator | pota-activator | POTA parks |
| SOTA — activator | sota-activator | SOTA summits |
Contests
Each definition covers one running of the contest. qsonaut takes the CQ zone you send from the station's callsign, and stores the zone received as the other station's zone too, so it counts towards WAZ. The file for the organiser: Log → Export → Contest · Cabrillo.
| Program | Program file |
|---|---|
| CQ WW DX CW — 28–29 Nov 2026 | cq-ww-cw-2026 |
| CQ WW DX SSB — 30–31 Oct 2027 | cq-ww-ssb-2027 |
| CQ WW DX RTTY — 25–26 Sep 2027 | cq-ww-rtty-2027 |
Adding a program
- Programs → + Add. At the top is the list of programs on qsonaut.app — awards, activations, contests. Click Add beside the one you want.
- Turn the program on with its switch in the list. It is added off; the choice is yours.
- For a program without its catalog (parks, municipalities, summits) qsonaut offers Download the catalog. With it you see not only the result but also what is still missing.
- A program from a file — someone else's or your own — is added below the list: choose the file → Check program → Add to logbook. A catalog from a file goes in with the catalog icon in the top right corner of the program's details.
A turned-on program with references adds fields to the entry line (e.g. “POTA”) and to the station setups. The result is a local calculation — the official credit always comes from the organiser.
Export packages
More → Export packages prepares ADIF files to a program's rules — e.g. an activation
log split by park and day. Before saving it shows what goes into the package and what
data is missing. Files are named from the callsign, park and day, e.g.
[email protected], the way POTA and WWFF name logs. In a POTA file
the park is in MY_SIG/MY_SIG_INFO, where pota.app reads it, and the
other station's park on a P2P contact in SIG_INFO. The SOTA · Aktywator program
splits the log by summit and day; the SOTA database (sotadata.org.uk) takes those ADIF files
as they are.
Your own program templates
A program is written in YAML, in the Hamrule format. An example — a local award for 50 PGA municipalities worked on 80 m in 2026:
format: hamrule/2
id: my.pga.80m.2026
name: PGA · 80 m · 2026
version: 1
role: hunter # hunter | activator | participant
reference_program: PGA # reference fields appear in the entry line
presentation:
icon: map # map | globe | trophy
unit: municipalities
description: PGA municipalities worked on 80 m in 2026.
filter:
start_utc: '2026-01-01T00:00:00Z'
end_utc: '2027-01-01T00:00:00Z'
bands: [80m]
modes: [] # empty = all
confirmed_only: false
scoring:
points: 1
unique_by: [remote_reference]
multiplier: null
requirements:
minimum_score: 50
required_calls: []
What can be counted (unique_by)
| Field | Counts once per… |
|---|---|
dxcc |
DXCC entity (from the contact's DXCC field) |
remote_reference |
the other station's reference in reference_program |
local_reference |
your own reference (activations) |
gridsquare |
the other station's locator square (4 characters; VUCC_GRIDS too) |
remote_call, station_call |
the other station's callsign, your own callsign |
band, mode, utc_date |
band, mode, UTC day |
Fields combine: [dxcc, band] counts each entity separately on each band.
confirmed_only: true takes only contacts confirmed by any channel. A
logging section with a contest_id adds the contest to the station
setups.
Signing and adding your own program
- Save the template as a
.yamlfile. - Programs → + Add → choose the file. qsonaut recognises an unsigned template.
- Sign with my key and check. On the first signature the computer creates its own author key and keeps it in the system keychain. The preview shows the program's result on your log.
- Add to logbook. Want to pass the program on? Save signed file… — any qsonaut installs that file.
version) on the same computer — then it
replaces the previous one. The signature ties the rules to their author and protects them from
silent changes; a program signed by someone else cannot be signed as your own.
ADIF import and export
Import
- Log → the import icon → choose the ADIF file.
- The preview shows how many contacts are new, how many are already in the log (these are skipped) and what cannot be read. Records without a station callsign can be assigned to the callsign you give.
- A file from a Windows logger (MixW, for one) may be written in a national code page rather than UTF-8. The import window says so, proposes Windows-1250 and shows names, QTHs and notes from the file below — accented letters should look right; if they do not, choose another encoding. The file does not need converting in another program.
- Optionally choose a Work profile to tag every contact from the file with (e.g. an MSHV log as “VHF”). The contacts also get from it what the file does not say about your station: square, references, power, equipment. What the file says stays. A profile given later in the Log fills in the same way.
- Import. Importing the same file again duplicates nothing.
Unknown ADIF fields are kept and come back in exports. A contact with no country (no DXCC field) gets one from the callsign — with the continent and the CQ and ITU zones — from the Big CTY prefix table (AD1C), the one N1MM and WSJT-X use. Values from the file, from QRZ or typed by hand always win; the table only fills empty fields. The same goes for logging and for contacts from WSJT-X, JTDX and MSHV. Zones from the callsign are an approximation: in the USA or Canada a callsign no longer says where its holder lives.
Export
The export icon: Whole log, Search results or Selected (select contacts in the table). Files for a particular program come from export packages.
A contest log for the organiser (Cabrillo)
The export icon → Contest · Cabrillo… (shown once the log holds contest contacts). Pick the contest — each round on its own — and check the Category against the rules: operators, assisted, band, mode and power in Cabrillo's words (SINGLE-OP, LOW…). qsonaut suggests them from the contacts — one band or ALL, one mode or MIXED, the power written in the contacts. An organiser's own name for the entry (e.g. “A”) goes in Other. Set the sent exchange: number, locator, digits of the number, together or with a space. Under Entrant give your name, e-mail, club and location — “DX” outside the USA and Canada, as CQ, ARRL and IARU contests ask; qsonaut keeps these for every contest and takes the operators for the file from the contacts. The preview shows the header and the first contact; Save .cbr file… proposes a name from the callsign. The settings are remembered for that contest. qsonaut does not score — the organiser does.
QRZ.com and HamQTH
Filling in details
Settings → Callsign directories: click Connect beside a service, enter the user name and password and Connect again — qsonaut checks the login straight away. When you type a callsign, it asks for the name, QTH and locator and fills in only empty fields. Answers are cached.
You can connect both services at once and use the arrows to set which is asked first. When the first does not answer or does not know the callsign, the second is asked; fields left out come from the next. A good pairing: QRZ.com first, HamQTH second — HamQTH is free and usually gives the locator that QRZ.com leaves out without a paid XML subscription.
LoTW, eQSL and QRZ.com — sending and confirmations
The three services work the same way: Log → Confirmations, the service's tab, and two buttons. Send new sends the contacts the service does not have yet; Fetch confirmations marks those it has confirmed (L, e, R in the QSL column). With contacts selected in the Log before the window opens, both work on them (Send selected). What needs your decision — a confirmation with no contact in the log, a contact recorded slightly differently, a duplicate — waits folded under To check.
- A pair is the same call, band and kind of mode (SSB = USB/LSB) within 30 minutes, as in LoTW itself.
- Sent and confirmed contacts are marked on all your devices — nothing goes twice. After an ADIF import what the previous program recorded counts; what it did not, the service recognises as a duplicate.
- A correction that makes it another contact — another call, band, kind of mode, or a time more than 30 minutes off — makes the contact new to the service again: its mark fades and Send new sends it once more. A card marked by hand stays.
Accounts
- LoTW — Settings → Confirmations → LoTW: the login and password of the LoTW website (for fetching). Sending goes through ARRL's TQSL, which signs contacts with your certificate: install it and set up the certificate and station location. qsonaut finds TQSL itself or you choose it in Settings; for a call with no location the window asks which one. The first fetch brings every confirmation, later ones only new ones; from the start fetches them all again when something may have been missed.
- eQSL — Settings → Confirmations → eQSL: the eQSL.cc user and password, a QTH nickname only with several locations.
- QRZ.com — Settings → Confirmations → QRZ.com: the call and the Logbook API key from the logbook's settings on logbook.qrz.com (needs an XML subscription or higher); a /P call has a logbook and key of its own. Send new reads your QRZ logbook first so nothing is sent twice, and To check also lists contacts only in QRZ (Add to log). A few thousand contacts take about a minute.
Confirmations by QSL file
Two stations using qsonaut confirm contacts directly, with no service in between:
- Select contacts → Confirmations → QSL file → Save QSL file… and send the file to the station (e-mail, messenger). With several stations, Save QSL files… writes one file per station into a folder you choose. Confirmations… in a contact's details opens the same window.
- They: Log → Confirmations → QSL file → Load QSL file…, load the file, check the sender, accept the confirmations, then save a reply file.
- You load their reply the same way — matching contacts are confirmed.
The file is signed: the signature protects its content; check the sender through the channel it came by.
WSJT-X, JTDX and MSHV
- In qsonaut: Settings → Radio and programs → WSJT-X · JTDX · MSHV → turn on Receive contacts from WSJT-X.
-
In WSJT-X: Settings → Reporting → UDP Server
127.0.0.1, port2237. JTDX and MSHV have a similar UDP server setting. - Every Log QSO in WSJT-X lands in the log at once, completed with references, equipment and power from the active setup.
224.0.0.1, and the same address in qsonaut (Advanced) and in
GridTracker — both programs get the same contacts.
Radio over CAT
qsonaut reads the band, frequency and mode from the radio over CAT, a USB or RS-232 cable. As you turn the knob or change the mode, the radio bar follows and the next contact takes it. The program only reads: it changes nothing in the radio.
To talk to the radio qsonaut uses Hamlib, a free program that handles CAT for hundreds of radios and that WSJT-X uses too. You install Hamlib yourself, once.
-
Install Hamlib. Windows: the installer from hamlib.github.io, in its default
place. macOS:
brew install hamlib. Linux:sudo apt install libhamlib-utils(Debian, Ubuntu, Mint),sudo dnf install hamlib(Fedora) orsudo pacman -S hamlib(Arch). On Linux also add yourself to thedialoutgroup, so the program may open the radio's port. - In qsonaut: Settings → Radio and programs → Radio · CAT. At the top you see whether qsonaut found Hamlib; if not, it says how to install it on your system. In the list of radios, turn on the CAT switch by your radio.
-
Choose the radio's model (type e.g.
7300and click it in the list), the port (Windows:COM3and so on; macOS:/dev/cu.usbserial…; Linux:/dev/ttyUSB0) and, if the radio needs it, the speed. That is all: qsonaut runs Hamlib for the radio in use by itself and closes it on exit.
- Several radios: each radio in the TRX field has a line in the list with a CAT switch and its state: green “works” (the radio in use) or “connected” (its port is in the computer), amber “not answering” or “port not connected”, grey “by hand”. Clicking the line opens its model, port and speed, and the Check the connection icon connects for a moment to a radio not in use. qsonaut reads the radio picked in TRX on the radio bar when its CAT is on; one switched off keeps its setup, and you type the band. A radio connected to another computer: in the opened line choose Connection: Hamlib on another computer.
- The dot by QRG on the radio bar: green — the radio answers, amber — it does not (the tip on hover says why). Without CAT, QRG says by hand.
-
Only one program at a time can open the radio's port. WSJT-X can read the radio through
qsonaut: in WSJT-X choose Radio: Hamlib NET rigctl and the address given in the
settings (
127.0.0.1:4532by default), and both programs work at once. - A mode you picked by hand stays until the radio changes its own. USB from the radio does not replace a data mode (FT8 and so on), which travels on that sideband.
- Advanced holds only the address qsonaut shares the radio on with other programs; change it when port 4532 is taken.
rigctld -m 1, and in another window
rigctl -m 2 F 7074000 tunes it to 7.074 MHz.
Antenna rotator
The rotator goes through the same Hamlib as the radio. qsonaut reads where the antenna points and turns it to the other station, only when you ask.
- In qsonaut: Settings → Radio and programs → Antenna rotator → turn on Turn the rotator.
-
Choose the controller's model (e.g.
GS-232) and its port. qsonaut runs Hamlib for the rotator by itself. A controller connected to another computer: that rotctld's address under Advanced.
- On the radio bar, beside the antenna, the ROT field shows where the antenna points. Type a bearing in it and press Enter to turn it — no station needed, e.g. for a beacon. The dot beside it: green — the rotator answers, amber — it does not, and its tip says why.
- In the entry, beside the bearing: Turn — the short path, LP — the long one. While it turns there is Stop and the current direction, and once the antenna points at the station — ✓.
- Controllers counting −180…180 and 450° rotators work without setting anything: the program picks the direction the controller accepts and the shortest way round.
rotctld -m 1 is a pretend one that slowly turns to the
direction asked.
Backup
With one computer there is no other device holding your log. A backup then makes itself: Settings → Application → Backup → Choose a folder… — an external disk, a USB stick or a network folder, not this same disk. The setting covers every log on this computer.
- A copy is made within the hour of a change in a log and when qsonaut closes, and Back up now makes one at once. The last 3 copies of each log are kept.
- Beside each copy there is an ADIF file any program opens — even without qsonaut.
- The copy is not encrypted, but it is signed. Check says whether it is intact; a copy changed by hand is refused.
- An unplugged disk does not get in the way — the copy is made a few minutes after it is back. When a copy fails, or a log has had none for a week, Backup appears in the top bar.
On a new computer the log comes back whole: I am recovering a log on the welcome screen, the recovery kit file, Choose the backup folder… (qsonaut finds the newest copy of that log by itself) and the passphrase. The copy alone cannot bring the log back — the recovery kit is needed too, which is why the settings say which log lacks one.
Recovery kit
The computer the log was created on holds its master key — the one that adds and disconnects devices. Settings → Log recovery kit saves that key in a passphrase-protected file (at least 12 characters). Keep the file off the computer, separate from the passphrase.
If you lose that computer, choose I am recovering a log on a new one, point to the kit and enter the passphrase. The contacts come from a backup, from your other devices when they sync, or from an ADIF export — the kit carries the key, not the log. Save it in the backup folder: the save window opens there by itself.
Data and privacy
- The log is in a local database on your computer; Settings → Application data shows where. Passwords and API keys are in the system keychain.
- Callsigns go to QRZ.com or HamQTH only once you set up callsign lookup. Only the contacts you send go to eQSL.cc (without notes), and the eQSL inbox is read only when you click.
- No account, registration or sign-in — not to qsonaut, not to anything else — to log. QRZ.com, LoTW and eQSL accounts are needed only for those services.
- Reading the radio and the rotator through Hamlib stays on your own network.
- Backups go only to the folder you choose.
-
Once a day the program asks
api.qsonaut.appwhether there is a new version — giving only its version number and system. The counts are kept only as totals by version, system and country (Cloudflare derives the country from the IP address; the address is not stored). Turn it off under Settings → New versions. - Switch the interface language in the top bar (PL / EN), and the theme — light, dark or as the system — under Settings → Appearance.
Something missing, or working differently from what is written here? Let me know and I will fix it.