Skip to content
Gloucester County Amateur Radio Club

Gloucester County Amateur Radio Club

Skunkworks Advanced Project Team

Menu
  • Home
  • Club Activities
    • Current WSPR & Band Report
    • Clubhouse WSPR Station Report
    • Saturday Clubhouse Satellite Opportunities
    • Weekly Satellite Report
    • Recent DMR Activity
    • Upcoming ISS APRS Activities
    • Upcoming ISS Viewing Opportunities
    • Current ISS SSTV Images
    • GOES 19 Weather Video
  • Clubhouse
    • Saturday Clubhouse Weather
    • The GCARC Clubhouse
    • Grounding Project
    • Networking Infrastructure
    • Work and Test Bench
    • Clubhouse Satellite Station
      • Satellite Rotator Controller
      • Satellite Station Remote Operation
    • SatNOGS Ground Station
    • Earth-Moon-Earth (EME)
    • Discovery Satellite Snooping Dish
    • GOES-19 Satellite Reception
    • Clubhouse Remote nRSP-ST Resource
    • Skunkworks GitHub Resource
    • ISS SSTV
    • NOAA Weather Fax
    • ADS-B
  • Technical Resources
    • WSPR Network Resources
      • The TAPR WSPR Board for Dummies
      • Why Is My WSPR Signal 1500 Hz Off? — A Tale of Two Frequencies
      • GCARC WSPR Network — Project Description
      • GCARC WSPR Network — Technical Reference
      • GCARC WSPR Network — Band Selection Guide
      • GCARC WSPR Network — Analysis and Reporting
      • The GCARC WSPR Network — Member Q&A
    • DMR
      • What is a DMR Codeplug?
        • What Are DMR Channels?
        • What Are DMR Timeslots?
        • What is a Talkgroup in DMR?
        • What Are DMR Zones?
      • What is a DMR Hotspot?
      • Configuring DMR Hotspot for GCARC Talk Group
      • Connecting to the GCARC DMR TalkGroup with a Yaesu System Fusion Radio and a Hotspot
      • Using DM-1701 CPS Program
      • Open GD77 on Baofeng DM1701
      • Pi-based OpenGD77 Flasher: Bypassing Windows Driver Headaches
        • OpenGC77 Codeplug
    • Software-Defined Radios
      • Software Defined Radio Demystified
      • Installing an RTL-SDR on a Windows PC
      • SDR Tech Saturday Presentation January 2025
      • SDR Client Applications for Mac
      • Creating a PiAware Station to Track Airplanes
        • Installing PiAware Using the Prebuilt SD Card Image with Raspberry Pi Imager
        • Installing PiAware using Command Line Commands
    • Receiving ISS SSTV Images
    • Meshtastic
      • Getting Started with Meshtastic on 915 MHz
      • How to Join the GCARC Channel on Your Meshtastic Device Using a QR Code
      • Installing the Meshtastic CLI on a Windows PC
      • Window-Mounted 915 MHz Meshtastic Yagi Antenna Project
      • Meshtastic CLI Commands
    • Exploring Ham Radio Digital Modes: Packet Radio and WSJT-X
      • Packet Radio (AX.25) in Amateur Digital Communications
      • Exploring WSJT Digital Modes
    • BTECH UV-PRO Radio
      • Satellite Mode for the UV-PRO
    • TIDRADIO H3 Resources
      • TIDRADIO TD-H3 Transceiver: Comprehensive Briefing
      • Overview of Stock Firmware Menu System
      • Comparison of Stock TIDRADIO Firmware vs. nicFW V2 Firmware
    • Balloon Project
      • Balloon Launch – 2025-03-17
    • 3D Printed Projects
    • Tech Saturday Presentations
    • Receiving ISS HamTV
  • STEM Activities
    • STEM Club Weather
    • STEM Club Villanova Trip
    • STEM Club Satellite Pass Schedule
  • Public Service
    • Winlink VHF and HF Gateways
    • APRS Weather Reporting Station
    • AREDN Development
  • The Foundation
  • Blog
  • Contact

The TAPR WSPR Board for Dummies

The TAPR WSPR Board for Dummies

How a Raspberry Pi and a small circuit board put your signal on the map — literally
GCARC Skunkworks • W2MMD

