ATENCION:
La banda de 402–405 MHz está reservada a usos científicos. No es una banda libre como la de 433,05–434,79 MHz ni puede usarse con licencia de radioaficionado como la banda de 430-440 MHz
Este proyecto tiene como objetivo simular las tramas de una baliza meteorológica de los modelos DFM, PIL, RS41, M20 o M10 con el fin de hacer demostraciones con la app MySony GO.
RS41 de Vaisala
¿Por qué la RS41?
El modelo RS41 es el que lanza AEMET desde Madrid dos veces al día, y según el viento puede caer en cualquier parte de la peninsula ibérica. Las sondas RS41 usan modulación GFSK en la banda meteo (400–406 MHz).
El resto de lugares y modelos de sonda de la península ibérica son los siguientes:
- A Coruña RS41-SGP
- Santander RS41-SGP
- Lisboa RS41
- Huelva RS41
- Murcia M10
- Madrid RS41 (404.600 MHz)
- Barcelona M20
¿Qué es la GFSK?
Modular es modificar un parámetro de una onda radioeléctrica para introducir en ella información. Básicamente se puede variar la amplitud de la señal (AM) o la frecuencia (FM).
Según el desplazamiento de frecuencia máximo admitido tenemos WFM (ancho el que se usa apra la FM comercial tanto mono como estereo) y NFM (estrecho, el que se usa en comunicaciones y el que se usa pra recibir radiosondas)
FSK (modulación por desplazamiento de frecuencia) es simplemente modulación FM binaria en lugar de ser analógica como es el caso de mas emisoras comerciales de VHF ("la FM").
Como en FSK cada símbolo se transmite mediante una frecuencia podemos tener según el número de niveles o frecuencias (2,4,8,16, etc.): FSK (es la que usan las sondas RS41), 4FSK, 8FSK, 16FSK, etc
La diferencia entre FSK y GFSK (Gaussian Frequency Shift Keying) radica en que GFSK realiza transiciones más suaves entre los símbolos (menor ancho de banda y menor numero de armónicos), lo que mejora la calidad del espectro. Es la usada también por GSM y Bluetooth.
La desviación es de 4,8kHz
¿Cómo son las tramas?
Una trama tiene 320B que se descomponen en bloques, a cada bloque se le calcula su CRC-16 y al conjunyo su Red Solomon
Los datos de las sondas se codifican adicionalmente con XOR antes de enviarlos, pero su finalidad no es la de cifrarlos de forma rudimentaria de impedir su decodificación, sino para garantizar que siempre haya muchos cambios de 0 a 1 en los datos, ya que el receptor debe sincronizarse con la velocidad de transmisión en baudios. Esto se denomina blanqueamiento de datos.
El valor XOR es un número pseudoaleatorio de 64 bytes generado con un LFSR conocido y, por lo tanto, puede codificarse en el decodificador.
const uint8_t rs41_whitening[64] = {
0x96,0x83,0x3E,0x51,0xB1,0x49,0x08,0x98,
0x32,0x05,0x59,0x0E,0xF9,0x44,0xC6,0x26,
0x21,0x60,0xC2,0xEA,0x79,0x5D,0x6D,0xA1,
0x54,0x69,0x47,0x0C,0xDC,0xE8,0x5C,0xF1,
0xF7,0x76,0x82,0x7F,0x07,0x99,0xA2,0x2C,
0x93,0x7C,0x30,0x63,0xF5,0x10,0x2E,0x61,
0xD0,0xBC,0xB4,0xB6,0x06,0xAA,0xF4,0x23,
0x78,0x6E,0x3B,0xAE,0xBF,0x7B,0x4C,0xC1
};
Las tramas de la sonda se transmiten a una velocidad de 4800 symbols/second (baudios), 1 por segundo, lo que da un ancho de banda de unos 1' kHz.
La estructura de una trama es:
Las subtramas son 51 de 16B cada una
(En desarrollo)
¿Qué placa de desarrollo ESP32 usar?
 |
| Cuadro comparativo entreSX1262 y SX1278 generado por Chatgpt |
HELTEC (SX1262) |
| Descripción de la placa de desarrollo ESP32 de Heltec |
 |
| Descripción del pinout la placa de desarrollo ESP32 de Heltec |
De interés:
- Potencia TX 21±1dBm
- Sensibilidad RX -134dBm@SF12 BW=125KHz
- Banda 434-490
Un simulador de baliza RS41 debería llevar GPS pero se deja para cuando se consiga que funcione.
Tareas
- Caracterizar el hardware
python3 esptool.py chip_id
esptool.py v4.8.1
Found 1 serial ports
Serial port /dev/cu.usbserial-0001
Connecting....
Detecting chip type... ESP32-S3
Chip is ESP32-S3 (QFN56) (revision v0.2)
Features: WiFi, BLE, Embedded Flash 8MB (GD)
Crystal is 40MHz
MAC: XX:XX:XX:XX:XX:XX
Uploading stub...
Running stub...
Stub running...
Warning: ESP32-S3 has no Chip ID. Reading MAC instead.
MAC: XX:XX:XX:XX:XX:XX
Hard resetting via RTS pin...
- Salvar firmware original
python3 esptool.py -b 115200 --port /dev/cu.usbserial-0001 read_flash 0x00000 0x400000 Heltec_4M.bin
...
Configuring flash size...
1216512 (29 %)
...
4194304 (100 %)
Read 4194304 bytes at 0x00000000 in 376.1 seconds (89.2 kbit/s)...
Hard resetting via RTS pin...
- Programar con Arduiono IDE
Hay que instalar la libreria RadioLib,h
La placa par la cual compilar es la HELTEC WIFI LORA 32 (V3) y la conexión la /dev/cu.usbserial-0001
Se puede poner una frecuecnia de la banda de radioaficionados pues vamos a usar MySonyGo y se puede ajustar la frecuenia (430-440)
- Pruebas
Compilar sin fallos
Comprobar que aparecen los mensajes por el monitor serie sin errores
Comprobar con SDR que se emite la RF en la frecuencia prevista
 |
| Trama RS41 visualizada con SDR++ |
comprobar que los pulsos los recibe MySondeGo (variación periodica del nivel de señal)
 |
| Trama RS41 visualizada con SDRAngel |
En este punto no se llegó a avances en un primer intento y se pasó a Lilygo para ver si había mas suerte
LiLygo (SX1278)
Hay que modificar las llaamdas y el pinout
DFM
- Mode NFM
- Modulation FSK
- ACF 2000 ms
- Bandwidth 20 kHz
Tampoco se llegó a avances
Conclusiones
Dado que no se consiguió el objetivo ni con Heltec ni con Lilygo, se vio mas sencillo recuperar una radiosonda y trabajar con ella por lo que no se va a continuar esta línea.
Agradecimientos
- A Mirko IZ4PNN de MySondy Go por la información facilitada
Referencias
- Heltec
- Hardware de la RS41
- Proyecto MySondy Go
Advertencia importante
Las modificaciones, configuraciones y procedimientos descritos en este sitio pueden implicar riesgos técnicos, legales o de seguridad. El autor no se responsabiliza del mal funcionamiento de los equipos, daños permanentes, pérdida de garantía ni de posibles infracciones legales derivadas del uso de esta información.
El lector asume plena responsabilidad por cualquier acción que decida realizar basándose en el contenido de este blog.
© 2026 EA5JTT. Queda prohibida la reproducción total o parcial sin autorización expresa del autor.