Para construir y poner en funcionamiento una baliza WSPR TX necesitamos:
Autorización
- Las emisiones en bandas de radioaficionado, como es el caso de las balizas WSPR, precisan, en todo el mundo, disponer de una licencia de radioaficionado. Si no la tiene, piense que es mas fácil y económico de obtener que una licencia o permiso de conducir y le permitirá disfrutar de la afición a la radio como nunca antes lo habia hecho.
Hardware
- Un procesador que sea capaz de definir un mensaje WSPR con el indicativo y la posición y lo transmita de forma sincrona: para esta función utilizaremos placa de desarrollo con Arduino /ESP32
- Un patron de tiempo: para eso usaremos un chip GPS que en principio puede estar o no integrado en la placa. Elegiremos una placa ESP32 con GPS
- Un generador de RF: para ello usaremos una placa SI5351, que es un modulo generador de reloj de 8 kHz a 160 MHz con una potencia de salida de 8 dBm (6mW) que trabaja con un cristal de 25 a 27 MHz se puede adquirir en Aliexpress por menos de 2€ si bien hay placas mas completas que incluyen pantalla TFT por unos 30€ por unos
Resumiendo, nos basta en principio con estas dos placas:
- Lilygo ESP32 LoRa GPS 433MHz (T-Beam)
- Lilygo ESP32 LoRa GPS es una placa de desarrollo compatible con Arduino que entre otras funcionalidades incorpora un receptor GPS que permite obtener la posición y el patrón de tiempo, por lo que es un buen candidato como controlador de un TX WSPR. El GPS es un poco perezoso en el arranque si quiere una respuesta mas rápida elija la placa con GNSS
![]() |
El Si5351 dispone de 3 salidas de RF con conectores SMB (CLK0, CLK1 y CLK2) ademas de 7 pines (0,1,2,SCL, SDA, GND y VIN) |
Es muy conveniente disponer de :
- Un receptor de RF (p.e. SDR) para comprobar que el WSPR TX transmite y en que frecuencia lo hace
- Un receptor WSPR para monitorizar las transmisiones WSPR o SPOTS
Adicionalmente podriamos necesitar:
- Un amplificador lineal de potencia, para aumentar la potencia de saldia del WSPR TX
- Un filtro pasa bajos para disminuir los armónicos que genere el conjunto
Software
He hecho una pequeña búsqueda de proyectos de WSPR TX disponible en Internet y he encontrado el siguiente software:
- wsprbeacon con GPS externo
- wspr-si5351
- The $50 Ham: A Simple WSPR Beacon
- wspr
- wspr encoder
- Easy-Digital-Beacons-v1 usa NTP
WSPRBEACON
Después de analizar brevemente cada uno de ellos hemos elegimos este proyecto que requiere las siguientes librerías:
- https://github.com/etherkit/Si5351Arduino (Se instala en la libreria de Arduino IDE, en el programa #include <si5351.h>)
- https://github.com/mikalhart/TinyGPSPlus (Ya estamos familiarizados con ella por ESP32 LoRa for dummys - Baliza (Beacon) con GPS en el programa #include <TinyGPS++.h>)
- https://github.com/etherkit/JTEncode (Se instala en la libreria de Arduino IDE)
- Wire (en el programa #include "Wire.h
- WSPR_beacon_ESP32.ino
- GPS.ino
- Messages.ino
- settings.h (En el programa #include "settings.h") es un fichero de parámetros de funcionamiento, solamente pongo los que modifique por que sabia que hacian
- #define MYCALL "MYCALL" => Poner nuestro indicativo
- #define DBMPOWER 8 => Es la potencia que entrega Si5351
- #define SI5351FREQ => poner 0 pues la frecuencia del SI5351 comprado en aliexpress es de 25 MHz, debe comprobar cual es la del suyo
- #define SI5351_CORRECTION => Atención hay que calibrar el SI5351 en caso contrario no funcionara, el valor está en centesimas de HZ Ver SI5351: primeros pasos
- static const unsigned long long freqArray[6] => es la tabla con el ciclo de trabajo, en principio no la toco pero se pueden incluir mas bandas y ajustarla al International WSPR Projct) en cada entrada hay que poner la frecuencia en Hz
- Si va usar la pantalla OLED necesitará:
- Adafruit_SSD1306.cpp
- Adafruit_SSD1306.h
- Fixed8x16.h
![]() |
Mensaje del programa que indica que está esperando captar un primer paso de GPS, cuando lo haga el led rojo parpadeará. Mientras no lo haga no comenzará a emitir |
![]() |
Ajuste de frecuencia con SDR-RTL 6 SDR++ Tabla de los ajustes finales, con la frecuencia leida en SDR-RTL y la leida con openWSPR cuando es leida y decodificada |
Para las bandas de 160m, 80m y 60m la señal recibida por el SDR estaba a nivel de ruido por lo que no se pudo ajustar y se decidió no usarlas.
5- Se comprueba que los spots se reciben por WSPR RX en local
![]() |
Monitorización con el RX de openWSPR de remoteQTH |
He disfrutado mucho con este proyecto que es mas sencillo de lo que parece, aunque reconozco que conceptualmente es complejo
No hay comentarios:
Publicar un comentario