Blog

  • Winlink on Apple Silicon: The Files, Scripts and One-Click Launcher

    Winlink on Apple Silicon: The Files, Scripts and One-Click Launcher

    1. Step by step – 1st Class
    2. Step-by-Step – 2nd Class
    3. Amateur Radio Codes of Conduct
    4. Step-by-Step – 3rd Class
    5. Step-by-Step – Class 4a
    6. Step-by-Step – Classes 4b & 4c
    7. Step-by-Step—Class 5
    8. Step-by-Step—Class 6
    9. Step-by-Step—Class 7
    10. Step-by-Step—Class 8a
    11. Step-by-Step—Class 8b
    12. Step-by-Step—Class 9
    13. Step-by-step—Class 11
    14. Step-by-Step—Class 10
    15. A Modern Code of Conduct and Ethics for Amateur Radio
    16. Step-by-step—Class 12
    17. Step-by-step—Class 13
    18. Step-by-step—Class 14
    19. Step-by-step—Class 15
    20. Step-by-step—Class 16
    21. Step-by-step—Class 17
    22. Reflection: My Amateur Radio Journey So Far
    23. Authorized to Transmit
    24. Starting the Next Chapter: Advanced & CW
    25. Making Winlink, Pat, ARDOP and a Yaesu FTdx10 Work on an Apple Silicon Mac
    26. Winlink on Apple Silicon: The Files, Scripts and One-Click Launcher

    In my previous post, I told the story of getting Winlink, Pat, ARDOP and my Yaesu FTDX10 working reliably on an Apple Silicon Mac.

    That post was about the journey: the false starts, the serial-port detective work, the PTT problem, the ARDOP audio problem, the first successful RMS connection, and the eventual realization that the cleanest architecture was much simpler than the one I started with.

    This post is the practical companion.

    If you want to build something similar, this is where I’m putting the pieces together in one place: the launcher, the shell scripts, the Core Location/GPS bridge, and the configuration details that made the whole thing work.

    A quick warning before we start: do not blindly copy my device names and assume they will match yours. The FTdx10 serial ports on your Mac will almost certainly have different names. Treat the files here as a working template, not a universal drop-in installer.

    What this setup does

    My finished launcher brings up the entire Winlink station in one go.

    The architecture looks like this:

    macOS Core Location
            ↓
    CoreLocationCLI
            ↓
    NMEA generator
            ↓
    socat pseudo-terminal
            ↓
    gpsd
            ↓
    Pat
            │
            ├── rigctld ── CAT ── FTDX10 Enhanced COM
            │
            └── ardopcf ── RTS ── FTDX10 Standard COM
                           │
                           └── USB AUDIO CODEC

    The FTdx10’s USB interface exposes two virtual COM ports, and that is what makes this arrangement so clean. Yaesu assigns the Enhanced COM Port to CAT communications and the Standard COM Port to transmit control, such as PTT and digital operation.

    In my installation:

    /dev/cu.usbserial-00F490390

    is the Enhanced CAT port, while:

    /dev/cu.usbserial-00F490391

    is the Standard TX-control port.

    Your names will be different.

    Required software

    The setup assumes the following are installed:

    Pat
    Hamlib
    ardopcf
    CoreLocationCLI
    gpsd
    socat

    On my machine, Homebrew handles most of the supporting utilities:

    brew install hamlib
    brew install corelocationcli
    brew install gpsd
    brew install socat

    Pat and ardopcf need to be installed separately according to their respective project instructions.

    You can confirm that Hamlib recognizes the FTdx10 with:

    rigctl -l | grep -i FTDX10

    My installation reports:

    1042  Yaesu  FTDX-10  Stable

    Finding your FTdx10 serial ports

    Start with:

    ls /dev/cu.* /dev/tty.* | grep -Ei 'usb|serial'

    You should see two serial devices associated with the FTdx10.

    To identify the Enhanced CAT port, test each candidate with:

    rigctl \
      -m 1042 \
      -r /dev/cu.YOURPORT \
      -s 38400

    At the Rig command: prompt, enter:

    f

    If Hamlib returns the radio’s current frequency, you have found the CAT port.

    On my Mac, that test returned:

    Frequency: 14009914

    which matched the frequency displayed on the radio and confirmed that /dev/cu.usbserial-00F490390 was the correct CAT device.

    The remaining FTdx10 USB serial device is then the Standard TX‑control port.

    The radio setting that matters

    On the FTdx10, PTT must be configured so that the USB virtual COM port can control transmit.

    The relevant setting is:

    RPTT SELECT

    and for my installation it is set to:

    RTS

    Yaesu documents RTS/DTR as the USB virtual-COM transmit-control option for digital operation.

    Pat configuration

    Pat uses rigctld for tuning and ardopcf for the modem.

    The important Hamlib section of my Pat configuration is:

    "hamlib_rigs": {
      "FTdx10": {
        "network": "tcp",
        "address": "127.0.0.1:4532",
        "VFO": ""
      }
    }

    The ARDOP section is:

    "ardop": {
      "addr": "127.0.0.1:8515",
      "arq_bandwidth": {
        "Forced": false,
        "Max": 2000
      },
      "connect_requests": 10,
      "rig": "FTdx10",
      "ptt_ctrl": false,
      "beacon_interval": 0,
      "cwid_enabled": true
    }

    The important detail is:

    "ptt_ctrl": false

    Pat is not responsible for PTT in this setup.

    ardopcf owns the Standard USB serial port and uses RTS directly.

    That division of labour is what finally made the setup reliable.

    Starting rigctld

    The working Hamlib command is:

    rigctld \
      -m 1042 \
      -r /dev/cu.usbserial-00F490390 \
      -s 38400 \
      -T 127.0.0.1 \
      -t 4532

    That gives Pat a network-accessible CAT interface at:

    127.0.0.1:4532

    Starting ARDOP

    This is the working ardopcf command on my station:

    build/macos/ardopcf \
      -p /dev/cu.usbserial-00F490391 \
      --hostcommands "MYCALL VE3ZDN;DRIVELEVEL 2" \
      8515 \
      "USB AUDIO  CODEC" \
      "USB AUDIO  CODEC"

    A few notes are worth calling out.

    First, -p assigns the Standard serial port to PTT using RTS.

    Second, I explicitly set:

    MYCALL VE3ZDN

    and:

    DRIVELEVEL 2

    at startup.

    Third, the FTdx10 USB audio device on my Mac appears as:

    USB AUDIO  CODEC

    with two spaces between AUDIO and CODEC.

    That detail caused more head-scratching than it deserved.

    Your audio device name may differ.

    The Core Location to GPSd bridge

    Pat can use GPSd to update its locator automatically.

    The Mac does not expose Core Location as a conventional serial GPS receiver, so I added a small bridge.

    The flow is:

    CoreLocationCLI
          ↓
    Python NMEA generator
          ↓
    socat PTY pair
          ↓
    gpsd
          ↓
    Pat

    The Python script is called:

    ~/bin/corelocation-nmea

    and looks like this:

    #!/usr/bin/env python3
    
    import json
    import subprocess
    import time
    import datetime
    import sys
    
    
    def checksum(sentence):
        c = 0
        for ch in sentence:
            c ^= ord(ch)
        return f"{c:02X}"
    
    
    def dd_to_nmea(value, is_lat):
        value = float(value)
    
        hemi = (
            ("N" if value >= 0 else "S")
            if is_lat
            else ("E" if value >= 0 else "W")
        )
    
        value = abs(value)
    
        deg = int(value)
        minutes = (value - deg) * 60
    
        if is_lat:
            field = f"{deg:02d}{minutes:07.4f}"
        else:
            field = f"{deg:03d}{minutes:07.4f}"
    
        return field, hemi
    
    
    def emit(sentence):
        full = f"${sentence}*{checksum(sentence)}"
        print(full, flush=True)
    
    
    while True:
        try:
            result = subprocess.run(
                ["CoreLocationCLI", "--json"],
                capture_output=True,
                text=True,
                check=True,
                timeout=10
            )
    
            data = json.loads(result.stdout)
    
            lat, ns = dd_to_nmea(data["latitude"], True)
            lon, ew = dd_to_nmea(data["longitude"], False)
    
            now = datetime.datetime.now(datetime.timezone.utc)
    
            hhmmss = now.strftime("%H%M%S")
            ddmmyy = now.strftime("%d%m%y")
    
            rmc = (
                f"GPRMC,{hhmmss}.00,A,"
                f"{lat},{ns},{lon},{ew},"
                f"0.0,0.0,{ddmmyy},,,A"
            )
    
            emit(rmc)
    
            gga = (
                f"GPGGA,{hhmmss}.00,"
                f"{lat},{ns},{lon},{ew},"
                f"1,08,1.0,0.0,M,0.0,M,,"
            )
    
            emit(gga)
    
        except Exception as e:
            print(
                f"# CoreLocation error: {e}",
                file=sys.stderr,
                flush=True
            )
    
        time.sleep(2)

    I create the pseudo-terminal pair with socat, feed the NMEA output into one side, and give the other side to real gpsd.

    Pat is configured with:

    "gpsd": {
      "enable_http": false,
      "allow_forms": false,
      "use_server_time": false,
      "update_locator": true,
      "addr": "127.0.0.1:2947"
    }

    When everything is working, Pat logs something like:

    Locator changed from EN93tj to EN93TJ

    which confirms that it has accepted the live position from GPSd.

    The one-click launcher

    I wrapped everything in a small AppleScript application called:

    Winlink ARDOP.app

    The AppleScript itself is intentionally simple:

    set choice to button returned of (display dialog ¬
        "Winlink ARDOP station control" buttons {"Cancel", "Stop", "Start"} ¬
        default button "Start" with title "Winlink ARDOP")
    
    if choice is "Start" then
    
        display notification "Starting Winlink ARDOP station…" ¬
            with title "Winlink ARDOP"
    
        do shell script "/bin/zsh -lc '$HOME/bin/start-winlink-ardop' 2>&1"
    
        display dialog "Winlink ARDOP startup completed." ¬
            buttons {"OK"} default button "OK" ¬
            with title "Winlink ARDOP"
    
    else if choice is "Stop" then
    
        display notification "Stopping Winlink ARDOP station…" ¬
            with title "Winlink ARDOP"
    
        do shell script "/bin/zsh -lc '$HOME/bin/stop-winlink-ardop' 2>&1"
    
        display dialog "Winlink ARDOP station shut down." ¬
            buttons {"OK"} default button "OK" ¬
            with title "Winlink ARDOP"
    
    end if

    The application is really just a friendly wrapper around:

    ~/bin/start-winlink-ardop

    and:

    ~/bin/stop-winlink-ardop

    That means the logic stays in ordinary shell scripts where it is easy to inspect and troubleshoot.

    What the startup script does

    The startup script:

    • verifies the required programs are installed;
    • verifies both FTDX10 serial devices exist;
    • creates the GPS pseudo-terminal pair;
    • starts the Core Location NMEA generator;
    • starts GPSd;
    • starts rigctld;
    • checks that CAT can actually read the FTDX10 frequency;
    • starts ardopcf;
    • opens both USB audio channels;
    • enables RTS PTT;
    • sets my callsign and TX drive level;
    • starts Pat;
    • waits for the required TCP ports to come up;
    • opens the ARDOP and Pat browser interfaces;
    • writes logs for troubleshooting.

    The shutdown script stops everything in reverse order and cleans up the GPS pseudo-terminal links.

    That last point is important.

    During development, I discovered that stale Pat or ARDOP processes could leave things in a strange state. A clean shutdown and restart usually restored normal operation immediately.

    For that reason, I prefer the launcher to own the whole stack rather than casually reusing old processes.

    Logging

    The launcher writes its logs to:

    ~/winlink-launcher-logs

    including:

    pat.log
    ardopcf.log
    rigctld.log
    gpsd.log
    corelocation-nmea.log
    socat-gps.log

    These logs are extremely useful.

    For example, this:

    Mod4FSKDataAndPlay() called when not TXEnabled. Ignoring.

    tells a very different story from:

    Sending Frame Type ConReq2000M

    and once you start seeing things such as:

    DataACK
    BREAK
    4FSK...

    you are looking at real two-way ARDOP traffic.

    Download files

    I’m making the following files available with this post:

    start-winlink-ardop
    stop-winlink-ardop
    corelocation-nmea
    Winlink ARDOP AppleScript source
    sample Pat configuration

    I recommend reading through every script before running it.

    At minimum, you will need to change:

    callsign
    CAT serial device
    PTT serial device
    audio device name

    and possibly:

    CAT baud rate
    ARDOP drive level
    paths to Pat and ardopcf

    depending on your installation.

    A few final cautions

    This setup works on my FTdx10 and my Apple Silicon Mac.

    It is not a turnkey universal installer.

    In particular, do not assume my:

    DRIVELEVEL 2

    is correct for your radio.

    Set transmit audio conservatively and verify that you are not overdriving the transmitter.

    Also remember that successful software configuration does not guarantee a successful RMS connection.

    My first confirmed connection was to K5RAV, about 2,500 km away.

    A later successful connection was to N0DAJ, about 3,000 km away.

    Several much closer stations failed simply because 20-metre propagation favoured the longer paths at the time.

    Once you know the radio is really transmitting valid ARDOP frames, start considering propagation before tearing your software apart again.

    That lesson would have saved me several hours.

    Final result

    At this point, I can click one icon, press Start, and end up with:

    live Mac location
    GPSd
    Pat
    rigctld
    ARDOP
    FTDX10 CAT control
    FTDX10 RTS PTT
    USB modem audio

    all running together.

    And most importantly, I’ve connected successfully to multiple Winlink RMS stations over HF.

    If this collection of scripts saves another Mac user even half the time I spent figuring it out, publishing them will have been worthwhile.

    73,

    Doug Nix, VE3ZDN
    Kitchener, Ontario
    EN93tj

  • Making Winlink, Pat, ARDOP and a Yaesu FTdx10 Work on an Apple Silicon Mac

    Making Winlink, Pat, ARDOP and a Yaesu FTdx10 Work on an Apple Silicon Mac

    1. Step by step – 1st Class
    2. Step-by-Step – 2nd Class
    3. Amateur Radio Codes of Conduct
    4. Step-by-Step – 3rd Class
    5. Step-by-Step – Class 4a
    6. Step-by-Step – Classes 4b & 4c
    7. Step-by-Step—Class 5
    8. Step-by-Step—Class 6
    9. Step-by-Step—Class 7
    10. Step-by-Step—Class 8a
    11. Step-by-Step—Class 8b
    12. Step-by-Step—Class 9
    13. Step-by-step—Class 11
    14. Step-by-Step—Class 10
    15. A Modern Code of Conduct and Ethics for Amateur Radio
    16. Step-by-step—Class 12
    17. Step-by-step—Class 13
    18. Step-by-step—Class 14
    19. Step-by-step—Class 15
    20. Step-by-step—Class 16
    21. Step-by-step—Class 17
    22. Reflection: My Amateur Radio Journey So Far
    23. Authorized to Transmit
    24. Starting the Next Chapter: Advanced & CW
    25. Making Winlink, Pat, ARDOP and a Yaesu FTdx10 Work on an Apple Silicon Mac
    26. Winlink on Apple Silicon: The Files, Scripts and One-Click Launcher

    Or: How I finally sent Winlink mail from my Mac

    Hey, what’s this Winlink thing?

    That innocent question cost me rather more time than I expected.

    I’m an amateur radio operator, VE3ZDN, and one of the things I’ve been gradually assembling is a useful emergency/digital communications toolkit. I already use modes such as WSPR, JS8Call and fldigi, and I wanted to add Winlink to the mix.

    Winlink is essentially a worldwide radio email system. A station can connect over RF to an RMS — a Radio Message Server — and exchange email even when ordinary Internet access isn’t available. That makes it particularly interesting for emergency communications.

    At least, that’s the theory.

    I wanted to do it from my M1 MacBook Air, using my Yaesu FTdx10, preferably without dedicating a Windows computer to the job.

    What followed was several days of serial ports, audio devices, CAT commands, ARDOP frames, propagation experiments, bugs, false starts, and more than one moment when I came perilously close to deciding that Winlink simply wasn’t worth the trouble.

    And then it worked.

    Twice.

    And now I have a one-click Mac launcher that brings up the entire station, controls the FTdx10, starts the ARDOP modem, obtains my current Mac location and feeds it into Pat through GPSd, and opens the interfaces I need.

    This post documents the whole adventure.


    The station

    My relevant hardware and software are:

    • Apple Silicon MacBook Air, which I call Timnit
    • macOS 26.6.2
    • Yaesu FTdx10
    • 20 m inverted-V dipole at 5 m
    • USB connection directly between Mac and radio
    • Pat, the open-source Winlink client
    • ardopcf, the ARDOP modem
    • Hamlib 4.7.2
    • rigctld
    • CoreLocationCLI
    • gpsd
    • socat

    My callsign is VE3ZDN.

    The FTdx10 turns out to be particularly well suited to this because its USB interface actually exposes two virtual serial ports.

    Yaesu describes them this way:

    • Enhanced COM Port: CAT communication — frequency and mode control
    • Standard COM Port: transmit control — PTT, CW keying and digital operation

    That seemingly minor fact turned out to be the key to the whole installation.


    Attempt number one: MacWinlink

    My first instinct was the obvious one: install MacWinlink.

    That led me into Wine, WoW64, helper applications and beta releases. I was working with a beta MacWinlink release and its helper application, and at one point discovered that the Wine prefix was missing its syswow64 environment.

    I filed a bug report with the developer, John, and he was already working on another beta.

    I still hope MacWinlink develops into a great native-feeling solution. But for my purposes — particularly because Winlink is supposed to be part of an emergency communications toolkit — I needed something I could understand and troubleshoot all the way down.

    So I moved sideways.


    Enter Pat

    Pat is an open-source Winlink client written in Go. It runs nicely on macOS and exposes a browser-based interface.

    That immediately appealed to me.

    The basic idea is straightforward:

    Pat
     ↓
    ARDOP modem
     ↓
    radio
     ↓
    RMS Winlink station

    Except that the computer also needs to:

    1. tune the radio to the RMS frequency;
    2. key the transmitter;
    3. send and receive modem audio.

    Those are three distinct jobs.

    My initial configuration used flrig as part of the CAT-control chain. It worked something like:

    Pat
     ↓
    rigctld
     ↓
    flrig
     ↓
    FTDX10

    Meanwhile, ardopcf handled the modem audio.

    This nearly worked.

    And “nearly works” is one of the more dangerous phrases in technical troubleshooting.


    The first big breakthrough: flrig wasn’t necessary

    I eventually came across Carl Howe, WG1V’s excellent post about running Winlink and Pat on an M1 Mac.

    Something in it made me stop.

    Why was I using flrig at all?

    Hamlib’s rigctld can talk directly to a supported transceiver. My installed Hamlib version confirmed that the FTDX10 has a stable backend:

    1042  Yaesu  FTDX-10  Stable

    My Mac exposed two serial devices:

    /dev/cu.usbserial-00F490390
    /dev/cu.usbserial-00F490391

    So I tried this:

    rigctl -m 1042 \
      -r /dev/cu.usbserial-00F490390 \
      -s 38400

    At the Rig command: prompt, I entered:

    f

    The answer:

    Frequency: 14009914

    Bingo.

    Hamlib was talking directly to the FTDX10. The test and the Hamlib model identification are captured in my troubleshooting log.

    No flrig.

    Next I started rigctld:

    rigctld \
      -m 1042 \
      -r /dev/cu.usbserial-00F490390 \
      -s 38400 \
      -T 127.0.0.1 \
      -t 4532

    Hamlib opened the FTdx10 successfully on model 1042 and the serial device above.

    Pat could now talk to:

    127.0.0.1:4532

    and tune the radio directly.

    That eliminated an entire layer of software.

    The new architecture was:

    Pat
     ↓
    rigctld
     ↓
    FTDX10

    Much better.


    But it still wouldn’t transmit

    Pat would tune the Yaesu correctly.

    I would select an RMS station and see:

    QSY ardop: 14102.3
    Connecting to WG0A-10 (ardop)...
    Unable to establish connection to remote: Connect timeout

    But the FTdx10 never went into transmit.

    At first I suspected CAT PTT.

    We tested Hamlib manually:

    rigctl -m 2 -r 127.0.0.1:4532

    Then:

    T 1

    The Yaesu transmitted.

    Then:

    T 0

    It returned to receive.

    So Hamlib could key the radio perfectly.

    Pat simply wasn’t doing it.

    The Pat configuration said:

    "rig": "FTdx10",
    "ptt_ctrl": true

    but verbose rigctld logging showed frequency commands and no PTT request at all.

    That sent me looking for another approach.


    The second serial port

    This is where the FTdx10 design suddenly made enormous sense.

    The Yaesu manual says that the USB bridge presents two ports, specifically so that CAT communication and TX control can be performed independently.

    We had already established that:

    /dev/cu.usbserial-00F490390

    was the Enhanced CAT port.

    Therefore:

    /dev/cu.usbserial-00F490391

    was the Standard TX-control port.

    Rather than asking Pat to key the transmitter through Hamlib, I could let ARDOP control PTT itself using RTS.

    The FTdx10 provides exactly that option. Its RTTY/data settings allow the USB virtual COM RTS or DTR lines to control transmit.

    My radio was configured for RTS.

    So ardopcf could be started with:

    -p /dev/cu.usbserial-00F490391

    and it reported:

    Port /dev/cu.usbserial-00F490391 opened
    Using RTS on port /dev/cu.usbserial-00F490391 for PTT

    Great.

    Except the radio still didn’t transmit.


    “Not TXEnabled”

    The ARDOP log contained the clue:

    Mod4FSKDataAndPlay() called when not TXEnabled. Ignoring.

    Over and over.

    The PTT configuration wasn’t actually the problem.

    I opened the ARDOP WebGUI, and suddenly the problem became obvious.

    PTT was enabled.

    But:

    RX Audio Device: NONE
    TX Audio Device: NONE

    ARDOP wasn’t refusing to transmit because it couldn’t key the radio.

    It was refusing because it had no transmit audio device.

    Some days, debugging feels less like engineering and more like being mocked by a very literal genie.


    Explicitly configuring the USB audio

    The FTdx10 appears to macOS as:

    USB AUDIO  CODEC

    and that name contains two spaces between AUDIO and CODEC.

    That detail matters.

    I started ARDOP with the audio devices explicitly specified:

    build/macos/ardopcf \
      -p /dev/cu.usbserial-00F490391 \
      --hostcommands "MYCALL VE3ZDN;DRIVELEVEL 2" \
      8515 \
      "USB AUDIO  CODEC" \
      "USB AUDIO  CODEC"

    The ARDOP WebGUI now showed:

    RXAudio: ENABLED
    TXAudio: ENABLED
    PTTControl: ENABLED

    Now I pressed Send2Tone.

    The FTDX10 keyed.

    There may have been cheering.


    Pat gets out of the PTT business

    Once ARDOP had reliable RTS control, Pat no longer needed to handle PTT.

    So my Pat configuration became:

    "ardop": {
      "addr": "127.0.0.1:8515",
      "rig": "FTdx10",
      "ptt_ctrl": false
    }

    while the Hamlib rig remained:

    "hamlib_rigs": {
      "FTdx10": {
        "network": "tcp",
        "address": "127.0.0.1:4532",
        "VFO": ""
      }
    }

    That produced a wonderfully clean separation of responsibilities:

                        ┌── rigctld ── Enhanced USB serial ── CAT       |
    Pat ────────────────┤

    └── ardopcf ── Standard USB serial ── RTS/PTT

    └── USB AUDIO CODEC ── audio

    That remains my working configuration.


    And then… propagation

    By this point ARDOP was transmitting real connection frames:

    Sending Frame Type ConReq500M

    but RMS stations still weren’t answering.

    That was frustrating because I had spent so long assuming every failed connection meant the software stack was broken.

    Eventually the evidence began pointing somewhere else:

    the ionosphere.

    I looked at the morning WSPR reports.

    Stations around southern Ontario were making strong 20-metre paths of 2,000–3,000 km and farther, while many of the nearest RMS stations were only a few hundred kilometres away.

    That suggested a skip zone.

    Instead of repeatedly trying the closest gateways, I started selecting RMS stations around 2,000–3,000 km away.

    And then:

    2026/08/29 08:26:16 Connecting to K5RAV (ardop)...
    
    2026/08/29 08:26:35 Connected to K5RAV (ardop)

    Wait–what‽ YES!

    K5RAV was roughly 2,478 km away in Harlingen, TX.

    A little later, I connected successfully to N0DAJ, roughly 2,978 km away in Wickenburg, AZ.

    After days of wondering whether Winlink actually worked from this station, I had two successful ARDOP RMS connections.

    The difference was propagation, not software.

    That lesson alone was worth remembering:

    Once you have confirmed that the radio is actually transmitting valid ARDOP frames, a failed connection is no longer necessarily a configuration problem.

    Sometimes the ionosphere is just being the ionosphere.


    Making it one click

    Once everything worked, the obvious next question was:

    Can I make all of this start automatically?

    I already had an AppleScript application:

    /Applications/Winlink ARDOP.app

    Its job was simply to display three buttons:

    Cancel
    Stop
    Start

    and call:

    ~/bin/start-winlink-ardop

    or:

    ~/bin/stop-winlink-ardop

    That was perfect. I didn’t need to rebuild the application.

    I only needed to replace the shell scripts behind it.

    The launcher now:

    1. checks that the required software exists;
    2. checks both FTdx10 serial devices;
    3. starts rigctld;
    4. verifies that CAT can read the radio frequency;
    5. starts ardopcf;
    6. assigns the Standard serial port to RTS PTT;
    7. opens the FTdx10 USB audio device;
    8. sets my callsign;
    9. sets ARDOP TX DriveLevel to 2;
    10. starts Pat;
    11. opens the ARDOP and Pat browser interfaces.

    And then I decided that wasn’t quite ridiculous enough.

    So I added GPS.


    Wait — my Mac knows where it is

    Pat can automatically send position reports through Winlink.

    I received this acknowledgement:

    Subject: Position Report Acknowledgement
    
    The following position report for VE3ZDN has been entered.
    
    Latitude: 43-24.41N
    Longitude: 080-24.44W
    Comment: EN93tj

    But the report contained an old stored position.

    My Mac knows where it is through Apple’s Core Location framework.

    Could Pat use that?

    Not directly.

    Pat understands GPSd.

    So naturally, the final architecture became:

    macOS Core Location
            ↓
    CoreLocationCLI
            ↓
    NMEA generator
            ↓
    socat pseudo-terminal
            ↓
    real gpsd
            ↓
    Pat

    Because apparently this project needed one more layer.


    Core Location to NMEA1

    I installed:

    brew install corelocationcli
    brew install gpsd
    brew install socat

    CoreLocationCLI --json produced a live location fix from macOS.

    I then wrote a small Python program called:

    ~/bin/corelocation-nmea

    It takes the Core Location coordinates and continuously generates standard NMEA RMC and GGA sentences.

    Here is the code:

    #!/usr/bin/env python3
    
    import json
    import subprocess
    import time
    import datetime
    import sys
    
    
    def checksum(sentence):
        c = 0
        for ch in sentence:
            c ^= ord(ch)
        return f"{c:02X}"
    
    
    def dd_to_nmea(value, is_lat):
        value = float(value)
    
        hemi = (
            ("N" if value >= 0 else "S")
            if is_lat
            else ("E" if value >= 0 else "W")
        )
    
        value = abs(value)
    
        deg = int(value)
        minutes = (value - deg) * 60
    
        if is_lat:
            field = f"{deg:02d}{minutes:07.4f}"
        else:
            field = f"{deg:03d}{minutes:07.4f}"
    
        return field, hemi
    
    
    def emit(sentence):
        full = f"${sentence}*{checksum(sentence)}"
        print(full, flush=True)
    
    
    while True:
        try:
            result = subprocess.run(
                ["CoreLocationCLI", "--json"],
                capture_output=True,
                text=True,
                check=True,
                timeout=10
            )
    
            data = json.loads(result.stdout)
    
            lat, ns = dd_to_nmea(data["latitude"], True)
            lon, ew = dd_to_nmea(data["longitude"], False)
    
            now = datetime.datetime.now(datetime.timezone.utc)
    
            hhmmss = now.strftime("%H%M%S")
            ddmmyy = now.strftime("%d%m%y")
    
            rmc = (
                f"GPRMC,{hhmmss}.00,A,"
                f"{lat},{ns},{lon},{ew},"
                f"0.0,0.0,{ddmmyy},,,A"
            )
    
            emit(rmc)
    
            gga = (
                f"GPGGA,{hhmmss}.00,"
                f"{lat},{ns},{lon},{ew},"
                f"1,08,1.0,0.0,M,0.0,M,,"
            )
    
            emit(gga)
    
        except Exception as e:
            print(
                f"# CoreLocation error: {e}",
                file=sys.stderr,
                flush=True
            )
    
        time.sleep(2)

    socat creates a pair of pseudo-serial devices. The Python program writes NMEA to one end, while real gpsd reads the other.

    Eventually:

    gpspipe -w -n 5

    returned:

    {"class":"VERSION","release":"3.27.5",...}

    followed by a genuine GPSd TPV report containing my current latitude and longitude.

    Pat then logged:

    Locator changed from EN93tj to EN93TJ

    Success.

    Pat was consuming the Mac’s current Core Location fix through a real GPSd server.


    The finished launcher

    My AppleScript application itself is deliberately boring:

    set choice to button returned of (display dialog ¬
        "Winlink ARDOP station control" buttons {"Cancel", "Stop", "Start"} ¬
        default button "Start" with title "Winlink ARDOP")
    
    if choice is "Start" then
    
        display notification "Starting Winlink ARDOP station…" ¬
            with title "Winlink ARDOP"
    
        do shell script "/bin/zsh -lc '$HOME/bin/start-winlink-ardop' 2>&1"
    
        display dialog "Winlink ARDOP startup completed." ¬
            buttons {"OK"} default button "OK" ¬
            with title "Winlink ARDOP"
    
    else if choice is "Stop" then
    
        display notification "Stopping Winlink ARDOP station…" ¬
            with title "Winlink ARDOP"
    
        do shell script "/bin/zsh -lc '$HOME/bin/stop-winlink-ardop' 2>&1"
    
        display dialog "Winlink ARDOP station shut down." ¬
            buttons {"OK"} default button "OK" ¬
            with title "Winlink ARDOP"
    
    end if

    The interesting part is in the startup script.

    The important radio-specific portion is:

    CAT_PORT="/dev/cu.usbserial-00F490390"
    PTT_PORT="/dev/cu.usbserial-00F490391"
    
    RIGCTLD_PORT=4532
    ARDOP_PORT=8515
    PAT_PORT=8080

    CAT starts as:

    rigctld \
        -m 1042 \
        -r "$CAT_PORT" \
        -s 38400 \
        -T 127.0.0.1 \
        -t "$RIGCTLD_PORT"

    ARDOP starts as:

    build/macos/ardopcf \
        -p "$PTT_PORT" \
        --hostcommands "MYCALL VE3ZDN;DRIVELEVEL 2" \
        8515 \
        "USB AUDIO  CODEC" \
        "USB AUDIO  CODEC"

    and Pat simply starts with:

    pat http

    The final launcher also starts the Core Location → NMEA → GPSd stack before Pat.

    I’ll provide the complete scripts with this post so anyone attempting the same setup can use them as a starting point rather than reconstructing them from snippets.


    Important: your serial device names will be different

    Do not blindly copy:

    /dev/cu.usbserial-00F490390
    /dev/cu.usbserial-00F490391

    Those names belong to my radio/interface.

    Find yours with:

    ls /dev/cu.* /dev/tty.* | grep -Ei 'usb|serial'

    Then identify which is the FTdx10 Enhanced port.

    For me, this test did it:

    rigctl \
        -m 1042 \
        -r /dev/cu.usbserial-00F490390 \
        -s 38400

    and then:

    f

    If it returns your current radio frequency, you’ve found the CAT port.

    The other FTDX10 USB serial device should then be the Standard TX-control port.


    The FTdx10 settings that mattered

    The radio itself also needs to be configured appropriately.

    In particular:

    • CAT baud rate must match Hamlib — mine is 38400
    • DATA operation must be configured appropriately
    • USB audio must be selected for the digital mode
    • RPTT SELECT must be RTS

    The Yaesu documentation explicitly identifies RTS/DTR as the USB virtual-COM transmit-control mechanism for digital operation.

    My working ARDOP TX DriveLevel is:

    2

    That number is specific to my Mac/radio audio levels; don’t assume it is correct for yours.

    Use enough drive for reliable transmission without overdriving the FTdx10 or producing unwanted ALC activity.


    What I learned

    Several things turned out to matter far more than I expected.

    First: simplify the stack.

    Every additional program creates another port, configuration and failure mode.

    Removing flrig from the Winlink path was one of the biggest improvements I made. Hamlib already knows how to control the FTDX10 directly.

    Second: CAT, PTT and audio are separate things.

    It is entirely possible for:

    • CAT frequency control to work;
    • the radio not to key;
    • ARDOP to think it has PTT configured;
    • and ARDOP still refuse to transmit because TX audio isn’t enabled.

    Ask which layer has actually failed.

    Third: the FTdx10’s two USB serial ports are a feature, not an annoyance.

    Using the Enhanced port for CAT and the Standard port for RTS PTT gives each application ownership of one interface. Yaesu explicitly designed the ports for those respective functions.

    Fourth: logs beat guessing.

    A few ARDOP messages became particularly valuable:

    Mod4FSKDataAndPlay() called when not TXEnabled

    means something very different from:

    Sending Frame Type ConReq2000M

    And once I began seeing:

    DataACK
    BREAK
    4FSK...

    I knew I was dealing with a real two-way ARQ session rather than a transmitter shouting futilely into the void.

    Fifth: propagation matters.

    A failed Winlink connection is not automatically a broken Winlink installation.

    The first station I finally reached was K5RAV, around 2,500 km away — after numerous failures to stations much closer to me.

    The second was N0DAJ, around 3,000 km away.

    The morning WSPR data had been telling me exactly that sort of path was open.

    I just needed to listen.


    Was it worth it?

    A few days ago, I was very close to giving up on Winlink.

    For an emergency communications system, I need something I can understand well enough to troubleshoot. “Install this mysterious helper and hope all the pieces cooperate” is not good enough for me.

    Now I have something different.

    I know exactly what each component does:

    Core Location
         ↓
    CoreLocationCLI
         ↓
    NMEA
         ↓
    gpsd
         ↓
    Pat
         │
         ├── rigctld ── CAT ── FTDX10 Enhanced COM
         │
         └── ardopcf ── RTS ── FTDX10 Standard COM
                        │
                        └──── audio ── USB AUDIO CODEC

    I can test each layer independently.

    I can read the logs.

    And I can launch the whole station with one click.

    Most importantly, I have actually connected over RF to multiple Winlink RMS stations.

    So yes.

    Winlink works on my M1 Mac.

    No Windows.

    No flrig in the Winlink control path.

    No external CAT interface.

    Just the FTdx10’s USB connection, Pat, Hamlib, ARDOP, a bit of Unix plumbing, and an unreasonable amount of stubbornness.

    And when the screen finally said:

    Connected to K5RAV (ardop)

    I may have been just a little bit excited.

    73,

    Doug Nix, VE3ZDN
    Kitchener, Ontario
    EN93tj


    1 National Marine Electronics Association

  • Starting the Next Chapter: Advanced & CW

    Starting the Next Chapter: Advanced & CW

    1. Step by step – 1st Class
    2. Step-by-Step – 2nd Class
    3. Amateur Radio Codes of Conduct
    4. Step-by-Step – 3rd Class
    5. Step-by-Step – Class 4a
    6. Step-by-Step – Classes 4b & 4c
    7. Step-by-Step—Class 5
    8. Step-by-Step—Class 6
    9. Step-by-Step—Class 7
    10. Step-by-Step—Class 8a
    11. Step-by-Step—Class 8b
    12. Step-by-Step—Class 9
    13. Step-by-step—Class 11
    14. Step-by-Step—Class 10
    15. A Modern Code of Conduct and Ethics for Amateur Radio
    16. Step-by-step—Class 12
    17. Step-by-step—Class 13
    18. Step-by-step—Class 14
    19. Step-by-step—Class 15
    20. Step-by-step—Class 16
    21. Step-by-step—Class 17
    22. Reflection: My Amateur Radio Journey So Far
    23. Authorized to Transmit
    24. Starting the Next Chapter: Advanced & CW
    25. Making Winlink, Pat, ARDOP and a Yaesu FTdx10 Work on an Apple Silicon Mac
    26. Winlink on Apple Silicon: The Files, Scripts and One-Click Launcher
    A warm, colour illustration of Doug seated at a workbench, studying for the Advanced Amateur Radio Certificate. He’s shown in profile, writing notes in an open hardbound notebook while a textbook sits propped up in front of him. Shelves packed with electronic test equipment—oscilloscopes, frequency counters, signal generators, and meters—fill the background, illuminated by an LED strip light overhead. A modern soldering station sits to his right, and a scientific calculator rests near his hand, creating the feel of a focused, well-equipped electronics workspace.
    Hitting the books

    I’ve officially cracked open the books again—this time for the Advanced Amateur Radio Certificate and the CW (Morse code) endorsement. It feels a bit like coming full circle: the kid who once tinkered with circuits and devoured electronics and radio magazines is now diving deeper into the theory, the math, and the hands-on craft that make amateur radio such a fascinating technical pursuit.

    Hear my call sign, courtesy of Doug VE3XDB.

    The Advanced material opens up everything I love: RF design, linearity, oscillators, filters, EMC, antennas, digital modes, and all the elegant physics that sit just beneath the surface of ordinary voice communication. It’s like pulling back the curtain on how radios really work—something I’ve spent my entire engineering career orbiting around anyway.

    And CW? Well, that’s its own kind of magic. Learning Morse isn’t just memorizing dits and dahs; it’s learning to think in rhythm, timing, and sound patterns. It’s equal parts language, music, and meditation. There’s something charmingly old-school about connecting to over a century of radio history, while knowing that the skill is still as relevant today as it ever was. It’s where telecommunications began when Samuel Morse tapped out his first message on May 24th, 1844.

    A 1942 black-and-white Associated Press photograph showing a young man handing a message across a counter at a Western Union telegram office. Behind the counter, four women and one male employee—dressed in wartime-era uniforms and patterned dresses—process telegrams and interact with customers. A large “TELEGRAMS” sign hangs overhead, and vintage communication equipment and a rotary telephone frame the busy, high-energy scene typical of World War II-era message centers.
    In 1942, with the world deep in the turmoil of the Second World War, telegrams were still one of the fastest and most reliable ways to send important messages. Long before email or mobile phones, a telegram could deliver news across countries in minutes, which made it an essential tool for governments, the military, and families trying to stay connected during uncertain times.
    AP Photo

    Honestly, it feels good to be a student again. To stretch the brain. To wrestle with old and new ideas. To learn a skill that rewards both precision and patience.

    Let’s see where this next leg of the journey leads.

    — Doug (VE3ZDN)

  • Authorized to Transmit

    Authorized to Transmit

    1. Step by step – 1st Class
    2. Step-by-Step – 2nd Class
    3. Amateur Radio Codes of Conduct
    4. Step-by-Step – 3rd Class
    5. Step-by-Step – Class 4a
    6. Step-by-Step – Classes 4b & 4c
    7. Step-by-Step—Class 5
    8. Step-by-Step—Class 6
    9. Step-by-Step—Class 7
    10. Step-by-Step—Class 8a
    11. Step-by-Step—Class 8b
    12. Step-by-Step—Class 9
    13. Step-by-step—Class 11
    14. Step-by-Step—Class 10
    15. A Modern Code of Conduct and Ethics for Amateur Radio
    16. Step-by-step—Class 12
    17. Step-by-step—Class 13
    18. Step-by-step—Class 14
    19. Step-by-step—Class 15
    20. Step-by-step—Class 16
    21. Step-by-step—Class 17
    22. Reflection: My Amateur Radio Journey So Far
    23. Authorized to Transmit
    24. Starting the Next Chapter: Advanced & CW
    25. Making Winlink, Pat, ARDOP and a Yaesu FTdx10 Work on an Apple Silicon Mac
    26. Winlink on Apple Silicon: The Files, Scripts and One-Click Launcher

    There is something quietly consequential about being told you are now authorized to transmit. The amateur radio exam is not especially dramatic in its execution—no fanfare, no ceremony—but it represents a formal transition from observer to participant. Preparing for the exam forced me to revisit fundamentals I hadn’t touched in years, confront gaps I didn’t know I had, and relearn how regulation, physics, and operating practice intersect in a real, shared spectrum. Receiving a call sign is not simply a credential; it is an acknowledgment of demonstrated competence and an assumption of responsibility—one that now shifts the focus from study and preparation to practice, participation, and the discipline of operating well on the air.

    I wrote my Basic Certificate exam today, and passed with honours, scoring a 90. It was an exciting and somewhat surreal experience, as I’ve been studying for today since September, having signed up for the RAC course in August. I’m a bit breathless about it, to be honest.

    I haven’t tried for my first QSO yet, but I will in the next few days, as soon as I have a moment to myself. I’m going to temporarily set up a log in my study notebook until I can get set up on one of the online logging platforms.

    I hope to speak with you soon, on 2 m for now. I’m likely monitoring repeater VE3KSR, or VE3RCK.

    VE3ZDN 73 OUT

  • Reflection: My Amateur Radio Journey So Far

    Reflection: My Amateur Radio Journey So Far

    1. Step by step – 1st Class
    2. Step-by-Step – 2nd Class
    3. Amateur Radio Codes of Conduct
    4. Step-by-Step – 3rd Class
    5. Step-by-Step – Class 4a
    6. Step-by-Step – Classes 4b & 4c
    7. Step-by-Step—Class 5
    8. Step-by-Step—Class 6
    9. Step-by-Step—Class 7
    10. Step-by-Step—Class 8a
    11. Step-by-Step—Class 8b
    12. Step-by-Step—Class 9
    13. Step-by-step—Class 11
    14. Step-by-Step—Class 10
    15. A Modern Code of Conduct and Ethics for Amateur Radio
    16. Step-by-step—Class 12
    17. Step-by-step—Class 13
    18. Step-by-step—Class 14
    19. Step-by-step—Class 15
    20. Step-by-step—Class 16
    21. Step-by-step—Class 17
    22. Reflection: My Amateur Radio Journey So Far
    23. Authorized to Transmit
    24. Starting the Next Chapter: Advanced & CW
    25. Making Winlink, Pat, ARDOP and a Yaesu FTdx10 Work on an Apple Silicon Mac
    26. Winlink on Apple Silicon: The Files, Scripts and One-Click Launcher

    When I signed up for the RAC Basic Qualification Certificate Course, I thought I knew what I was getting into. After all, I’ve spent nearly four decades working at the intersection of electrical safety, machinery safety, grounding, bonding, EMC, and functional safety. I’ve designed, tested, troubleshot, audited, and certified systems far more complex than a typical amateur radio station. So I assumed that amateur radio would be a pleasant diversion—a technical pastime with some knobs, some wires, and a bit of ionospheric magic thrown in for good measure.

    What I didn’t expect was how profoundly the journey would resonate with parts of my life I hadn’t revisited in years.

    Week after week, chapter after chapter, I found myself reconnecting not just with the physics and electronics that hooked me as a young technician at GFC Hammond in 1985, but with a sense of curiosity and wonder that has been quietly waiting for an excuse to re-emerge. I suppose this series has been, in its way, a return home.

    From Theory to Practice—and Back Again

    One of the most rewarding aspects of this course has been rediscovering how beautifully simple the foundations of radio are, even when the implementations become sophisticated. Whether I was rebuilding my understanding of modulation, unpacking the superhet receiver architecture, or tracing the path of an errant RF current through a grounding system, the same truth kept resurfacing:

    Everything in radio is just applied physics—and sometimes applied human nature.

    I’ve spent decades building and auditing safety systems in industry, and yet I was still delighted to find that amateur radio is full of the same challenges, failures, and “aha!” moments that define engineering everywhere. A poorly bonded chassis, a quarter-wave ground path that decides to behave like a radiator instead of a conductor, a switching power supply gone feral—none of it is new, but each instance is its own puzzle.

    And I do love a puzzle.

    A Community Built on Respect, Patience, and Self-Governance

    A vintage-style poster shows a smiling amateur radio operator wearing headphones and giving a thumbs-up while adjusting an HF transceiver on a wooden table. Large bold text on the left reads “COURTESY IS STILL IN PRACTICE,” and an amateur radio emblem hangs on the wall behind him. The warm colour palette and retro design evoke the message that civility and good on-air etiquette remain core values of the amateur radio community.

    The posts I wrote on the amateur radio code of conduct and the broader ethics of the hobby may be some of the most meaningful pieces in this whole series. That’s partly because so much of my professional life has been about building cultures of safety and responsibility—cultures where people look after each other because the stakes demand it.

    Amateur radio is no different.
    A shared spectrum is, fundamentally, a shared responsibility.

    Al Penney’s lectures repeatedly emphasized something that mirrors my experience with international standards work: the system only functions when people behave well, even when no one is watching. You don’t kerchunk the repeater. You don’t monopolize a calling frequency. You don’t ignore the interference you might be causing simply because it’s inconvenient to fix.

    Courtesy isn’t just etiquette—it’s a form of engineering ethics applied to on-air behaviour. Given how rare civility can feel in today’s broader social landscape, it’s reassuring to see the amateur radio community still committed to courtesy, etiquette, and decorum as everyday practice.

    Learning (and Relearning) with a Beginner’s Mind

    I’ve forgotten how refreshing it is to sit on the “student” side again. To wrestle with Q-codes that seem like they should have internal logic (but do not), to memorize band plans that look like someone solved a regulatory Sudoku, to absorb historical quirks that persist simply because they work.

    There’s a humility in being a beginner again—a humility I didn’t know I needed.
    And truthfully? It’s been fun.

    A warm, vintage-style illustration shows an adult student sitting at a desk studying for the amateur radio exam. He smiles thoughtfully while holding a pencil, surrounded by papers labeled “Q-CODES,” “AMATEUR RADIO EXAM,” and an open book with handwritten notes. On the wall behind him is a corkboard displaying a Sudoku-like puzzle and a sheet titled “Q-CODES,” symbolizing the quirks and complexities of learning radio theory. The overall mood conveys curiosity, humility, and the enjoyment of being a beginner again.

    I’ve enjoyed every minute of preparing these posts. Writing them forced me to clarify what I thought I knew, dig deeper into what I didn’t, and examine why certain ideas matter—not just for the exam, but for the kind of operator I want to be.

    Radio as a Mirror of My Professional World

    What surprised me most was how often amateur radio echoed my career in safety:

    • Grounding and bonding? Familiar territory.
    • RF exposure limits? A cousin of machinery hazard analysis.
    • Lightning protection? Indistinguishable from industrial surge management.
    • EMC troubleshooting? That’s been Tuesday morning for 30 years.
    • Regulations? I’ve lived inside ISO, IEEE, IEC, CSA, and SCC frameworks for most of my adult life.

    In many ways, this journey reminded me that engineering disciplines are not isolated silos. They are different dialects of the same language.

    What Comes Next

    I’m nearing the Basic exam now, and with it, the formal beginning of a new part of this journey. But even before the call sign appears beside my name, I already feel like I’ve joined a centuries-old conversation—one built across continents, frequencies, and generations of experimenters, tinkerers, and communicators.

    This series started as a record of what I was learning.
    Somewhere along the way, it became something richer:
    A chronicle of reconnecting—with old skills, old curiosities, and parts of myself I had left dormant.

    Once the exam is done, I’ll write a final reflection. After that? Who knows.
    Maybe I’ll build an antenna.
    Maybe I’ll chase DX.
    Maybe I’ll get lost in the waterfall.
    Maybe I’ll discover something unexpected again.

    That’s the magic of radio.
    You never quite know what’s on the air until you listen.

    A vintage-style painting shows a man wearing large headphones, gazing upward in awe as swirling golden radio waves spiral out from a distant antenna tower against a star-filled night sky. To the left, bold text reads “MAGIC OF RADIO.” On the desk in front of him sits an HF transceiver glowing warmly and a sheet of notes titled “MAGIC.” The scene blends cosmic imagery with everyday radio equipment to evoke the wonder and mystery of radio communication.

    This post marks the end of my week-by-week write-up of the RAC Basic Qualification Course, but not the end of the journey. As I move toward the exam and eventually onto the air, I’m carrying forward not just the technical lessons from each class, but the curiosity, discipline, and sense of community that make amateur radio such a compelling space. Thanks for following along — and stay tuned for what comes next.

  • Step-by-step—Class 17

    Step-by-step—Class 17

    1. Step by step – 1st Class
    2. Step-by-Step – 2nd Class
    3. Amateur Radio Codes of Conduct
    4. Step-by-Step – 3rd Class
    5. Step-by-Step – Class 4a
    6. Step-by-Step – Classes 4b & 4c
    7. Step-by-Step—Class 5
    8. Step-by-Step—Class 6
    9. Step-by-Step—Class 7
    10. Step-by-Step—Class 8a
    11. Step-by-Step—Class 8b
    12. Step-by-Step—Class 9
    13. Step-by-step—Class 11
    14. Step-by-Step—Class 10
    15. A Modern Code of Conduct and Ethics for Amateur Radio
    16. Step-by-step—Class 12
    17. Step-by-step—Class 13
    18. Step-by-step—Class 14
    19. Step-by-step—Class 15
    20. Step-by-step—Class 16
    21. Step-by-step—Class 17
    22. Reflection: My Amateur Radio Journey So Far
    23. Authorized to Transmit
    24. Starting the Next Chapter: Advanced & CW
    25. Making Winlink, Pat, ARDOP and a Yaesu FTdx10 Work on an Apple Silicon Mac
    26. Winlink on Apple Silicon: The Files, Scripts and One-Click Launcher

    Understanding Amateur Radio Regulations: A Practical Guide for New Operators

    Based on Al Penney’s Chapter 17: Regulations Ch17-Regulations

    When I started my journey into amateur radio, I expected to spend most of my time thinking about antennas, ionospheric quirks, and how to squeeze the best performance out of a receiver. Instead, I quickly discovered that the regulatory side of the hobby is just as fascinating—and just as essential. As someone who has spent decades navigating complex safety regulations and standards, the regulatory architecture of amateur radio feels surprisingly familiar: international bodies establishing the framework, national authorities implementing the rules, and operators applying them responsibly in the real world.

    This post summarizes what I’ve learned from Al Penney’s excellent class material on radio regulations, with some added context from my background in standards development. If you’re studying for your Basic exam—or want to understand the governance that keeps our hobby functional and interference-free—this is a solid foundation.

    A Very Short History of Global Telecommunications Regulations

    Modern amateur radio regulation didn’t emerge in a vacuum; it came out of a century of international cooperation. As early as 1865, European nations recognized they needed harmonized rules for telegraphy to prevent chaos on the growing international communication networks. The International Telegraph Union—precursor to the modern ITU—was founded that year to standardize equipment, establish operating principles, and create common accounting rules for cross-border telegraph traffic.

    With radio’s explosive growth, the International Radiotelegraph Union was formed in 1906, and by 1932 the two bodies merged into the International Telecommunication Union (ITU), which later became a UN specialized agency in 1949. Today, the ITU is responsible for global spectrum coordination, technical standards, satellite orbit assignments, and ensuring that radio services—including amateur radio—can coexist without harmful interference.

    For anyone used to ISO or IEC work, the ITU’s processes feel familiar: define the service, allocate frequency bands, establish technical parameters, and make sure administrations enforce compliance.

    ITU Regions and Why They Matter

    One of the most practical things every amateur should know is that the world is divided into three ITU Regions:

    • Region 1: Europe, Africa, the Middle East, Russia, Mongolia
    • Region 2: The Americas (including Canada) and parts of the eastern Pacific
    • Region 3: Asia-Pacific and Oceania
    World map showing the three International Amateur Radio Union (IARU) / International Telecommunication Union (ITU) Regions — Region 1 (Europe, Africa, Middle East and parts of northern Asia) shaded yellow, Region 2 (the Americas) shaded red/pink, and Region 3 (Asia-Pacific and the rest of Asia/Oceania) shaded green/blue. Region boundaries are marked by bold lines; continents and country outlines are visible against a light blue ocean background. The labels “Region 1,” “Region 2,” and “Region 3” appear under the respective coloured blocks at the bottom of the map.
    ITU Regions

    These regions determine the band plans we use. If you operate from international waters or airspace, you must follow the plan for the region you’re physically in. Canada’s RBR-4 explicitly notes that an amateur station aboard a ship or aircraft in international space operates under the ITU region rules applicable to its location.

    Canadian Band Plan
    image: RAC

    This becomes even more important when travelling abroad. Not all countries permit amateur operation by visitors, and even those that do may require formal authorization.

    Canada’s Regulatory Framework: Where ISED Comes In

    Here at home, amateur radio is governed under the Radiocommunication Act (1985). Innovation, Science and Economic Development Canada (ISED)—formerly Industry Canada—is the federal authority that manages licensing, equipment certification, and spectrum use. Their mandate goes well beyond amateur radio, covering everything from R&D funding and standards development to economic development, telecom regulation, and competition policy.

    Within ISED’s framework, the amateur radio service is defined as:

    “…a radiocommunication service in which radio apparatus are used for the purpose of self-training, intercommunication or technical investigation… solely with a personal aim and without pecuniary interest.”
    —ISED, RIC-3

    That last part—without pecuniary interest—is important. Commercial use of the amateur bands is strictly prohibited.

    Call Signs: Your On-Air Identity

    Call signs are assigned using the ITU’s internationally coordinated system. Prefixes identify the country (e.g., VE or VA for Canada), followed by a numeral indicating the region and a suffix assigned by the national authority. ITU Radio Regulations Articles 19.68 and 19.69 define the global allocation of call sign blocks.

    As a new operator, your call sign becomes your name on the air—and yes, you must transmit it at “short intervals” (i.e., not less than once every 30 minutes) during communication (RR 25.9). Automated IDers on repeaters exist for this exact reason.

    Operating Abroad: CEPT, IARP, and Reciprocal Privileges

    Radio Amateurs of Canada logo

    Travel adds another layer of complexity. The European Conference of Postal and Telecommunications Administrations (CEPT), established in 1959, coordinates harmonized operation among its member states. Canada is not a CEPT member, but ISED authorizes Radio Amateurs of Canada (RAC) to issue CEPT and International Amateur Radio Permits (IARP) so that Canadian hams can operate while abroad.

    For countries not covered by these arrangements, you must contact the foreign authority directly—typically a relatively simple process today thanks to email and web forms.

    And, interesting trivia: a few countries, including North Korea and Yemen, do not permit amateur radio at all.

    Third-Party Communications: When Can You Relay?

    Most of the time, hams may not transmit traffic on behalf of third parties, especially across borders. However, there is a big exception: emergencies and disaster relief. Both the ITU and Canadian RIC-3 explicitly allow third-party international communication for emergency purposes unless a foreign administration has prohibited it.

    This is one of the ways amateur radio continues to serve the public good.

    Power Limits, Bandwidths, and Other Technical Requirements

    ISED defines the maximum permissible power and bandwidth for each band. One interesting regulatory quirk: for many purposes, ISED defines peak envelope power (PEP) as 2.25 × the transmitter’s DC input.

    Some LF and MF bands—such as 137 kHz, 630 m, and 60 m—have very narrow permitted bandwidths, far below the more typical 6 kHz limit for HF. These constraints exist to ensure compatibility with other services sharing the spectrum.

    EMC, Interference, and Enforcement

    Regulators take interference seriously. In Canada, EMCAB-2 governs electromagnetic compatibility requirements for receivers and sensitive equipment, and field-strength limits can be extremely low—down to 3.16 V/m in some cases.

    Penalties for non-compliance exist, and while the monetary amounts may change over time, the principle remains: amateur operators are responsible for ensuring their stations do not cause harmful interference.

    What All This Means for New Operators

    Amateur radio isn’t just a technical hobby—it’s a self-regulated community backed by a carefully structured mix of international treaties, national legislation, and shared operating practice. Whether you’re experimenting with antennas, joining a net, or working portable from a campsite, every QSO sits atop 150 years of regulatory evolution.

    As someone who works in safety and compliance, I find this system elegant. The rules aren’t meant to limit creativity; they’re meant to protect the spectrum so creativity remains possible.

    And that’s one of the things I love about this hobby.

    That’s the end of this series on the RAC course. I’m now reviewing and preparing for my Basic Certificate exam. Once I finish this part of my journey, I’ll likely write a final reflection. After that? Who knows? Watch this space!

  • Step-by-step—Class 16

    Step-by-step—Class 16

    1. Step by step – 1st Class
    2. Step-by-Step – 2nd Class
    3. Amateur Radio Codes of Conduct
    4. Step-by-Step – 3rd Class
    5. Step-by-Step – Class 4a
    6. Step-by-Step – Classes 4b & 4c
    7. Step-by-Step—Class 5
    8. Step-by-Step—Class 6
    9. Step-by-Step—Class 7
    10. Step-by-Step—Class 8a
    11. Step-by-Step—Class 8b
    12. Step-by-Step—Class 9
    13. Step-by-step—Class 11
    14. Step-by-Step—Class 10
    15. A Modern Code of Conduct and Ethics for Amateur Radio
    16. Step-by-step—Class 12
    17. Step-by-step—Class 13
    18. Step-by-step—Class 14
    19. Step-by-step—Class 15
    20. Step-by-step—Class 16
    21. Step-by-step—Class 17
    22. Reflection: My Amateur Radio Journey So Far
    23. Authorized to Transmit
    24. Starting the Next Chapter: Advanced & CW
    25. Making Winlink, Pat, ARDOP and a Yaesu FTdx10 Work on an Apple Silicon Mac
    26. Winlink on Apple Silicon: The Files, Scripts and One-Click Launcher

    Safety Fundamentals for the New Amateur Radio Operator: A Machinery-Safety Engineer’s View

    As I continue my journey into amateur radio, one thing has struck me more than anything else: how familiar so much of this territory feels from decades spent working in machinery safety, electrical safety, bonding, and earthing. Whether I’m assessing a press line in a factory or installing a transceiver in my shack, the underlying principles are essentially the same. You’re still dealing with fault currents, leakage paths, thermal hazards, shock exposure, RF exposure, lightning strikes and the absolute necessity of a well-designed grounding and bonding system for both safety and performance.

    Lightning striking buildings, chimneys, and towers during a thunderstorm.
    image: NOAA

    Al Penney’s excellent chapter on safety in the RAC Basic course distills many of these fundamentals for the new amateur operator. What follows is my own take—grounded (pun fully intended) in both the course material and my day-to-day practice in machinery safety.

    Why Safety Matters in Amateur Radio

    Amateur radio looks deceptively benign from the outside—just a few radios, some feed lines, maybe a tower if you’re lucky. But the risks are very real:

    • Mains voltage and high-current DC systems
    • Radio frequency (RF) energy exposure
    • Lightning surges and induced currents
    • Grounding and bonding failures
    • Mechanical hazards from towers and masts
    • Fire risks from poor wiring or aging equipment

    If you’ve spent a career keeping machinery operators out of harm’s way, you quickly recognize that amateur operators can face the same categories of hazards—just scaled differently.

    1. Understanding Household and Station Power

    Canadian residential electrical systems are built around a 240/120-volt, single-phase, three-wire supply. Two “hot” legs (typically red and black) provide 240 volts between them, and each offers 120 volts relative to the neutral conductor (white). Only the hot conductors are fused or switched—never the neutral.

    Older homes can pose surprises: two-prong outlets, ungrounded circuits, knob-and-tube or aluminum wiring, or branch circuits overloaded by modern electronics. All of those bring risks that may only show up under RF load or when connecting a modern transceiver or linear amplifier.

    The symptoms of overload are textbook:

    • Flickering or dimming lights
    • Warm or discoloured receptacle plates
    • Frequent breaker trips
    • Buzzing or crackling outlets
    • A faint burning odour

    Each of these is a warning sign that the branch circuit is under stress. In machinery safety, we teach operators to treat “abnormal” as “unsafe.” The same applies here.

    2. Shock Hazards: Understanding the Enemy

    We’re conditioned to think of electricity in terms of voltage, but in reality, it’s current that injures or kills. Women and men typically have different thresholds for sensing electrical currents. Women generally have a lower threshold of sensation for electrical currents compared to men, often around 40-43% lower for sensory perception in studies using transcutaneous or surface electrical stimulation[16], [17]. For 60 Hz AC currents through hand contacts, perception thresholds are typically below 1 mA for both genders, with grip contacts as low as 0.4-0.5 mA in adult males and similarly low but slightly reduced in females.[18][19]

    Standard electrical safety references indicate:

    • Perception/sensation: 0.5-1 mA (tingling sensation possible for up to 10 seconds), with women often perceiving at lower levels due to higher sensory excitability [16], [20]
    • Women show consistently lower sensory thresholds across multiple studies, attributed to neurophysiological differences rather than just skin or adipose tissue [17], [21].

    Gender Differences

    Studies confirm women require less current for initial sensation (e.g., -43% vs. men) and motor responses, though pain perception at higher levels can be more pronounced in women [16], [22]. These thresholds vary by factors such as frequency (AC 50-60 Hz is more perceptible than DC), contact type (grip vs. tap), skin condition, and the current path through the body, but gender disparity persists [18], [23].

    Even small currents can be dangerous:

    • 0.25 mA creates perceptible tingling
    • 10 mA can lock your grip due to muscle tetany
    • 20–50 mA across the heart can cause ventricular fibrillation
    • >100 mA can cause severe burns and internal injury
    A log–log graph showing the relationship between electric shock current (I, on the horizontal axis from 100 µA to 10 A) and time (T, on the vertical axis from 10 ms to 10 s). The plot is divided into coloured regions labelled AC-1, AC-2, AC-3, and AC-4, representing different physiological effect zones for 50/60 Hz AC shock. Several threshold curves appear: red curves for AC effects (AC-4.1, AC-4.2, AC-4.3) and blue curves for DC effects. A green curve marks the ventricular fibrillation boundary. Shaded areas progressively darken from left to right to indicate increasing hazard severity. Horizontal and vertical grid lines create a detailed reference mesh across the chart.
    IEC TS 60947-1 Electric Shock Zones

    At 60 Hz—the frequency of the North American power grid—the human heart is particularly vulnerable because its natural pacing interval is in the same range.

    Average values for the threshold of sensation and the “can’t let go” current as a function of frequency. The lower the value, the more sensitive the body is at that frequency.
    [14, Fig. 4] College Sidekick

    The path through the body is also important—this is where the “one hand rule” when working with high voltages comes from.

    The pathway of the current through the human body is unpredictable, and pathways through the heart are the most dangerous. 

    By keeping your left hand in your back pocket while working on energized or potentially energized equipment, you eliminate the possibility of introducing current through your left arm which can then travel through your heart to an exit point. Additionally, using an insulating mat rated for the highest voltage you are likely to encounter can help protect against electric shock hazards.

    IEC 61140:2016, Protection against electric shock — Common aspects for installation and equipment [15], provides guidance on measures that can be used to reduce the risk of shock.

    The table below shows the defined limits for some of the voltage bands covered in IEC standards. Except for RF voltages appearing on transmission lines and antennas in operation, everything in the radio shack operates at Low Voltage (LV), below 1000 Vac or 1500 Vdc. The CEC in Canada and the NEC in the USA extend down to 0 Vac or dc, while in the EU, the Low Voltage Directive uses 50 Vac or 75 Vdc as the lower limit.

    A table titled “Limits for Voltage Bands (IEC 61140:2016, Table 1)” with three voltage categories—High Voltage (HV), Low Voltage (LV), and Extra-Low Voltage (ELV). The table lists threshold values for both a.c. and d.c. systems:

