WSPR beacon

dav

WSPR (pronounced « whisper ») stands for « Weak Signal Propagation Reporter ». It is a protocol, used for weak-signal radio communication. The protocol was designed, and a program written by Joe Taylor, K1JT. This project is a stand alone WSPR beacon complete  and a radio transmitter including low pass filters. The beacon, once configured, will run stand alone transmitting a WSPR sequence each even minute.

WSPR beacon features:

Arduino nano (atmega328P) based microcontroller :

  • Support Arduino IDE 1.0+ (OSX/Win/Linux)
  • Power via USB or External Source + 5v
  • Built-in USB
  • 2 I/O Pins (for GPS receiver)
  • Removable filter
  • AD9850 DDS
  • RTC DS3231
  • BS170 power amplifier 0.1W
  • Fit in Aluminium Instrument Box Enclosure Case 100x66x43
  • Status LED.
  • PCB available (f4goh at orange.fr)
  • diaporamas en français ici
  • wspr ebay links

1 Introduction

The idea is to learn how to build a transmitter without using an assembly ready to use. You will learn how to program a DDS, make filters and setting of the transmission frequency.

Main board description:

syno
All the modules used

The wspr imposes a transmission every minute even. the simplest is to use a real-time clock instead GPS.

schema complet_bb
The transmitter can be wired on a breadboard
reports_wspr
My last reports, not so bad with 0.1W

Schematics:

balise HF
 

schematics in hires

 

Two ways to use bs170:

– use QN (J2) DDS output and replace C7 capacitor by a strap. don’t put R3,C6,R4,L1, and left j8 open (this is the configuration i used). Adjust DDS 9850 trim to have a ~ « square wave » at the QN output. When transmission is OFF QN voltage should be 0V. Use any scope , you can find GND connection at PT5.

– use SINB(J2) and apply voltage polarization on BS170 gate. (put R3,C6,R4,L1 and strap J8) then apply analogWrite command on nano pin 6. (to adjust gain by software). if gain value is too high bs170 may be destroyed.

You can find a pad space to experiment your own stuff and change bs170 to another transistor.

J1 connector could be dedicated for GPS input. But it can be used for another things like external lowpass filter commutation.

Ds1820 is planned just for fun, to send temperature by RTTY or PSK modulation.

pcb
A PCB was made to facilitate a setting in box.

Where can I find the project files ?

github
https://github.com/f4goh/WSPR

2 I²C Bus:

I²C (Inter-Integrated Circuit), pronounced I-squared-C, is a synchronous, multi-master, multi-slave, packet switched, single-ended, serial computer bus invented in 1982 by Philips Semiconductor. I²C uses only two bidirectional open collector or open drain lines, Serial Data Line (SDA) and Serial Clock Line (SCL), pulled up with resistors.[

i2c
The i²c bus saves microcontroler wires
rtc
Inside RTC DS3231
rtc2
I²C logic analyzer with a saleae clone

3 How to program a DDS ?

ad9850-1
We use serial data transmission bus (orange color pinout)
ad9850-2
32 bits for DDS word and 8 bits for phase and control register
ad9850-3
To find word dds, just apply a « rule of three »

4 WSPR symbol generation

enc-wspr
WSPR protocol descibed here : http://www.g4jnt.com/wspr_coding_process.pdf

Execute WSPR symbols generator :

  • put your callsign
  • put your locator
  • and finish by power (20 dBm for 0.1W)
  • click Generate
enc-wspr-3
Paste on wsprSimple.ino, 162 elements generated previously
  • Copy the libraries into the directory C: \ Users \ [pc name] \ Documents \ Arduino \ libraries
  • Program the wsprSimple.ino file
  • Open the serial monitor, press the « h » key to update the clock in the following format: yy, m, d, h, m, s,
rtc adjust
Simple solution to update RTC

The program can be used with an oled display.

5 Build a low pass filter (40 meters, 7.2 Mhz)

  • use svcfilter designer
  • configure params as picture below
  • display responses
filter1
http://tonnesoftware.com/svcdownload.html
filter2
Adjust up or down as you want
dav
let’s make some turns t30-2 (red) and ft37-43 for BS170 drain inductor

Use mini tore calculator software to check numbers of turns

 

and Check filter with a VNA analyser:

filter3
As you see, i use capacitors values i’ll found in my shack

I use separate PCB filter, like that, i could change to any HF band. If you always use one band, put the filter directly on the PCB.

6 Configure WSJT-X and beacon testing

web1
Find wsjt-x on google
web2
Download last version according to your OS

 

web3
1 Setting menu
web4
2 Configure your callsign and your Receiver
web6
3 choose WSPR mode. Do NOT click Tx next, just listen your beacon.
web5
Beacon signal must be on green selection (between 1400 and 1500 hertz on the waterfall)
enc-wspr-3
if it doesn’t , adjust factor value

On transmission, the led should blink every 0.6 s

Set in box

dav
Use 100x66x43 box

7 Conclusion

It was a pleasure to study DDS and WSPR modulation. This project was designed essentially for makers. Adapt it as you want. I have made PSK, QPSK, RTTY, APRS modulation for AD9850 DDS since few year. I’ll write the software as soon as possible. If you have any questions : f4goh at orange.fr

 

Publicités
WSPR beacon

8 réflexions sur “WSPR beacon

  1. Hello Anthony, I like it!

    One question for you : could you please explain why you put the filter after the small PA, and not before the PA? What is the advantage of doing like this?
    Thanks for your answer.

    J'aime

  2. Stéphane Lacroix dit :

    Excellent job. Thanks for the time you passed on it. Very clear description from beginning to end of project and well detailed.

    J'aime

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s