The TAPR WSPR transmitter boards — the original “WSPR Without Tears” (WWoT) and the newer “Versatile WSPR” (VW) — are add-on boards that plug onto a Raspberry Pi and turn it into a complete WSPR beacon. This article explains what’s actually happening inside, from GPIO pin to antenna, in plain language.

What Is WSPR and Why Should You Care?

WSPR (pronounced “whisper”) stands for Weak Signal Propagation Reporter. It’s a digital mode created by Joe Taylor, K1JT, that works like a ham radio beacon. Your transmitter sends a short, precisely encoded message containing your callsign, grid square, and transmit power. WSPR receivers around the world pick up these signals and log them to a central database at wsprnet.org.

The magic of WSPR is that it works at absurdly low power levels. It’s routine to transmit 100–200 milliwatts from New Jersey and be received in Australia or Europe. You put your beacon on the air, then sit back and watch from the internet as your signal gets picked up across the globe. It’s a fascinating way to study propagation — how time of day, seasons, and solar conditions affect where your signal reaches.

The Big Picture

The TAPR board solves two problems with using a bare Raspberry Pi as a WSPR transmitter. First, the Pi’s raw output is only about 10 milliwatts — not much. Second, that raw output is a square wave loaded with harmonics that would splatter energy across multiple bands. The board amplifies the signal and filters it clean.

Here’s the complete signal chain at a glance:

Pi GPIO Pin 7~10 mW square wave
→
MOSFET Amplifierboost to 100–200 mW
→
7-Pole Low-Pass Filterkill harmonics (−43 dB)
→
BNC to Antennaclean sine wave out

Let’s walk through each stage.

Stage 1: The Pi Creates the Signal

Signal Source

This is the clever part. The Raspberry Pi has a programmable clock output on GPIO 4 (physical header pin 7). Software called WsprryPi reprograms the Pi’s internal PLL (phase-locked loop) clock synthesizer to output a signal at the desired HF frequency — say 10.1387 MHz for the 30-meter band.

WSPR messages are encoded using FSK — frequency-shift keying. The protocol uses four tones spaced about 1.46 Hz apart. The software achieves this by making tiny adjustments to the clock synthesizer’s frequency divider every symbol period, nudging the output frequency by just a couple of hertz at a time. The Pi also syncs to internet time servers (NTP), because WSPR receivers need to know exactly when to start listening — timing precision matters.

What comes out of pin 7 is a 3.3-volt square wave at RF frequency, already modulated with your WSPR message. No external oscillator, no sound card, no mixer — just clever software manipulation of the Pi’s own clock hardware. That signal carries about 10 milliwatts of power.

Stage 2: The Amplifier Boosts It

Amplification

Ten milliwatts isn’t much to work with. The TAPR board uses a BS170 N-channel MOSFET transistor to boost the signal. The Pi’s square wave drives the transistor’s gate, switching current through a drain inductor connected to the 5-volt supply. A small potentiometer on the board lets you set the bias current — the VW version specifies about 60 milliamps.

This stage brings the output up to roughly 100–200 milliwatts (20–23 dBm), depending on which version of the board you have. The signal is still a square wave at this point — just a bigger one. And that’s a problem, because square waves are loaded with harmonic energy. Which brings us to the most important stage on the board.

A Quick Detour: Why Square Waves Are a Problem

This is the key concept that makes the rest of the board make sense.

A sine wave is the simplest possible oscillation. It contains energy at exactly one frequency and nothing else. It is the fundamental building block of all waveforms.

A square wave, by contrast, is built from a stack of sine waves added together. A theorem from the mathematician Fourier tells us that a perfect square wave at frequency f is actually the sum of sine waves at f, 3f, 5f, 7f, and so on — all the odd harmonics — with each one smaller than the last.

Think of it like building a brick wall with round stones. To get those sharp corners and flat surfaces, you need a lot of small stones filling in the gaps. A smooth dome (sine wave) takes just one curve. A flat-topped, sharp-edged wall (square wave) requires lots of additional high-frequency detail to hold its shape.

So a 10 MHz square wave doesn’t just contain energy at 10 MHz. It’s simultaneously transmitting at 30 MHz, 50 MHz, 70 MHz, and on up. The 3rd harmonic of a 40-meter signal lands right in the 15-meter band. The 3rd harmonic of 30 meters lands near 10 meters. Without filtering, you’d be splattering signals across the HF spectrum — that’s illegal, inconsiderate, and exactly what the low-pass filter is there to prevent.