HV: a.c. > 1 000 V; d.c. > 1 500 V

LV: a.c. ≤ 1 000 V; d.c. ≤ 1 500 V

ELV: a.c. ≤ 50 V; d.c. ≤ 120 V
    Limits for Voltage Bands (IEC 61140:2016, Table 1)

    Damp or wet conditions can reduce the voltage where a shock hazard exists to as little as 6 V.

    A helpful formula for estimating shock current is Ohm’s Law:

    Ohm’s Law

    Where:

    I = current through the body

    V = applied voltage

    R = resistance of the body (which can drop below 1000 Ω when the skin is wet)

    Thus, a wet human body touching 120 V can experience:

    Far into the range of fatal fibrillation.

    The impedance of the body is made up of two components:

    • Skin resistance
    • Internal resistance

    Both components can include a capacitive element, which becomes more important as the frequency of the electrical source increases.

    Current pathDry skinWet skin
    ear-to-ear (internal)100 Ω
    left hand to left foot (internal)500 Ω
    left hand to left foot100 kΩ – 600 kΩ1 000 Ω

    At 500 V or more, high resistance in the outer layer of the skin breaks down.

    Ways protective skin resistance can be significantly reduced

    • Significant physical skin damage: cuts, abrasions, burns
    • Breakdown of skin at 500 V or more
    • Rapid application of voltage to an area of the skin
    • Immersion in water

    Al’s advice mirrors good industrial practice: do not approach a shock victim until the circuit is de-energized. Otherwise, you risk becoming the second casualty.

    3. Protective Devices: GFI/GFCI, AFCI, and Isolation Transformers

    The basic defence against shock hazards in modern wiring is the Ground-Fault Circuit Interrupter (GFCI). A GFCI compares the current in the hot and neutral conductors. If the currents differ by more than about 5 mA, it assumes leakage—possibly through a human body—and disconnects the circuit.

    The underlying principle can be expressed as:

    Whenever:

    —the GFCI trips.

    Similarly, the Arc-Fault Circuit Interrupter (AFCI) recognizes series and parallel arcing signatures in conductors—important because many residential fires start with an arc in damaged or aging wiring.

    An isolation transformer adds another layer of protection by preventing current from finding a return path through the earth or through a person. In machinery safety, isolation is fundamental for service procedures; the same applies when working on radios.

    4. The Three Grounds Every Station Needs

    Lightning grounding system

    Al Penney introduces three distinct ground types for amateur stations:

    1. AC Safety Ground
      The protective earth connection required by electrical codes. This ensures exposed metal stays at earth potential during a fault.
    2. Lightning Ground
      Provides a low-impedance path to earth for lightning-induced surges, protecting the structure and equipment.
    3. RF Ground
      Provides a low-impedance path at radio frequencies, minimizing RF feedback, interference, and hot spots.

    In machinery safety, we typically talk about earthing (fault protection) and bonding (equipotential equalization). Amateur radio requires both, but adds RF behaviour to the equation.

    A diagram showing a comprehensive grounding system for an amateur radio tower installation. The main image illustrates a tall guyed antenna tower with coaxial cable grounded at the top and again at the tower base, surrounded by an extensive radial grounding network connected to ground rods. The tower base is bonded to rebar in a concrete foundation, and guy-wire anchors are tied into the radial and grounding system. A smaller inset diagram shows a top-down view of the radial layout and how it connects to the shack’s perimeter ground, SPGP entry panel, and AC service ground. A second inset shows the interior radio shack with the SPGP bonded to telco entry, AC ground, and radio equipment, with the coaxial feed and grounding strap linking the shack to the tower system.
    Antenna and starion bonding and grounding
    image: Mike Mikelson

    Bonding vs. Grounding (Earthing)

    An exothermically welded bonding connection to a ground rod
    • Bonding is the practice of connecting metal components to maintain equipotentiality as much as possible.
    • Grounding/Earthing connects the system to the earth reference.

    An amateur station must do both; otherwise, circulating currents will cause unpredictable (and occasionally unpleasant) results.

    5. RF Grounding: The Hidden Trouble-Maker

    Unlike AC grounding systems, RF grounds behave according to wavelength. A conductor approaching ¼ wavelength at the operating frequency becomes a high-impedance point:

    Where

    λ = wavelength in metres

    c = speed of light in a vacuum (300,000,000 m/s)

    f = frequency

    For example, at 14 MHz (20-metre band):

    A quarter-wave is roughly:

    A ground strap >5 m long may actually create an RF hotspot rather than eliminate one.

    This is why the single-point ground (SPG)—a central bonding bar to which all equipment is connected—is so important. It minimizes circulating currents, reduces RF feedback, and prevents your rig’s microphone or your metal desk from becoming unexpectedly “hot.”

    6. Ground Rods and Earth Systems

    From a machinery-safety perspective, ground rods in a radio installation behave exactly like the electrodes used in industrial and utility installations. The fundamentals are the same:

    • Use copper-clad steel rods
    • Length matters (2.4–3.0 m recommended)
    • Use UL-listed or CSA-marked clamps
    • Use heavy copper conductors (#6 AWG or tinned copper strap)
    • Bond cold-water piping only if it is metallic and continuous

    But the CEC requires that all grounding electrodes—service ground, lightning protection ground, and any supplemental rods—must be bonded together. Failure to bond grounds is one of the leading causes of destructive surge paths.

    7. Lightning Protection: Voltage Equalization is Everything

    A lightning strike doesn’t need to hit your tower directly to ruin your equipment. A near strike can induce thousands of volts into cables or wiring. The goal isn’t to “block” lightning—that’s impossible—but to:

    1. Bring every conductor entering the house to the same potential
    2. Provide a low-impedance path to earth
    3. Prevent flashover inside the structure

    This is exactly how industrial surge protection works in machinery with long interconnecting cables.

    For amateurs, this means:

    • Bonding coax shields at the service entry
    • Using spark gaps or gas discharge tubes
    • Keeping bends in ground conductors smooth and gentle
    • Bonding the tower to the station ground system
    • Keeping the entry panel (or bulkhead) as close to the station ground as practical

    The theme is always the same: equipotential bonding.

    8. RF Exposure: What New Operators Need to Know

    Radio frequency exposure is regulated because non-ionizing radiation (NIR) can heat tissue, stimulate nerves, and cause cataracts or burns at sufficiently high power densities.

    In Canada, we follow Health Canada’s Safety Code 6, Limits of Human Exposure to Radiofrequency Electromagnetic Fields in the Frequency Range from 3 kHz to 300 GHz [33]. This document sets out, in technical terms, the maximum exposure levels that humans can tolerate without causing identifiable harm.

    SC6 does not define transmitter power, or effective radiated power (ERP), but rather the intensity of the E- and H-fields. E-fields are measured in volts per metre (V/m) at a specific distance from the source, and H-fields are measured in amperes per metre (A/m). Table 1 from SC6 gives the maximum exposure limits for individuals including occupationally exposed workers and the general public.

    Note that the exposure limits in Table 1 are much lower in the Uncontrolled Environment (i.e., the general public) than those in the Controlled Environment (i.e., workers in RF exposed environments).

    [33]
    [33]
    [33]

    The basic field-strength relationship is:

    Where:

    S = power density

    PTX = transmitter power

    G = antenna gain (linear)

    r = distance from antenna

    Even a 100-watt HF radio can exceed allowable limits if the antenna is too close or improperly installed.

    In addition, SC6 includes limits for induced and contact currents as shown in Tables 7 and 8. Induced currents can cause RF shocks and burns.

    SC6 has not been updated since 2015, however, the International Commission on Non-Ionizing Radiation Protection published the Guidelines for Limiting Exposure to Electromagnetic Fields (100 kHz to 300 GHz) [34] in 2020.

    The new ISED exposure rules require:

    • Station evaluation
    • Control of uncontrolled (public) vs controlled (licensee) areas
    • Documentation

    It’s not onerous—but it needs to be done.

    9. Fire Safety, Surge Protection, and Aging Equipment

    Surge protectors degrade with every transient. The metal-oxide varistor (MOV) inside slowly changes its characteristics until it fails—sometimes due to overheating. That’s why a surge protector should always have:

    • A functioning status indicator
    • Internal over-current protection
    • Adequate joule rating (≥600 J preferred)
    • Proper UL/CSA marking

    As Al notes, “daisy chaining” power strips is a known fire hazard. And in a station environment, power strips often operate near their limits due to radios, chargers, tuners, and amplifiers.

    If something feels warm under normal load, it’s already trying to tell you something.

    Fire safety

    If you are finishing a basement room for use as a radio shack, consider installing a smoke/CO2 detector in the shack, even if there is another one in the basement. This will allow you to close and lock the door when not in use or when kids are around, preventing accidents and unauthorized use of the equipment.

    Having a suitable fire extinguisher in the shack is important in case something does catch fire. Either a Type A and Type C extinguisher or a multi-type extinguisher intended for those types of fires should be kept on hand and inspected monthly.

    10. First Aid: The Human Side of Electrical Safety

    One of the best lines in Al Penney’s chapter is simple:

    Do not approach until the power is off.
    —Al Penney, VO1NO

    Everything after that follows the standard chain of survival used in industrial electrical incidents:

    1. Ensure the scene is safe
    2. Disconnect power
    3. Call 911
    4. Provide CPR and use an automated external defibrillator (AED) if available
    5. Treat for shock and burns

    It’s worth taking a CPR/AED course—whether for radio, machinery safety, or life in general.

    Conclusion: Amateur Radio Safety Is Just Engineering Done Right

    One of the reasons I’m enjoying amateur radio so much is that it brings together every part of my engineering background—electrical safety, bonding and grounding, RF, EMC (electromagnetic compatibility), and yes, even some human factors. The same principles that keep machine operators safe apply in the radio shack:

    • Keep conductive parts at the same potential
    • Control fault paths
    • Expect insulation to fail eventually
    • Keep conductors short and low-impedance
    • Let protective devices do their job
    • And above all—respect electricity

    Of course, there’s a lot more to say about safety: tower climbing, RF exposure, etc. Safety isn’t a checkbox; it’s a mindset. And as new amateur operators, embracing that mindset early keeps our stations—and ourselves—operating for years to come.


    Bibliography

    [1] A. Penney, Safety. Royal Amateur Radio Club (RAC) Basic Qualification Course, Chapter 16, VO1NO, n.d. Ch16-Safety

    [2] National Fire Protection Association (NFPA), “Home Electrical Fires,” NFPA Reports, 2010.

    [3] Electrical Safety Foundation International (ESFI), “Fuse and Breaker Breakdown,” “Switch to Safety,” and “Extension Cords and Power Strip Safety,” ESFI Resources. [Online]. Available: https://www.esfi.org/

    [4] Consumer Product Safety Commission (CPSC), “Arc Fault Circuit Interrupters (AFCIs),” CPSC Safety Publications.

    [5] Mayo Clinic Staff, “Electrical injuries: First aid,” Mayo Clinic, 2019.

    [6] “How to Treat a Victim of Electrical Shock,” WikiHow, 2023.

    [7] Hydro-Québec, “What are the effects of electric current on the human body?” Hydro-Québec Safety Resources, 2018.

    [8] M. Holt, “Electrical Shock Hazards Explained,” Mike Holt Enterprises, 2002.

    [9] Centers for Disease Control and Prevention (CDC), “Worker Deaths by Electrocution,” NIOSH Publication 98-131, 1998.

    [10] Reader’s Digest, “CPR 101: These Are the CPR Steps Everyone Should Know,” Reader’s Digest Canada, 2021.

    [11] F. Pantridge, “Portable Defibrillation: Early Development and Clinical Use,” Lancet, vol. 286, no. 7424, 1965.

    [12] Underwriters Laboratories (UL), UL 1449 – Standard for Surge Protective Devices, 4th ed., UL, 2014.

    [13] American Heart Association (AHA), “Hands-Only CPR Guidelines,” AHA CPR & First Aid, 2020.

    [14] ‘Electric Hazards and the Human Body’, College Sidekick — Physics. [Online]. Available: https://www.collegesidekick.com/study-guides/physics/20-6-electric-hazards-and-the-human-body

    [15] Protection against electric shock — Common aspects for installation and equipment, IEC 61140. Geneva: International Electrotechnical Commission (IEC). 2016.

    [16] Differences in electrical stimulation thresholds between … https://pubmed.ncbi.nlm.nih.gov/18300313/

    [17] Differences in electrical stimulation thresholds between men and women https://onlinelibrary.wiley.com/doi/10.1002/ana.21346

    [18] J. C. Keesey, F.S. Letcher. “Human Thresholds of Electric Shock at Power Transmission Frequencies.” Arch. Env. Health. Vol. 21. 1970. Available: https://zoryglaser.com/wp-content/uploads/2020/05/HUMAN-THRESHOLD-OF-ELECTRIC-SHOCK-AT-POWER-TRANSMISSION-FREQUENCIES.pdf [Accessed 2025-11-30]

    [19] Minimum Thresholds for Physiological Responses to Flow of Alternating Electric Current Through the Human Body at Power-Transmission Frequencies, Naval Medical Research Institute. 1969. Available: https://zoryglaser.com/wp-content/uploads/2020/05/MINIMUM-THRESHOLDS-FOR-PHYSIOLOGICAL-RESPONSES-TO-FLOW-OF-ALTERNATING-ELECTRIC-CURRENT-THROUGH-THE-HUMAN-BODY-AT-POWER-TRANSMISSION-FREQUENCIES-NMRI.pdf [Accessed: 2025-11-30]

    [20] Safe Levels of Current in the Human Body Available: https://www.d.umn.edu/~sburns/EE2212/L-Safe-Levels-of-Current-in-the-Human-Body.pdf [Accessed 2025-11-30]

    [21] Sex and age differences in sensory threshold for … Available: https://www.scielo.br/j/fm/a/FkPdhzvxmxLcZ7QXjsjCGLz/?format=pdf&lang=en [Accessed 2025-11-30]

    [22] Differences in electrical stimulation thresholds between … Available: https://onlinelibrary.wiley.com/doi/abs/10.1002/ana.21346 [Accessed 2025-11-30]

    [23] Let Go Current | IE Rule – Estimation and Costing Available: https://www.electricalje.com/2024/12/let-go-current-ie-rule-estimation-and.html [Accessed 2025-11-30]

    [24] “Gender Differences in Current Received during Transcranial Electrical Stimulation”. Frontiers. Available: https://www.frontiersin.org/journals/psychiatry/articles/10.3389/fpsyt.2014.00104/full [Accessed 2025-11-30]

    [25] “HUMAN RESPONSES TO ELECTRICITY “. Available: https://ntrs.nasa.gov/api/citations/19730001338/downloads/19730001338.pdf [Accessed 2025-11-30]

    [26] “Factors Affecting and Adjustments for Sex Differences in Current Perception Threshold With Transcutaneous Electrical Stimulation in Healthy Subjects”. Available: https://onlinelibrary.wiley.com/doi/full/10.1111/ner.12889 [Accessed 2025-11-30]

    [27] “The effects of high electric current on the human body”. Available: https://betacomearthing.com/resources/the-effects-of-high-electric-current-on-the-human-body/ [Accessed 2025-11-30]

    [28] E. Dölker, S. Lau, M. A. Bernhard, J. Haueisen. “Perception thresholds and qualitative perceptions for electrocutaneous stimulation”. Available: https://pmc.ncbi.nlm.nih.gov/articles/PMC9072403/ [Accessed 2025-11-30]

    [29] “AC & DC Electric Shocks – Electrical Energy in the Home”. Available: https://eliotsphysics.weebly.com/ac–dc-electric-shocks.html [Accessed 2025-11-30]

    [30] S. Seno, H. Shimazu, E. Kogure, A. Watanabe, H. Kobayashi. “Factors Affecting and Adjustments for Sex Differences in Current Perception Threshold With Transcutaneous Electrical Stimulation in Healthy Subjects”. Available: https://pmc.ncbi.nlm.nih.gov/articles/PMC6766980/ [Accessed 2025-11-30]

    [31] I. Lund, T. Lundeberg, J. Kowalski, L. Svensson. “Gender differences in electrical pain threshold responses to transcutaneous electrical nerve stimulation (TENS)”. Available: https://pubmed.ncbi.nlm.nih.gov/15670645/ [Accessed 2025-11-30]

    [32] “Characteristics of current perception produced by intermediate-frequency contact currents in healthy adults”. Frontiers. Available: https://www.frontiersin.org/journals/neuroscience/articles/10.3389/fnins.2023.1145505/full [Accessed 2025-11-30]

    [33] ‘Limits of Human Exposure to Radiofrequency Electromagnetic Fields in the Frequency Range from 3 kHz to 300 GHz’. Ottawa: Health Canada. 2015. Available: https://www.canada.ca/content/dam/hc-sc/migration/hc-sc/ewh-semt/alt_formats/pdf/consult/_2014/safety_code_6-code_securite_6/final-finale-eng.pdf [Accessed: 2025-12-01]

    [34] ‘Guidelines for Limiting Exposure to Electromagnetic Fields (100 kHz to 300 GHz)’, Health Physics, vol. 118, no. 5, pp. 483–524, May 2020, doi: 10.1097/HP.0000000000001210. Available: https://www.icnirp.org/cms/upload/publications/ICNIRPrfgdl2020.pdf [Accessed: 2025-12-31]

  • Step-by-step—Class 15

    Step-by-step—Class 15

    1. Step by step – 1st Class
    2. Step-by-Step – 2nd Class
    3. Amateur Radio Codes of Conduct
    4. Step-by-Step – 3rd Class
    5. Step-by-Step – Class 4a
    6. Step-by-Step – Classes 4b & 4c
    7. Step-by-Step—Class 5
    8. Step-by-Step—Class 6
    9. Step-by-Step—Class 7
    10. Step-by-Step—Class 8a
    11. Step-by-Step—Class 8b
    12. Step-by-Step—Class 9
    13. Step-by-step—Class 11
    14. Step-by-Step—Class 10
    15. A Modern Code of Conduct and Ethics for Amateur Radio
    16. Step-by-step—Class 12
    17. Step-by-step—Class 13
    18. Step-by-step—Class 14
    19. Step-by-step—Class 15
    20. Step-by-step—Class 16
    21. Step-by-step—Class 17
    22. Reflection: My Amateur Radio Journey So Far
    23. Authorized to Transmit
    24. Starting the Next Chapter: Advanced & CW
    25. Making Winlink, Pat, ARDOP and a Yaesu FTdx10 Work on an Apple Silicon Mac
    26. Winlink on Apple Silicon: The Files, Scripts and One-Click Launcher

    Wrestling with the Noise: What I Learned About Radio-Frequency Interference

    Reflections on Chapter 15 of Al Penney’s RAC Basic Course

    A stylized illustration of a red radio tower against a blue background, emitting concentric yellow and blue radiating waves representing broadcast or RF energy spreading outward from the antenna.

    Anyone who has spent time on the air will eventually run head-first into radio-frequency interference (RFI)—and usually at the worst possible time. You finally settle into a good QSO, or you’re testing a new antenna, and suddenly the bands dissolve into a wall of buzz, crackle, or inexplicable signals that have no business being there.

    For me, these problems are more than just an occasional amateur-radio annoyance—they echo challenges I’ve dealt with for decades in my professional life. My work in machinery safety involves electromagnetic compatibility (EMC) testing, troubleshooting, and ensuring compliance with a wide range of functional-safety standards. In the world of machinery, poorly controlled electromagnetic phenomena can have far more serious consequences than a ruined QSO: they can shut down production lines, disable safety-related parts of control systems, or jeopardize the performance of SIL-rated and PL-rated safety functions. Understanding how interference couples, propagates, and affects equipment has been part of my daily toolkit for years.

    So when Al Penney covered RFI and EMI in the RAC Basic course yesterday [1], it felt like familiar territory—but with a distinctly amateur-radio flavour. The chapter blended physics, practical engineering, and station-craft in a way that resonated deeply with my EMC experience. As someone who cares about both signal integrity and functional safety, this was immensely satisfying—and a potent reminder that good EMC practices are universal, whether you’re safeguarding a press-brake control system or keeping an HF rig clean on 20 metres.

    Below are my takeaways, with plenty of technical depth for those who enjoy understanding the “why” behind the “what,” and hopefully helpful guidance for newcomers wrestling with their first tangle of interference.

    The Two-Sided Nature of RFI

    Al broke the entire problem down into two buckets:

    1. Interference your station causes to others
    2. Interference caused to your station by other devices

    The most sobering part? Most cases of interference can be cured, but almost never by arguing about blame. You have to consider both the equipment and the humans involved. Al’s reminder to approach every RFI complaint with “calm, empathy, and cooperation” should be etched on every ham’s shack wall.

    RFI vs EMI: Getting Our Terms Straight

    A black-and-white diagram illustrating common sources of radio-frequency interference (RFI). The image includes high-voltage power lines emitting noise, lightning strikes producing broadband interference, a radio and TV broadcast tower radiating signals, and a car generating ignition noise. An industrial building and electric motor are shown receiving both radiated interference and conducted noise through an AC power circuit. Arrows indicate the various paths by which unwanted RF energy can couple into nearby equipment. The image is labeled “Sources of Radio Frequency Interference.”
    Sources of RFI and EMI

    We often throw “noise” around as a catch-all term, but the distinctions matter.

    • Radio-Frequency Interference (RFI) is interference in a receiver caused by unwanted signals (only one of which is desired).
    • Electromagnetic Interference (EMI) is RF energy that affects equipment not intended to receive RF, such as machinery, appliances, furnaces, smoke detectors, thermostats, speakers, telephones, and computers.

    When RF bullies its way into the front end of a device through inadequate shielding or filtering, you get EMI.

    It’s also worthwhile remembering that, depending on the source you read, RF is the Extremely Low Frequency (ELF) band, which is defined as ranging from 3 to 30 Hz by the International Telecommunication Union (ITU) and other major standards bodies, with corresponding wavelengths from 100,000 km down to 10,000 km. However, Very Low Frequency is the lower end of the RF spectrum and the range used by practical radio transmission systems, spanning 3 kHz to 30 kHz. Happily, none of these frequencies are included in the amateur bands.

    Four Core Types of Interference

    Al identified four primary mechanisms that create RFI/EMI problems:

    1. Noise

    External noise from electrical systems—motors, switching supplies, furnace igniters, fluorescent lighting, thermostats, dimmers—creating broad-spectrum buzzes and raspy signatures across HF.

    These often show up as wideband trash rather than discrete signals. Identification usually means turning things off one by one until the culprit reveals itself. Al suggested that you can start by turning off the main switch in your home to see if the noise disappears. If so, you have to go through each circuit in your home to find the culprit.

    2. Fundamental Overload (FO)

    This is one of the most common problems. Fundamental overload (FO) occurs when a strong RF signal overwhelms the receiver’s front end, which lacks sufficient filtering.

    It’s fascinating how stark the physics are. The strength of the interfering signal follows the inverse-square law, modelled as:

    Where

    I = field intensity

    d = distance from the source

    Borb, CC BY-SA 3.0, via Wikimedia Commons

    If you consider a sphere surrounding the point source in the diagram above, the area of the inside of the sphere is defined by

    Where:

    • S(r) = power flux density at distance r (W/m²)
    • PTX​ = RF power delivered to the antenna (W)
    • G = antenna gain referenced to an isotropic radiator (dimensionless, not in dBi)

    At radius r from the source, a certain intensity exists on the surface of the sphere, I, which is measured in volts per metre (V/m). At 2r, the intensity according to the formula above is now 1/4I, and at 3r it falls to 1/9r. Even doubling the distance between two houses can reduce the interfering field strength to one-quarter. Of course, moving your neighbour’s house farther away from your antenna may be difficult, so it’s likely easier to move your antenna 😀.

    3. Cross Modulation (XM)

    Cross modulation (XM) occurs when a strong AM-type signal is rectified at some stage of a receiver, imposing its modulation on another signal.

    This is most noticeable on AM broadcast receivers, but the presentation reminded me of the old NTSC TV days, when strong local signals produced ghosting artifacts.

    4. Intermodulation Distortion (IMD)

    Intermodulation distortion (IMD) is the mixing of two or more signals in a nonlinear device, producing sum and difference frequencies:

    A common nuisance is the third-order IMD:

    These often fall near the desired signal and can be nearly impossible to filter out, especially in dense RF environments like 2 m FM repeaters downtown.

    Spurious Emissions: When the Transmitter Misbehaves

    Even well-designed transmitters generate small amounts of harmonics and other spurious emissions.

    Harmonics occur at integer multiples of the fundamental:

    Where

    f0 = operating frequency

    n = harmonic number

    The 2nd and 3rd harmonics are typically the strongest.

    Good transmitter design—combined with proper station grounding and not over-driving an amplifier—keeps these suppressed well below regulatory limits.

    The Role of the Source–Path–Victim Model

    One of the most elegant conceptual tools in the chapter is the source–path–victim model.
    Every EMI problem requires:

    1. A source of RF energy
    2. A path (radiated, conducted, or induced)
    3. A victim device susceptible to that energy
    A simplified diagram illustrating three electromagnetic interference (EMI) coupling mechanisms between a source circuit and a victim circuit. Radiated waves between the two blocks represent electromagnetic (radiation) coupling, coiled conductors between the circuits indicate inductive coupling, and a capacitor symbol on the victim side shows capacitive coupling. A shared conductor along the bottom illustrates conductive coupling. The image is labeled “Coupling Mechanisms.”
    Noise Coupling Mechanisms

    Radiation Coupling

    Radiation coupling is the form of RFI most amateurs and engineers encounter: electromagnetic energy simply travels through free space from the source to the victim device. Because it doesn’t rely on any physical connection, it can affect equipment over surprisingly long distances, especially in RF-dense environments such as industrial plants, telecom sites, hospitals, or any setting where multiple transmitters and sensitive receivers share the same airspace.

    Conduction Coupling

    Conduction coupling occurs when unwanted RF energy hitches a ride along conductive paths—power wiring, signal lines, control cables, grounding conductors, or any metal that forms a continuous path between the source and the affected device. This is a common issue in machinery and building wiring, where poor cable management, inadequate bonding, or inconsistent shielding allow interference to propagate directly into sensitive electronics. Good grounding practice, proper cable segregation, and high-quality shield terminations are essential tools for controlling conducted RFI.

    Capacitive Coupling

    Capacitive coupling occurs when an electric field from an interference source induces charge to flow into an adjacent conductor or circuit. This mechanism becomes especially troublesome when components or cables are routed close together—such as neighbouring PCB traces, bundles of control wiring, or harnesses inside industrial enclosures. Thoughtful layout, appropriate separation, and maintaining proper insulation or shielding significantly reduce the risk of RFI coupling through stray capacitance.

    Magnetic Coupling

    Magnetic (inductive) coupling occurs when a varying magnetic field induces voltage into nearby conductors, particularly loops or long parallel runs. This is the mechanism behind many audio rectification problems, transformer hum issues, and interference in industrial control circuits. Twisted-pair cabling, increased spacing, minimizing loop area, and adding magnetic shielding are proven strategies to limit inductive coupling and maintain the integrity of both communication and safety-related signals.

    Real-world problems

    Most real-world problems involve multiple paths. For example:

    • RF radiates from your antenna
    • It couples into your neighbour’s speaker wires
    • The wires conduct it into a cheap audio amplifier
    • A transistor rectifies the RF and produces audible audio

    Until you identify the correct path, you’re just throwing ferrites into the void.

    Differential Mode vs Common Mode: Why Ferrites Work (or Don’t)

    The distinction between differential-mode (DM) and common-mode (CM) currents is key to understanding how to solve interference problems.

    • DM currents flow out on one conductor and back into the other.
      • Filters solve DM.
    • CM currents appear equally on multiple conductors and typically return via ground.
      • Ferrite chokes solve CM.

    A single filter type cannot fix both. Many new hams attack CM problems with DM filters and end up frustrated.

    Cleaning Your Own House First

    Not my shack, but it’s nice and neat!

    One of the most important practical lessons: before helping anyone else with RFI, make sure your own station is clean.

    • Tighten every connector
    • Bond the equipment to a single-point ground
    • Add a low-pass filter (LPF) on HF transmitters
    • Ensure proper coaxial routing and no sharp bends
    • Avoid over-driving microphones or amplifiers
    • Keep a tidy, professional-looking station (this is diplomacy!)

    Nothing inspires confidence like demonstrating your own trouble-free system.

    Filters, Ferrites, and Other Tools in the RFI Toolkit

    Low-Pass Filters (LPF)

    Used on HF transmitters to block harmonics above the cutoff frequency.

    High-Pass Filters (HPF)

    Useful for TV interference, passing UHF/VHF while attenuating HF and strong low-frequency fundamentals.

    Band-Pass, Band-Reject, and Notch Filters

    Situational, but powerful when eliminating narrow interference bands.

    Quarter-Wave Stub Filters

    These are elegant and surprisingly effective. Their length is given by:

    Where

    c = speed of light

    f = frequency

    Vf = velocity factor of the cable

    They create a deep notch at the design frequency and weaker notches at odd harmonics.

    Ferrites (the ham’s best friend)

    Ferrite chokes suppress common-mode currents on:

    • Speaker wires
    • HDMI cables
    • CATV coax
    • USB cables
    • Power cords
    • Audio interconnects

    Ferrites are simple, cheap, and remarkably effective.

    TVI, Audio Rectification, and Troubleshooting Strategies

    Television interference (TVI) and audio rectification are classic RFI battlegrounds.

    Speaker leads are particularly problematic because:

    1. They’re long
    2. They’re often resonant on HF
    3. They connect directly to output transistors
    4. Negative feedback loops re-inject rectified energy

    A simple test: swap the speakers for a pair of short-lead headphones.
    If the interference vanishes, ferrites on the speaker wires are almost guaranteed to solve it.

    Cable TV: Blessing and Curse

    Cable systems should shield against ingress and egress.
    In reality, corrosion, bad connectors, and poor workmanship create unintended long wires that pick up RF beautifully.

    For CATV interference, the first line of defence is always a common-mode choke on the CATV coax

    If that fails, it may be a direct pickup issue inside the TV set—something only the manufacturer can truly fix.

    Grounding: A Double-Edged Sword

    Grounding is essential for safety and lightning protection, but long RF grounds—especially at VHF or UHF—can turn into magnificent radiators.

    A “ground” that’s several wavelengths long is just an antenna with a superiority complex.

    The key is single-point bonding and keeping ground lengths as short as practical.

    A diagram showing a properly grounded amateur radio station setup. A dipole antenna feeds a station entry single-point grounding panel (SPGP) with surge protectors, which is bonded to a ground rod and a perimeter lightning protection grounding system. Inside the shack, the feed line connects to a tuner, then to a transceiver, a power supply, and a computer, with all equipment tied to a common AC safety ground. Shielded cables, protected AC power, and RF bonding paths are shown, along with the operator using a microphone. The diagram emphasizes grounding, surge protection, and safe interconnection of all station components.
    Station bonding and grounding
    image: Ward Silver [5]
    A copper grounding bus bar mounted to a wall using heavy metal brackets, with multiple braided grounding straps and wires bolted to it. The straps are secured with ring terminals and large screws, creating a common grounding point typically used in radio shacks or equipment rooms for RF bonding and electrical safety.
    Example of a station grounding block
    A diagram showing a comprehensive grounding system for an amateur radio tower installation. The main image illustrates a tall guyed antenna tower with coaxial cable grounded at the top and again at the tower base, surrounded by an extensive radial grounding network connected to ground rods. The tower base is bonded to rebar in a concrete foundation, and guy-wire anchors are tied into the radial and grounding system. A smaller inset diagram shows a top-down view of the radial layout and how it connects to the shack’s perimeter ground, SPGP entry panel, and AC service ground. A second inset shows the interior radio shack with the SPGP bonded to telco entry, AC ground, and radio equipment, with the coaxial feed and grounding strap linking the shack to the tower system.
    Antenna and starion bonding and grounding image: Mike Mikelson [6]

    Dealing with Neighbours: The Human Side

    Image: [4]

    Al spent a surprising amount of time on interpersonal skills—and rightly so.

    When someone complains:

    • Stay calm
    • Express concern
    • Explain the issue in simple terms
    • Avoid blaming their equipment
    • Offer to test collaboratively
    • Never open or modify their gear

    If the fault isn’t yours, your role becomes “locator of solutions,” not “provider of unauthorized repairs.”

    Done right, you transform from “the guy causing problems” to “the neighbour who helps solve them.”

    Final Thoughts

    This chapter was one of the best blends of physics, practical engineering, and human communication I’ve encountered in the RAC course so far. RFI isn’t just about circuits—it’s about relationships, systems thinking, and methodical troubleshooting.

    As someone who enjoys both the science and the diplomacy of amateur radio, I came away from Al’s session energized and better equipped—not just to solve interference, but to prevent it, understand it, and teach others about it.

    And with the RF environment becoming more hostile every year, these skills matter more than ever.


    Bibliography

    [1] Al Penney, Radio Frequency Interference, RAC Basic Qualification Course, Chapter 15, Radio Amateurs of Canada, 2025.

    [2] ‘Types, Uses, and Benefits of RF Shielding’. Accessed: Nov. 18, 2025. [Online]. Available: https://www.iqsdirectory.com/articles/emi-shielding/rf-shielding.html

    [3] T. Ellison, ‘Grounding Systems in the Ham Shack – Paradigms, Facts and Fallacies’, Flex Radio. Accessed: Nov. 18, 2025. [Online]. Available: https://helpdesk.flexradio.com/hc/en-us/articles/204779159-Grounding-Systems-in-the-Ham-Shack-Paradigms-Facts-and-Fallacies

    [4] ‘Anger as Man Working From Home Demands Neighbors’ Kids Play Inside’, Newsweek. Accessed: Nov. 18, 2025. [Online]. Available: https://www.newsweek.com/anger-man-working-home-demands-neighbors-kids-play-inside-1732472

    [5] W. Silver, N0AX, ‘Ham Radio Tech: RF Management–In the Field’, OnAllBands. Accessed: Nov. 24, 2025. [Online]. Available: https://www.onallbands.com/ham-radio-tech-rf-management-in-the-field/

    [6] M. Mikelson, KD8DZ, ‘When Lightning Strikes — Grounding for Amateur Radio Stations’, Feb. 25, 2024.

  • Step-by-step—Class 14

    Step-by-step—Class 14

    1. Step by step – 1st Class
    2. Step-by-Step – 2nd Class
    3. Amateur Radio Codes of Conduct
    4. Step-by-Step – 3rd Class
    5. Step-by-Step – Class 4a
    6. Step-by-Step – Classes 4b & 4c
    7. Step-by-Step—Class 5
    8. Step-by-Step—Class 6
    9. Step-by-Step—Class 7
    10. Step-by-Step—Class 8a
    11. Step-by-Step—Class 8b
    12. Step-by-Step—Class 9
    13. Step-by-step—Class 11
    14. Step-by-Step—Class 10
    15. A Modern Code of Conduct and Ethics for Amateur Radio
    16. Step-by-step—Class 12
    17. Step-by-step—Class 13
    18. Step-by-step—Class 14
    19. Step-by-step—Class 15
    20. Step-by-step—Class 16
    21. Step-by-step—Class 17
    22. Reflection: My Amateur Radio Journey So Far
    23. Authorized to Transmit
    24. Starting the Next Chapter: Advanced & CW
    25. Making Winlink, Pat, ARDOP and a Yaesu FTdx10 Work on an Apple Silicon Mac
    26. Winlink on Apple Silicon: The Files, Scripts and One-Click Launcher

    Tuning In: What I Learned About Radio Receivers from Al Penney’s Chapter 14

    A close-up view of a vintage Trio TS-530S HF transceiver showing its front panel controls and illuminated frequency display. The radio features numerous knobs and switches for functions such as load, plate, drive, band selection, AF and RF gain, mic gain, AGC, VOX, and meter settings. An analog meter on the left displays ALC and power readings, while a large central tuning knob dominates the lower middle of the panel. The equipment is part of a larger radio setup, with additional gear visible above and below the transceiver.
    A vintage Trio TS-530S HF transceiver. Image: John Parfrey.

    If you’ve been following my ham-radio learning journey, you already know that every week I come away from Al Penney’s RAC Basic class with at least one “aha!” moment. Chapter 14—Radio Receivers—was no exception. In fact, this one took me right back to 1985, when I was sitting at my test bench on the GFC Hammond shop floor with a scope probe in my hand, trying to figure out why a switching supply refused to behave.

    Receivers, it turns out, aren’t that different: they’re equal parts physics, architecture, and black-magic engineering. What follows are my notes and reflections on what Al covered—sensitivities, selectivities, superhets, noise sources, and that never-ending problem of intermod and cross-modulation that haunts every urban ham.

    What a Receiver Actually Has to Do

    I think most non-hams imagine a radio receiver as a kind of magical ear—just “listening” to signals floating around. In reality, it’s a chain of brutally practical engineering steps:

    1. Capture the RF using the antenna
    2. Select the one frequency we care about from thousands across the spectrum
    3. Amplify it without adding too much noise
    4. Recover the modulation—audio, data, or whatever information was riding on the carrier
    5. Amplify the audio and send it to a speaker, headphones, or computer interface

    Each block in that chain is an opportunity to either improve fidelity or seriously mess things up.

    This is why receiver performance is usually described by the “three Ss + D”: Sensitivity, Selectivity, Stability + Dynamic Range [1].

    Sensitivity: Hearing Signals That Barely Exist

    One of the wildest things about radio is just how small the signals are. At the antenna terminals, we’re often dealing with femtowatts—10-15 watts—yet after running through the receiver chain, we expect clean audio at the speaker.

    In modern HF rigs, sensitivity is rarely the limiting factor anymore. Al pointed out that, using SSB, the Kenwood TS-890 reliably hears down to 0.2 µV between 1.7 and 24.5 MHz [1]. That’s astonishing.

    But sensitivity ultimately runs into physics:

    Below ~30 MHz, the natural noise floor dominates.

    In other words, there’s no point trying to design an HF receiver with another 6 dB of sensitivity—galactic noise, atmospheric noise, and man-made noise swamp the front end long before the Low-Noise Amplifier (LNA) does.

    A few key measurements I found interesting:

    • Noise Figure (NF) – becomes critical at VHF/UHF where sky noise drops dramatically
    • MDS (Minimum Discernible Signal) – usually around −120 to −130 dBm for a good HF rig in 500 Hz BW
    • SNR and SINAD – important especially for FM receivers

    Signal-to-Noise And Distortion (SINAD):

    Where

    S = Signal

    N = Noise

    D = Distortion

    expressed in decibels (dB).

    Al Penney’s material notes:

    For a VHF or UHF receiver, SINAD is typically around 12 dB for an input of 0.25 µV (≈ −119 dBm).

    This is the standard sensitivity measurement used in commercial and amateur FM equipment.

    At VHF/UHF, the internal noise of that first transistor—your LNA—sets the limit. HF? Not so much.

    Selectivity: Where the Adults and Children Separate

    Selectivity is the receiver’s ability to separate two closely spaced signals. And this, more than raw sensitivity, is what earns premium radios their price tag.

    Al made a comment I loved:

    Filter skirt steepness is what separates the adults from the children in HF receiver design. [1]

    The skirts—the shape of the filter’s passband edges—determine how well a receiver rejects adjacent-channel interference. A typical SSB filter might have:

    • –6 dB bandwidth: ~2.3 kHz
    • –60 dB bandwidth: ~3.3 kHz

    A shape factor near 2:1 at 6/60 dB is excellent.

    A simple line graph showing the real frequency response of a band-pass filter. The central “Passband” region is relatively flat, while the response slopes downward on both sides into the “Stopband” areas. Vertical arrows mark the −6 dB points at the edges of the passband and the −60 dB points deeper into the stopband. The graph illustrates how an actual filter response deviates from an ideal rectangular shape, with rounded transitions and imperfect attenuation.
    Receiver Selectivity

    It’s worth appreciating just how much of our “receiver experience” is determined by these numbers. A crowded contest weekend on 20 m can turn a mediocre receiver into a miserable one.

    Digital Signal Processing (DSP) helps—adjustable bandwidth, notch filters, noise reduction—but the basic physics still matter.

    Stability: The End of Drifty Radios

    Anyone who has ever used an old tube rig on CW knows the pain of “chasing” your signal up or down the band as the oscillator warms up.

    Drift simply isn’t a major issue anymore. Modern PLL and DDS synthesizers with temperature-compensated oscillators typically achieve stability in the low parts-per-million (ppm) range [1].

    What DDS Does

    A DDS system creates RF signals digitally by:

    1. Using a numerically controlled oscillator (NCO)
    2. Stepping through a digital sine wave lookup table
    3. Converting the digital waveform to analog using a DAC (Digital-to-Analog Converter)
    4. Filtering the output to produce a clean RF signal

    This allows the radio’s VFO to tune in extremely fine steps (often <1 Hz) with excellent frequency stability.

    Why Radios Use DDS

    Compared with older analog VFOs or PLLs, DDS offers:

    • Very high frequency stability
    • Extremely fine tuning resolution
    • Fast frequency changes (great for scanning or DSP features)
    • Low drift, because it ultimately relies on a stable reference oscillator
    • Ability to implement complex waveforms (FSK, PSK, chirps)

    Still, your VFO is only as good as its reference. If the radio’s timebase drifts, so does every displayed frequency. That’s why Al reminded us to check against WWV, WWVH, or CHU periodically.

    Dynamic Range

    Although it doesn’t get listed alongside Sensitivity and Selectivity, the Dynamic Range of a receiver is every bit as important. It describes, in dB, the span of signal levels over which the radio can still do its job—pulling out the signals we actually care about without collapsing under the load. On the ham bands, this really matters because we routinely deal with whisper-weak signals sitting right beside blowtorch-strong ones, and a receiver with poor dynamic range simply can’t cope. There are a few different ways to measure it, but the rule of thumb is simple: the higher the dynamic range, the better the receiver will behave in real-world conditions.

    Cross-Modulation and Intermod: The Curse of Strong Signals

    Urban hams know this pain well: you’re trying to listen to a clean signal on 146.97 MHz, but the local taxi dispatcher or paging transmitter blasts into your receiver anyway.

    Two related but distinct demons cause this:

    Cross-modulation

    A strong AM signal overloads the front end, causing its modulation to appear on your desired signal. It shows up when:

    • You’re close to a high-power AM broadcast tower
    • Your front-end LNA is being driven into nonlinearity

    Attenuators help. So do front-end filters.

    Intermodulation (IMD)

    Two (or more) strong signals mix inside a nonlinear junction—an RF transistor, a mixer, even a rusty fence. This produces:

    • f1 ± f2
    • 2f₁ ± f₂
    • 2f2 ± f1, etc.

    On 2 m and 70 cm FM, IMD is especially brutal when driving through downtown due to the density of transmitters [1].

    A high third-order intercept point (IP3) is your best defence.

    A high IP3 is one of those specs that separates a decent receiver from a truly capable one. It’s a measure of how linear the receiver is—basically, how well it can deal with strong nearby signals without creating its own intermodulation junk. When multiple strong signals are floating around just outside your passband, a receiver with good IP3 will stay composed; a poor one will start generating intermod products that show up as false signals and make life miserable.

    The higher the IP3, the more signal the front end can tolerate before nonlinearities kick in and begin creating interference that wasn’t actually there. In real operating conditions—especially in busy urban RF environments or during contests—high IP3 performance is your best defence against overload, distortion, and those phantom signals that clutter up the band. It’s a key part of keeping the receiver clean, stable, and able to pull in the signal you actually care about.

    Explanation of Third-Order Intercept Point (IP3)

    • IP3 is a theoretical power level where the power of the third-order intermodulation products theoretically equals the power of the desired signal.
    • It defines the linearity limit of a receiver or amplifier; beyond this point, nonlinearities create distortion.
    • A higher IP3 indicates better linearity and less distortion at high signal levels, which are crucial for maintaining signal integrity in crowded or high-signal environments.

    Importance of high IP3 in Radio Receivers

    • Receivers with high IP3 are better at handling strong signals from nearby transmitters or multiple signals simultaneously without generating spurious signals.
    • This reduces false readings or signal interference, which is critical in applications such as amateur radio, communications, and radar.

    Noise, Noise Everywhere

    Noise sets the absolute bottom limit of what we can hear. Al divided it into two broad categories:

    Natural Noise (QRN)

    • Galactic background
    • Atmospheric static
    • Lightning

    Lightning bursts are wideband, energetic, and brutal—but noise blankers can help.

    Man-Made Noise (QRM)

    This is the stuff we fight all the time:

    • LED lightbulbs
    • Switching power supplies
    • Thermostats
    • EV chargers
    • Solar inverters
    • Grow lights (ask any ham living next to a basement gardener…)

    Al even mentioned Chinese HF radar systems—those rapid-fire pulses that light up the waterfall like a machine gun. We can’t fix those, but we can recognize them.

    The only real cure for local noise? Track it down and eliminate it at the source. A portable receiver is your best friend here.

    A Beautiful Example: The Humble Crystal Radio

    Al finished with a walk-through of the simplest possible receiver: the classic crystal set like the one I built as a kid. No power supply. No amplifier. Just:

    • A resonant LC circuit
    • A diode detector (originally galena with a cat-whisker)
    • High-impedance headphones
    Crystal radio wiring pictorial based on Figure 33 in Gernsback’s 1922 book “Radio For All” — JA.Davidson at the English Wikipedia, CC BY-SA 3.0, via Wikimedia Commons
    Crystal radio schematic. [4]

    The entire audio output is derived from the energy in the received RF signal. That still blows my mind—especially knowing how much we depend on active devices today.

    Crystal sets are a reminder that, at its core, radio is elegant physics. Everything else—DSP, PLL synthesizers, roofing filters—is refinement.

    Final Thoughts

    Every chapter in this course has filled gaps in my understanding, but this one tied everything together: noise, filters, amplifiers, mixers, all working in a carefully balanced dance. And as someone who spent a good chunk of the ’80s elbow-deep in analog circuits, it’s incredibly satisfying to revisit the fundamentals with fresh eyes.

    Next week, we move into transmitter architecture. I’m looking forward to it—and I’m already expecting another “aha!” moment.


    References

    [1] A. Penney, Radio Receivers (RAC Basic Course – Chapter 14), Radio Amateurs of Canada, 2025.

    [2] A. Z. Peebles, Communication System Principles, 4th ed. Reading, MA: Addison-Wesley, 1998.

    [3] American Radio Relay League (ARRL), The ARRL Handbook for Radio Communications, 100th ed. Newington, CT: ARRL, 2023.

    [4] B. Finio, ‘Build Your Own Crystal Radio’, Science Buddies. Accessed: Nov. 18, 2025. [Online]. Available: https://www.sciencebuddies.org/science-fair-projects/project-ideas/Elec_p014/electricity-electronics/crystal-radio

  • Step-by-step—Class 13

    Step-by-step—Class 13

    1. Step by step – 1st Class
    2. Step-by-Step – 2nd Class
    3. Amateur Radio Codes of Conduct
    4. Step-by-Step – 3rd Class
    5. Step-by-Step – Class 4a
    6. Step-by-Step – Classes 4b & 4c
    7. Step-by-Step—Class 5
    8. Step-by-Step—Class 6
    9. Step-by-Step—Class 7
    10. Step-by-Step—Class 8a
    11. Step-by-Step—Class 8b
    12. Step-by-Step—Class 9
    13. Step-by-step—Class 11
    14. Step-by-Step—Class 10
    15. A Modern Code of Conduct and Ethics for Amateur Radio
    16. Step-by-step—Class 12
    17. Step-by-step—Class 13
    18. Step-by-step—Class 14
    19. Step-by-step—Class 15
    20. Step-by-step—Class 16
    21. Step-by-step—Class 17
    22. Reflection: My Amateur Radio Journey So Far
    23. Authorized to Transmit
    24. Starting the Next Chapter: Advanced & CW
    25. Making Winlink, Pat, ARDOP and a Yaesu FTdx10 Work on an Apple Silicon Mac
    26. Winlink on Apple Silicon: The Files, Scripts and One-Click Launcher

    From Sparks to Sidebands: Learning Modulation All Over Again

    By Doug Nix, VE3— (future call sign pending!)

    When I started my electronics career at GFC Hammond Electronics in Guelph back in 1985, I spent my days testing and repairing linear and switch-mode power supplies. At the time, “modulation” meant watching ripple currents on the Tektronix scope or chasing a dead short upstream from an LM723 regulator. It wasn’t until I recently delved deeper into amateur radio that I began to appreciate how the same fundamental principles—mixing, switching, filtering, duty cycles, and harmonics—show up everywhere in RF.

    Last night’s RAC Basic lecture from Al Penney was another reminder that nearly every radio mode we use today is built on deceptively simple physical principles: change some characteristic of a carrier, and you can transport information across the planet. What changes is the cleverness with which we do it.

    This post is my attempt to capture what I learned, in my own words, with enough technical depth to keep it interesting.


    Continuous Wave (CW): Where Radio Began

    The earliest radio systems didn’t carry voice—they simply turned a carrier on and off. That’s continuous wave (CW), and it’s astonishingly robust, even in 2025.

    CW transmitter block diagram

    CW works because the information rate is slow and the bandwidth is tiny. That allows the receiver to use extremely narrow filters—sometimes only a few hundred hertz—which dramatically raises the signal-to-noise ratio. A CW signal can hide below the noise floor and still be copyable by a trained ear.

    Keyed sinusoidal waveform, like you might see from a CW transmitter

    One technical detail I found particularly interesting: the bandwidth of a keyed carrier is governed by the abruptness of the transitions. “Abruptness” refers to the slew rate of the switching waveform. More abrupt changes require a faster slew rate, which in turn creates harmonics. Slowing the corners on the waveform “softens” the transitions, thereby reducing or eliminating the harmonics.

    Hard keying produces broadband splatter due to the harmonics caused by the corners on the waveform—what old-timers call key clicks. So modern rigs shape those edges digitally to keep the spectrum clean.

    AM: The First Voice Mode—and the Inefficient One

    Amplitude Modulation was the first way we got voice on the air. It is also, by every modern measure, terribly inefficient.

    Why?

    Because an AM signal consists of:

    • A carrier (which carries no information)
    • A lower sideband
    • An upper sideband

    If your audio contains frequencies up to 6 kHz, the RF bandwidth becomes ±6 kHz on each side of the carrier—12 kHz total. Only the sidebands contain information; the carrier exists solely to help a simple diode demodulator recover the audio.

    This is why:

    • AM transmitters waste power on the carrier
    • AM takes up twice the necessary bandwidth
    • AM is inherently vulnerable to noise (almost all noise sources are amplitude-based)

    PEP (peak envelope power) becomes especially important in AM. A 100 W PEP transceiver can legally deliver only ~25 W of AM carrier because 100% modulation requires the envelope to swing to the carrier power.

    Modulated waveform

    As someone who spent years debugging over-stressed power supplies, I now appreciate how much engineering went into keeping broadcast transmitters from exceeding that 100% limit. Overmodulation introduces phase reversals and spurious emissions extending theoretically to infinity—an EMC/Spectrum nightmare.

    Mixers: The Beating Heart of RF

    Al’s explanation of mixing echoed something I first learned at Hammond while troubleshooting transformers: non-linear systems create new frequencies.

    A mixer multiplies two signals:

    • Carrier frequency f1
    • Modulating or local oscillator frequency f2

    The output contains:

    • f1 + f2
    • f1f2
    • …plus other products if the device is imperfect, which it always is.

    This simple principle is what makes the superheterodyne receiver possible, and it’s how we shift an audio waveform up into the RF spectrum. Every mode—AM, FM, SSB, digital—depends on this idea.

    Sidebands and SSB: Why We Don’t Run AM Anymore

    In amplitude modulation, all the information is in the sidebands. Once you realize that both sidebands contain the same information, it becomes obvious: send only one.

    Enter Single Sideband (SSB)—a refinement of AM where:

    • One sideband is removed
    • The carrier is suppressed
    • Bandwidth is cut in half
    • Transmitted power is concentrated entirely in the useful spectrum

    That’s why SSB is the standard for HF voice. With a typical 3 kHz voice channel:

    • AM occupies ~6 kHz
    • SSB occupies ~2.7–3.0 kHz
    • FM occupies 10–15 kHz
    • And you can fit 2× as many SSB QSOs into a band as AM

    SSB also gives far better “punch” for the watt. A 100 W PEP SSB signal delivers voice peaks that punch through marginal conditions, and your average power is typically 10–20% of that unless you engage heavy speech processing [1].

    FM: Quieting, Capture, and Why VHF Sounds So Clean

    Frequency Modulation is a different animal. Instead of changing amplitude, we change the instantaneous frequency of the carrier.

    Two things make FM special:

    1. It rejects amplitude noise

    Because the information is in the frequency deviation, not amplitude, the receiver can use a limiter to discard all amplitude variation. That’s why FM broadcast radio sounds clean even with multipath, ignition noise, and urban interference.

    2. The Capture Effect

    If two FM signals are present on the same frequency, the stronger one “captures” the receiver. This is both a blessing (for repeaters) and a curse (for aviation, which uses AM, allowing overlapping transmissions to still be heard).

    FM also supports wideband (e.g., ±75 kHz for broadcast) and narrowband (typically ±2.5–5 kHz for amateur VHF/UHF).

    Carson’s Rule gives a quick estimate of FM bandwidth:

    BW ≈ 2 (Δf + fm)
    where Δf is peak deviation and fm is highest audio frequency.

    So a typical VHF ham radio:

    • ±3 kHz deviation
    • 3 kHz audio
    • BW ≈ 12 kHz

    No wonder we must be careful about over-deviating—your excitement literally widens your signal.

    Digital Modes: RTTY, Packet, and the March Toward Software

    Watching Al trace the evolution from Baudot, to AFSK, to modern sound-card decoding reminded me how far we’ve come from electromechanical teleprinters banging away in newsrooms.

    RTTY uses frequency shift keying (FSK):

    • One frequency = mark
    • Another = space
    • Typically ~170 Hz shift on HF

    Packet radio took the next step by wrapping data into structured frames with error detection (FCS) and acknowledgments—essentially, an early version of TCP/IP over RF.

    Today, software like fldigi, WSJT-X, and Direwolf replaces dozens of kilograms of mechanical equipment with a laptop and a USB cable.

    It’s astonishing to think that in my Hammond days, many of these digital modes were still hardware-based. Today, everything from modulation to filtering to demodulation is done numerically.

    Reflections as a New(er) Ham

    Studying modulation theory now—at this stage of my life—is a strange kind of homecoming. It’s refreshing, frankly. I’m reconnecting with the core physics and mathematics that first drew me into electronics before life led me into safety engineering, risk assessment, standards development, and consulting work.

    What strikes me most is that every mode is a tradeoff:

    • AM: simple but inefficient
    • SSB: efficient but harder to generate and tune
    • FM: noise-resistant but spectrally wide
    • CW: narrow and penetrating but slow
    • Digital: flexible but computationally heavy

    Each choice reflects a balance between bandwidth, power, complexity, and robustness—the same constraints I deal with every day in engineering safety systems.

    And that’s the joy of amateur radio: it’s the perfect intersection of physics, engineering, history, and pure hands-on experimentation.

    Can’t wait for the next chapter!


    References

    [1] A. Penney, Chapter 13 – Modulation and Transmitters. RAC Basic Qualification Course, Radio Amateurs of Canada. Ch13-Modulation-and-Transmitters

    [2] W. Sabin and E. Schoenike, HF Radio Systems & Circuits. New York, NY, USA: McGraw-Hill, 1998.

    [3] J. R. Carson, “Notes on the Theory of Modulation,” Proceedings of the IRE, vol. 10, no. 1, pp. 57–64, Feb. 1922.

    [4] E. H. Armstrong, “A Method of Reducing Disturbances in Radio Signaling by a System of Frequency Modulation,” U.S. Patent 1,941,066, filed Dec. 26, 1933, and issued Dec. 26, 1933.

    [5] Federal Communications Commission (FCC), Title 47 CFR Part 97 – Amateur Radio Service, U.S. Government Publishing Office, 2024.

    [6] A. B. Carlson, Communication Systems: An Introduction to Signals and Noise in Electrical Communication, 4th ed. New York, NY, USA: McGraw-Hill, 2002.

    [7] J. D. Kraus, Electromagnetics, 4th ed. New York, NY, USA: McGraw-Hill, 1992.

    [8] G. L. Tarkington and R. L. Ferrel, “The Single-Sideband Story,” QST, vol. 41, no. 7, pp. 17–23, July 1957.

    [9] M. Schwartz, W. R. Bennett, and S. Stein, Communication Systems and Techniques. New York, NY, USA: McGraw-Hill, 1966.

    [10] H. T. Friis and C. B. Feldman, “A Multiple-Unit Steerable Antenna for Short-Wave Radio Transmission,” Bell System Technical Journal, vol. 17, no. 2, pp. 337–364, Apr. 1938.

    [11] K. R. Hardis, “Understanding Peak Envelope Power,” QEX – Communications Quarterly, no. 169, pp. 3–10, Nov./Dec. 1995.

    [12] ITU Radiocommunication Bureau, ITU-R SM.328-12: Spectra and Bandwidth of Emissions, International Telecommunication Union, Geneva, 2015.

    [13] ITU Radiocommunication Bureau, ITU-R F.1110 – Frequency-Shift Keying and Keying Characteristics, International Telecommunication Union, Geneva, 2019.

    [14] L. E. Kahn, “Single-Sideband Transmission by Envelope Elimination and Restoration,” Proceedings of the IRE, vol. 40, no. 7, pp. 803–806, July 1952.

    [15] D. H. Johnson and J. E. Johnson, Modern Communications Systems: Principles and Applications. Boston, MA, USA: Pearson, 2010.