← Back to home

VHF Logger

User guide and setup — VHF/UHF contest logger with aircraft scatter

Logger: zlog.html  ·  This help file: zlog-help.html

1. First-time setup

When you open the logger for the first time, Settings opens automatically. Fill in these fields:

Station identification

FieldExampleEDI fieldDescription
CallsignOZ7ZPCallYour own callsign (upper case)
LocatorJO44VWPWWLoYour Maidenhead locator, 4 or 6 characters
Band144 MHzPBandActive contest band
Category3LPSectNAC section code — updates automatically when you change band (3L/3H = SO Low/High, 4L/4H = MO Low/High on 144 MHz)
Operator NameJens HansenRNameYour name
Emailjens@example.dkREmailYour email address
ClubOZ7ZPClubClub callsign or name
Station ASL (m)50PASLoStation height above sea level in metres

Address (used in EDI submission)

FieldExampleEDI fieldDescription
AddressElmevej 4RAdr1Street address
Post code8000RPoCoPostal code
CityAarhus CRCityCity
Phone+45 12345678RPhonePhone number

Station equipment (used in EDI submission)

FieldExampleEDI fieldDescription
TX EquipmentIC-9700STXEqTransmitter description
RX EquipmentIC-9700SRXEqReceiver description — often the same as TX
Antenna17el YagiSAntAntenna description
Antenna height (m)12SAntHeiAntenna height above ground in metres
Antenna ASL (m)62SAntAslAntenna height above sea level in metres (station ASL + antenna height)
Antenna gain (dBd)14.5SGainAntenna gain in dBd
TX Power (W)100STXPowTransmit power in watts
RemarksRemarksFree-text remarks included in the EDI file
All settings are saved automatically in the browser — you only need to fill them in once.
Don't know your Maidenhead locator? Look it up at levinecentral.com/ham/grid_square.php or search for your address in any QTH locator tool.

2. Logging a QSO

Form mode — step-by-step example

The following example logs a QSO between OZ7Z (your station, JO44VW) and G3YDY (JO01FQ) at 17:15 UTC on 144 MHz:

  1. Dato — leave empty for today, or type 260101 for a specific date. Press Enter.
  2. Tid — leave empty for current UTC, or type 1715. Press Enter.
  3. Call — type G3YDY and press Enter. If G3YDY is in your locator database, the Loc field fills automatically.
  4. RST S — your report to G3YDY. Type 59 (or leave 59 as default) and press Enter.
  5. RST R — G3YDY's report to you. Type 57 and press Enter.
  6. Nr S / Nr R — serial numbers, if enabled. Otherwise skipped.
  7. Loc — type JO01FQ and press Enter. The distance (720 km) is calculated and the QSO is saved.
Duplicates (same callsign logged twice) are marked DUPE and do not count towards the score.

One-liner mode

Enable under Entry mode → One-liner in Settings. Type everything on one line and press Enter. Tokens are order-independent — the logger recognises each by its format.

Important convention: the RST you send (your report to the other station) is marked with an apostrophe ' after it. The RST you receive is written without an apostrophe.

ExampleMeaning
G3YDY JO01FQBoth RST = 59 (default) — minimal entry
G3YDY 59' 57 JO01FQSent 59, received 57, locator JO01FQ
G3YDY 57 JO01FQSent 59 (default), received 57
G3YDY 59' 57 001 JO01FQWith received serial number 001
17:32 G3YDY 57 JO01FQLog with a specific time (17:32 UTC) instead of the current time