Stage 3: The Filter Cleans It Up

7-Pole Low-Pass Filter

The 7-pole low-pass filter is the heart of the TAPR board. It’s built from three inductors and four capacitors arranged in a classic LC ladder network. The component values are chosen so that the filter’s cutoff frequency sits just above the operating band.

Here’s what it does: signals at the fundamental frequency pass through with very little loss — the filter is essentially transparent to them. But as frequency increases, the inductors (whose impedance rises with frequency) increasingly resist the signal, while the capacitors (which become better conductors at higher frequencies) shunt that energy to ground. By the 3rd harmonic, the signal is reduced by at least 43 dB — that’s a reduction of more than 99.99%.

Imagine the square wave as a musical chord containing a bass note (the fundamental) plus a bunch of high-pitched overtones (the harmonics). The filter is like an EQ that passes the bass note through untouched but aggressively rolls off everything above it. What comes out the other side is just the bass note — a pure tone.

Since the fundamental frequency component of a square wave is already a perfect sine wave, removing the harmonics doesn’t create a sine wave out of nothing — it reveals the one that was always there as the dominant component. The filter is subtractive, like a sculptor removing stone to reveal the shape inside.

The Versatile WSPR (VW) version of the board ships without the filter components installed. You solder in the specific capacitor and inductor values for your chosen band, which lets one board design cover everything from 160 meters through 10 meters.

One More Thing: How Does the Signal Become AC?

There’s a subtle detail worth understanding. The Pi’s GPIO pin swings between 0 volts and +3.3 volts — it never goes negative. But an RF signal on an antenna needs to swing symmetrically above and below zero. How does that transition happen?

The capacitors in the signal path make this happen automatically. Here’s the mechanism: during the high portion of the square wave (3.3V), the first coupling capacitor in the circuit charges up. During the low portion (0V), that capacitor discharges back through the circuit. From the perspective of everything downstream, that discharge current is flowing in the opposite direction — and the downstream side sees it as a negative voltage.

In steady state, the capacitor sits charged to the average DC level of the signal (about 1.65V). The output side of the capacitor then swings equally above and below zero: roughly +1.65V during the high periods and −1.65V during the low periods. The total swing is still 3.3V peak-to-peak, but it’s now centered on zero.

In short: the zero-voltage periods of the original square wave don’t stay at zero. The capacitor’s discharge pulls them negative. The capacitors in the low-pass filter serve double duty — they remove harmonics and strip the DC offset, delivering a clean, symmetric AC sine wave to the antenna.

The Output

After all of this, what arrives at the BNC connector is a clean sine wave at the desired WSPR frequency, swinging symmetrically positive and negative, carrying 100–200 milliwatts of power. The board also includes a simple diode-and-capacitor RF detector that provides a DC voltage at a test point so you can confirm the transmitter is working without needing a scope or power meter. An LED lights up during transmit as a visual sanity check.

Connect an antenna, and the signal goes out into the world. Receivers across the globe decode your callsign, log it to wsprnet.org, and you can watch from your browser as your 200 milliwatts reaches places thousands of miles away.

Summary

The TAPR WSPR boards are an elegant solution to a fun problem. The Raspberry Pi does something remarkable — it generates a fully modulated WSPR signal using nothing but software manipulation of its clock hardware. The TAPR board then takes that raw signal and does the two things needed to make it legal and useful: it amplifies it from 10 mW to 100–200 mW, and it filters out the harmonic energy that’s inherent in the Pi’s square-wave output, delivering a clean sine wave to your antenna.

The whole thing fits in your hand, costs well under $100, runs unattended, and needs nothing more than a Pi, a power supply, an internet connection, and a wire antenna. Not bad for a propagation laboratory.

GCARC Skunkworks • Gloucester County Amateur Radio Club • W2MMD

 Save as PDF

Archives

  • July 2024
  • November 2023
  • April 2023
  • March 2023
  • June 2022
  • July 2021
  • April 2021
  • March 2021
  • September 2020
  • September 2019
  • August 2019
  • July 2019
  • June 2019
  • December 2018
  • November 2018
  • October 2018
  • September 2018
  • August 2018
  • July 2018
  • June 2018
  • May 2018
  • April 2018

