WSPR setup - RPi - 40m LPF

As you can read in WSPR setup - RPi - no filter the WSPR Tx output of GPIO4 is more or less a square wave signal which can't keep up the speed. So a filter is needed.


The WsprryPi program is able to transmit on all Ham bands up to 2m. So it would be nice to develop a Raspberry Pi shield which is able to transmit on more than one band.

For the moment a combination of 80m, 40m and 20m would be nice...
This will eventually lead to a low-pass/band filter for each band.

But for now lets start with a low-pass filter for 40m. This will suppress the 20m signal and a leaves the 80m signal relatively dirty.

Lets give it a try...

WSPR - RPi shield

In this experiment I started with a simple shield design:

  • buffer for GPIO4 (emitter follower)
  • low-pass filter (pi filter)

The cut-off frequency will be 7 MHz. Resulting in this schema:

WSPR RPi shield 40m low-pass filter
WSPR RPi shield 40m low-pass filter
WSPR RPi shield LPF 40m coil
WSPR RPi shield LPF 40m components header side


The output signal should be measured with a spectrum analyser. I will do that later at the club.

WSPR Raspberry Pi 40m LPF shield
WSPR Raspberry Pi 40m LPF shield

For now a 40 MHz scope will give a visual impression. Compared to the measurements without filters (WSPR setup - RPi - no filter).

Output power

Upper scope signal is the input of the filter.
Lower scope signal is the output of the filter.

Scope scale 1V/div. 50Ω dummy-load:

80m: 30mW (3.5V top-top)


The output signals is far from clean... as expected.

40m: 15mW (2.5V top-top)


Visually nice looking signal.
The output signal is -3dB relative to the 80m signal. This indicates the cut-off frequency is indeed around 7MHz.

30m: 2.5mW (1V top-top)


The filter input signal is -3dB relative to the 40m/80m input signal. The output signal about -8dB.

20m: 0.25mW (0.3V top-top)


The filter input signal is about -6dB relative to the 40m/80m signal. The output signal -21dB.
This means the filter has a -15dB/octave slope.

Spectrum analyser

A spectrum analyser has to make a final verdict. There's a spectrum analyser available at the VERON club.

Vertical scale 10dB/div.


WSPR 80m terminal

WSPR 80m 40m LPF spectrum

Signal not usable... To many harmonics and only 20dB suppressed.
The Pi also produces random rubbish / noise over a wide frequency range.


WSPR 40m terminal

WSPR 40m 40m LPF spectrum

The LPF filter does it's work, but first harmonic is only -30dB suppressed.


WSPR 20m terminal

WSPR 20m 40m LPF spectrum

No measurable harmonics. The 20m signals is -20dB relative to a 40m signal. To weak for WSPR use.


Only the 40m WSPR signal is more or less usable.
Still the Raspberry Pi noise may be a problem, although it's suppressed -35dB or more relative to 10mW. That's less than 3µW...

Better solution:

  • dedicated band pass filter for each band

A band pass filter not only suppresses the harmonic frequencies, but also eliminates the Raspberry Pi random rubbish below (and above) the signal frequency

Theme by Danetsoft and Danang Probo Sayekti inspired by Maksimer