Full format: CALL [HH:MM] [SND-RST'] [RCV-RST] [NR] LOCATOR
Locator and callsign are the only required fields — everything else is optional.

Entering a custom time and date (one-liner)

To log a QSO with a time other than the current UTC time, type it in HH:MM format anywhere in the one-liner line — e.g. 17:32 G3YDY 57 JO01FQ. The hint line confirms it is recognised: Tid: 17:32.

To log a QSO with a different date, fill in the small Dato YYMMDD field that appears below the input box (e.g. 260101 for 1 January 2026). Leave it empty to use today's date. The date field is not cleared between QSOs so you can log several QSOs with the same back-dated date without re-typing it. Press F3 to clear the date field together with the input.

Entering a custom time and date (form mode)

Form mode has a Dato YYMMDD field and a Tid UTC field at the start of the form. Both default to the current date and time if left blank. They are cleared automatically after each QSO is saved.

Locator autocomplete in one-liner

When you press Space after a callsign the logger looks it up in the locator database automatically:

The hint line already shows Loc: JO01FQ (DB) while you type — this is a preview. The actual insertion happens when you press Space.

Wildcard callsign lookup

Use ? as a wildcard for a single unknown character in a callsign. Press Space after the partial callsign to search the locator database:

ExampleMatches
G?YDYG3YDY, G4YDY, …
OZ?ZOZ1Z, OZ7Z, …
OZ??ROZ1HR, OZ5YR, …

A picker appears with all matches from the database. Select the correct station — the wildcard token in the input is replaced with the actual callsign and the locator is inserted automatically.

Prefix search also works without wildcards: type OZ7 and press Space to see all database entries beginning with OZ7.

Queuing the next QSO — /n

While logging a QSO you can note one or more upcoming stations using /n CALL anywhere in the line:

ExampleEffect
G3YDY 57 JO01FQ /n G4SWXLogs G3YDY, then pre-fills G4SWX (+ locator if in DB)
G3YDY 57 JO01FQ /n G4SWX /n SM5EPOQueue: G4SWX first, then SM5EPO

The hint line shows the queue as → G4SWX → SM5EPO while you type. After logging:

  1. The first queued callsign is pre-filled (with locator from DB if available).
  2. The remaining /n entries stay in the input so they are passed on when that QSO is logged.
  3. When the last queued QSO is logged the input clears normally.
Press F3 to clear the input and the entire queue at any time.

3. Score

The score is shown continuously in the bar below the top menu:

Worked example

You are OZ7Z (JO44VW) on 144 MHz and have logged three QSOs:

#StationLocatorDistanceWWL square
1G3YDYJO01FQ720 kmJO01
2G4SWXJO02RF630 kmJO02
3SM5EPOJO89WK700 kmJO89

Score calculation:

KM pts  = 720 + 630 + 700 = 2050
WWL     = 3 unique squares × 500 = 1500
Total   = (2050 + 1500) × 1 = 3550

The band multiplier is ×1 for 144 MHz. Microwave bands get a higher multiplier:

BandMultiplier
50–1296 MHz×1
2.3 GHz×2
3.4 GHz×3
5.7 GHz×4
10 GHz×5
24 GHz+×6–×10

4. EDI export

Click ↓ EDI to download your contest log in REG1TEST format (Tucnak-compatible). The file can be uploaded directly to vushf.dk.

Filename: OZ7Z_144MHz_260506.edi

Example of what the exported file looks like:

[REG1TEST;1]
TName=NAC 144 MHz
TDate=260506;260506
PCall=OZ7Z
PWWLo=JO44VW
PBand=144 MHz
PSect=3L
RName=Jens Hansen
REmail=jens@example.dk
[QSORecords;3]
260506;1715;G3YDY;1;59;001;57;001;JO01FQ;720
260506;1732;G4SWX;1;59;002;59;003;JO02RF;630
260506;1801;SM5EPO;1;59;003;59;007;JO89WK;700

Each QSO line: date ; time ; call ; mode ; RST-sent ; nr-sent ; RST-rcvd ; nr-rcvd ; locator ; distance-km

5. Locator database

Import a text file with known stations for callsign autocomplete. One station per line:

G3YDY;JO01FQ
G4SWX;JO02RF
SM5EPO;JO89WK
OZ7Z;JO44VW;Allan

Supported formats:

A callsign may appear more than once with different locators (e.g. a portable station at different QTH). If there are two or more locators for the same call, a picker appears when you press Space in the one-liner or leave the Callsign field in form mode.

Click 📂 Load locator file in Settings. The database is stored in the browser and merged with any new file you load.

6. Aircraft scatter

Aircraft scatter allows VHF/UHF QSOs over long distances via reflection from aircraft. Flight data is fetched via vushf.dk as a proxy — it tries airscatter.dk first and automatically falls back to OpenSky Network if airscatter.dk is unavailable. The active source is shown in the info bar below the map: 42 aircraft · airscatter.dk or 42 aircraft · OpenSky.

Adding stations to the Watchlist

Open ⚙ Settings and scroll down to the Watchlist section. It contains 20 rows. Each row has two fields:

Type directly into the fields; they save automatically as you type. Leave unused rows blank. Close Settings when done — the Watchlist tab updates immediately.

Example of a filled-in Watchlist:

#Kald (callsign)Lok (locator)
1G3YDYJO01FQ
2G4SWXJO02RF
3SM5EPOJO89WK
4DL3YEEJN58SG
5(blank)(blank)

Getting started with scatter

  1. Click ✈ Planes in the top bar — aircraft within the search radius are now fetched every 10 seconds.
  2. Open the Watchlist tab in the left panel.
  3. Tick the checkboxes next to the stations you want to check scatter against. Use the header checkbox to select all at once.
  4. The logger automatically shows which aircraft are in scatter position and when the next one arrives.

What does the watchlist show?

DisplayMeaning
G3YDY ✈ (12)Aircraft in scatter position now — approx. 12 minutes remaining
G4SWX (5)No current scatter, but next aircraft arrives in approximately 5 minutes
SM5EPONo scatter or incoming aircraft detected
(faded / strikethrough)Station already logged as a QSO

Scatter parameters

The scatter corridor angle and minimum aircraft distance are set automatically based on the selected band. You can adjust them manually in Settings:

ParameterDescription
Scatter angle (°)Width of the scatter corridor. Narrower at higher frequencies (e.g. 2° on 10 GHz, 5° on 144 MHz).
Plane range (km)Maximum search radius for aircraft — default 400 km
Min plane dist (km)Aircraft closer than this are ignored (within line-of-sight) — default 130 km

Map overlays

7. ON4KST chat

The logger has a built-in client for the ON4KST VHF chat network. Use it to arrange skeds with other operators during a contest.

Connecting

  1. Click the KST tab in the top-left panel.
  2. Enter your callsign, password and the channel you want to join (e.g. 144 for the 144 MHz room).
  3. Click Connect — incoming messages appear in the chat window.
  4. Type a message in the input box at the bottom and press Enter to send.
  5. Click Disconnect to log out.
You need an ON4KST account to use the chat. Register at on4kst.org.

Right-click — scatter sked from Watchlist

When a station in the Watchlist tab is also online on KST it shows a ·KST badge next to its callsign. Right-click the callsign to open a context menu with a pre-filled scatter sked message. Example:

G3YDY pls sked on 144.300 AP in 8 min

The frequency is taken from your active band and the time is the current scatter ETA. Edit the message if needed and press Enter to send it.

Online tab — all logged-in users

The Online tab (tab 4) shows all stations currently logged into the KST channel. Click Fetch active users to refresh the list. The list is filtered by distance — only stations within the configured maximum (default 1000 km) are shown.

BadgeMeaning
·WLStation is in your Watchlist
·MEYour own callsign

Right-click any callsign in the Online list to send a CQ message pre-filled as /cq G3YDY.

8. Layout

9. Keyboard shortcuts

KeyAction
EnterMove to next field / save QSO
SpaceOne-liner: look up locator from database after callsign (or wildcard)
/ Navigate callsign/locator picker
EnterSelect highlighted entry in picker
EscClose picker / cancel autocomplete
F3Clear QSO entry and date field (works in both modes)
F3 works regardless of which field has focus — useful for abandoning a QSO in progress without touching the mouse.

10. Data and backup

The log is saved automatically in the browser's localStorage after every QSO — it survives browser restarts. Data is not deleted when the page is refreshed.

Important: Clear log permanently deletes all QSOs. Download the EDI file before clearing.

To move your log to another computer: use the browser DevTools (F12 → Application → Local Storage) and copy the keys zlog_log and zlog_settings.