Categories

  • Balloon
  • Clubhouse Infrastructure
  • Digital Position Tracking
  • Raspberry Pi
  • Satellite Images
  • Satellite Operations
  • Satellite Telemetry
  • SDR
  • Uncategorized

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org
  • Home
  • Club Activities
    • Current WSPR & Band Report
    • Clubhouse WSPR Station Report
    • Saturday Clubhouse Satellite Opportunities
    • Weekly Satellite Report
    • Recent DMR Activity
    • Upcoming ISS APRS Activities
    • Upcoming ISS Viewing Opportunities
    • Current ISS SSTV Images
    • GOES 19 Weather Video
  • Clubhouse
    • Saturday Clubhouse Weather
    • The GCARC Clubhouse
    • Grounding Project
    • Networking Infrastructure
    • Work and Test Bench
    • Clubhouse Satellite Station
      • Satellite Rotator Controller
      • Satellite Station Remote Operation
    • SatNOGS Ground Station
    • Earth-Moon-Earth (EME)
    • Discovery Satellite Snooping Dish
    • GOES-19 Satellite Reception
    • Clubhouse Remote nRSP-ST Resource
    • Skunkworks GitHub Resource
    • ISS SSTV
    • NOAA Weather Fax
    • ADS-B
  • Technical Resources
    • WSPR Network Resources
      • The TAPR WSPR Board for Dummies
      • Why Is My WSPR Signal 1500 Hz Off? — A Tale of Two Frequencies
      • GCARC WSPR Network — Project Description
      • GCARC WSPR Network — Technical Reference
      • GCARC WSPR Network — Band Selection Guide
      • GCARC WSPR Network — Analysis and Reporting
      • The GCARC WSPR Network — Member Q&A
    • DMR
      • What is a DMR Codeplug?
        • What Are DMR Channels?
        • What Are DMR Timeslots?
        • What is a Talkgroup in DMR?
        • What Are DMR Zones?
      • What is a DMR Hotspot?
      • Configuring DMR Hotspot for GCARC Talk Group
      • Connecting to the GCARC DMR TalkGroup with a Yaesu System Fusion Radio and a Hotspot
      • Using DM-1701 CPS Program
      • Open GD77 on Baofeng DM1701
      • Pi-based OpenGD77 Flasher: Bypassing Windows Driver Headaches
        • OpenGC77 Codeplug
    • Software-Defined Radios
      • Software Defined Radio Demystified
      • Installing an RTL-SDR on a Windows PC
      • SDR Tech Saturday Presentation January 2025
      • SDR Client Applications for Mac
      • Creating a PiAware Station to Track Airplanes
        • Installing PiAware Using the Prebuilt SD Card Image with Raspberry Pi Imager
        • Installing PiAware using Command Line Commands
    • Receiving ISS SSTV Images
    • Meshtastic
      • Getting Started with Meshtastic on 915 MHz
      • How to Join the GCARC Channel on Your Meshtastic Device Using a QR Code
      • Installing the Meshtastic CLI on a Windows PC
      • Window-Mounted 915 MHz Meshtastic Yagi Antenna Project
      • Meshtastic CLI Commands
    • Exploring Ham Radio Digital Modes: Packet Radio and WSJT-X
      • Packet Radio (AX.25) in Amateur Digital Communications
      • Exploring WSJT Digital Modes
    • BTECH UV-PRO Radio
      • Satellite Mode for the UV-PRO
    • TIDRADIO H3 Resources
      • TIDRADIO TD-H3 Transceiver: Comprehensive Briefing
      • Overview of Stock Firmware Menu System
      • Comparison of Stock TIDRADIO Firmware vs. nicFW V2 Firmware
    • Balloon Project
      • Balloon Launch – 2025-03-17
    • 3D Printed Projects
    • Tech Saturday Presentations
    • Receiving ISS HamTV
  • STEM Activities
    • STEM Club Weather
    • STEM Club Villanova Trip
    • STEM Club Satellite Pass Schedule
  • Public Service
    • Winlink VHF and HF Gateways
    • APRS Weather Reporting Station
    • AREDN Development
  • The Foundation
  • Blog
  • Contact

Gloucester County Amateur Radio Club 2026 . Powered by WordPress