3R de radiosondas: RS41 de Vaisala

Los servicios meteorológicos de todo el mundo siguen recogiendo información sobre la atmósfera mediante radiosondas que son lanzadas por centenares diariamente (Ver aquí).

Hasta ahora se ha visto cómo se puede hacer un seguimiento de las radiosondas y cómo se pueden localizar para su recuperación (Ver aquí)

En esta entrada vamos a ver qué podemos hacer con las radiosondas recuperadas, en concreto con las del modelo RS41 de Vaisala que es una de las mas populares y ademas es la que tengo en mi poder.



Interface de conexión XDATA de la RS41 de Vaisala

Algo que necesitaremos en cualquier caso es conocer con detalle la interface de conexión (XDATA Port de 10 pines)

Se trata de un conector 
Amphenol ICC (FCI) Manufacturer Product Number 89361-710LF 


El puerto externo  es del tipo de  2x5 conectores de 2 mm
XDATA está configurado como UART (Universal Asynchronous Receiver / Transmitter con velocidad entre 9600 y 115200; 7 u 8 bits, con paridad  1 o 2 bits de parada). Se puede configurar también como I2C (Bus de datos con dos conectores SDA y SDL) 
Pin de reset de la MCU y de alimentación

V_boost=Vcc_bust; MCU_RST=RESET; VBAT=Vcc

CONEXION SONDA DISPOSITIVO
  • GND del FTDI ↔ GND de la RS41. (Tierra , común o negativo)
  • TX del FTDI ↔ RX de la RS41 (Salida de datos de la sonda)
  • RX del FTDI ↔ TX de la RS41 (entrada de datos de la sonda)
  • Voltaje: Ojo, la RS41 funciona a 3.3V. Hya que asegúrate de que el jumper de la FT232RL esté en la posición de 3.3V (no 5V) para no quemar el microcontrolador de la sonda o el PIN correcto en la CP2102 SI quiere alimenrar la sonda con sus baterias (La forma mas cómoda) desconecte este cable. NO ALIMENTE CON CABLE Y BATERIAS DE FORMA SIMULTÁNEA

Con solamente tres cables le basta para comunicarse con la sonda


REUTILIZAR

Lo primero que se nos puede ocurrir es sustituir las dos baterías AA que lleva para ponerla de nuevo en funcionamiento. Sin embargo no es buena idea pues:

  • Por programa solamente funciona un número de horas desde su lanzamiento, creemos que 8h
  • Si lo consiguiera, cosa que no es el caso, cometería una ilegalidad pues no está autorizado a transmitir en la banda de 400-406 MHz y además entorpecería la labor de los servicios meteorológicos, qyue seguramente lo denunciarán a la Inspección Provincial de Telecomunicaciones.
Sin embargo, existe la posibilidad de modificar el programa para que trabaje en la banda de radioaficionados (si cuenta con licencia, y si no es un buen momento para obtenerla) y volverla a la vida.


Este proyecto tiene dos partes:

Una primera parte en la que se  modifica la frecuencia de transmisión de la radiosonda mediante un cliente SSH/Telnet (9600-8N1: Velocidad 9600 bits 8 parada 1 sin paridad, ni flujo de control) como PUTTY (Windows) o SSH (Desde terminal en macOS, los puertos serán ls /dev/tty.*) y para locual se necesita un adaptador USB-TTL
  • Hay que conseguir conectarse a la sonda VAisala RS41 ... 

  •  ... y entrar en el menú de mantenimiento mediante el comando STwsv para acceder a los parámetros accesibles de los cuales dstacan:
    • Ser(i)al no [Se conserva en los reinicios ] => cambiar el indicativo original de la baliza por otro . No ponga su indicativo de radioaficionado si no va a usar bandas de radioaficionado.
    • TX (f)requency  [Se conserva en los reinicios ] => Solo entre 400,00 - 405,99 MHz. Modificando los registros se pueden modificar para que TX fuera de esta banda, pero no se mantiene en los reinicios ( 433,500 MHz 0x75=0x21, 0x76=0x02 and 0x77=0x67)
    • T(X) state [Se conserva en los reinicios ] => Permite ponerla de disable a enable y viceversa parar y reiniciar la radiosonda
    • TX p(o)wer  [Se conserva en los reinicios ] => de 0 (1 dBm) a 7 (20 dBm)
Una segund parte que hace uso de una placa de desarrollo Wemos D1 Mini para configurar automáticamente una frecuencia de radioaficionado en el RS-41 en cada arranque. La placa es lo suficientemente pequeña como para caber dentro de la carcasa original de poliestireno, con algunas modificaciones menores, y se alimentará del RS-41 y, poco después del arranque, hará lo siguiente:
  • Modificará los registros del RS-41 para establecer la frecuencia seleccionada en la banda de radioaficionado de 70 cm a través de la interfaz serie
  • Intentará conectarse al punto de acceso WiFi preseleccionado. Si falla, se iniciará en modo Punto de Acceso y aceptará una conexión de cliente desde un teléfono móvil o portátil. Iniciar un servidor web para permitir:
    • la selección de la frecuencia de transmisión RS-41
    • los valores de los registros relacionados se calculan a partir de la frecuencia introducida
    • el tiempo necesario para entrar en modo de suspensión profunda para ahorrar energía
    • el SSID y la contraseña de WiFi para conectarse en el siguiente reinicio
    • iniciar también un servidor Telnet que actuará como puente entre la conexión Telnet y la interfaz serie RS-41; esto permitirá modificar fácilmente otros parámetros RS-41, como el indicativo o la potencia de transmisión inicial. Estos parámetros se almacenarán en el RS-41 y sobrevivirán a los reinicios.
Para este proyecto necesitará el siguiente material
OJO El pinout puede variar de un modelo a otro


En un análisis preliminar, parece algo compleja la segunda parte, pero viable.


Pruebas

1ª Parte con CP2102 y Putty

Dado que se contaba con un dispositivo USB-TTL basado en CP2102 de SIlicon Labs se decidió probar, conectándo el CP2102 sin cablear y se comprobó que enciende el piloto rojo del CP2102 (Le llega alimentacion) pero no parpadea por lo que no se reconoce y por ello aunque se cablee no se consigue acceder a los parámetros.

Se prueba con Windows con Putty y con macOS por consola.

Con macOS debemos comprobar que se reconoce desde consola hacemos.
  • ls /dev/cu.SLAB*

    • Si  /dev/cu.Bluetooth-Incoming-Port, el CP2102 no está siendo reconocido.
    • Si /dev/cu.usbserial-XXXX o /dev/cu.wchusbserialXXXX, si que lo reconoce
  • ioreg -p IOUSB -n "CP2102 USB to UART Bridge Controller" -l

    • Saca un log en el que se puede analizar si llega a reconocerlo, si no lo quiere hacer a mano le pude pasar la tarea a https://gemini.google.com/
Resumiendo no se consiguió que CP2102 funcionara, por lo que si tiene que adquiri uno que sea el FT232RL (Disponible en Aliexpress por menos de 5€)


1ª Parte con FT232RL y Putty


Se conecta el FT232RL sin cablear y se enciende el piloto azul (Le llega la alimentación.


WINDOWS


En Windows lo mas cómodo para trabajar con una conexión serie es usar la herramienta gratuita putty (Es una pena que no esté para macOS


Los pasos a seguir son:


  • Localizar el puerto COM asignado a la conexión USB Para ello conectar el FT232Rl a un puerto USB e ir a administrador de dispositivos y mirar puertos (COM y LPT)
  • Configurar Putty. Para ello basta con ir al panel de y seleccionar el tipo de conexión como SERIAL y poner el puerto asignado (p.e. COM10) y ajustar la velocidad a 9600 e ir al panel de terminal marcar  "IMplicit LF in every CR" y "IMplicit CR in every LF", 
  • Abrir conexión haciendo  OPEN en Putty
  • Poner las baterias a la sonda y encenderla con el pulsador
  • Tras leer el mensaje de bienvenida de RS41 teclear STwsv
  • Configurar las opciones



macOS


Conectar el FT232RL al puerto USB del MAC
  • Reconocimiento del dispositivo físico
    • Desde el terminal teclear ls /dev/cu.usbserial*
    • /dev/cu.usbserial-XXXXXXXXX
  • Entrada en el registro
    • Desde el terminal teclear  system_profiler SPUSBDataType | grep -B 1 "FT232"
    • Devuelve un error  2026-01-25 13:08:05.001 system_profiler[8578:316590] SPUSBDevice: IOCreatePlugInInterfaceForService failed 0xe00002be
  • Prueba de eco (Loopback)
    • Conexión física: Con un cablecito o jumper, se unen los pines TX y RX del FT232RL (De fabrica suele venir ya puesto).
    • Desde el terminal teclear screen /dev/cu.usbserial-XXXXXXXX 9600
    • Si se escribe "HOLA", debe  aparecer "HOLA". Si se  desconecta el puente, lo que escribas no aparecerá. Esto prueba que el conjunto macOS & FT232RL funciona
  • Prueba de macOS+Drivers+FT232
    • echo "TEST" > /dev/cu.usbserial-XXXXXXXX
    • TEST
  • Conectar TX, RX y GND del FT232 a los terminales correspondientes de la sonda RS41
    • Inicializar correctamente el puerto USB-TTY del macOS
    • stty -f /dev/cu.usbserial-XXXXXXXX 9600 cs8 -cstopb -parenb -crtscts
    • Si lo conectamos a una salida con cat /dev/cu.usbserial-XXXXXXX veremos la salida, hasta que lo paremos con CTRl-C
    • Es preferible este otro comando para que salga formateado el texto cat /dev/cu.usbserial-XXXXXXXX | tr '\r' '\n'
    • Vaisala RS41 Radiosonde SW V2.05.06
      Copyright (c) Vaisala Oyj 2022. All rights reserved.
      Serial number: xxxxxxxx
      Pressure module serial number: xxxxxxxx SW V2.03
      Transmitter frequency: 403.00 MHz
      Transmitter power: 7/7

      Enabled TX 
    • Al usar cat solo tenemos habilitado el canal de RX, para entrar datos en la sonda podemos usar
      • SCREEN es inmediata pero la salida de nuevo está sin formatear con screen /dev/cu.usbserial-XXXXXXX 9600 y si tecleamos el comando STwsv, sale el menú pero sin formatear lo cual no es práctico, se sale con CTRL+A => K => Y
      • MINICOM para lo cual hay que instalarlo con  brew install minicom y una vez instalado podemos lanzar por terminal minicom -D /dev/cu.usbserial-XXXXXXX  -b 9600. Con ESC+Z entramos en el  Menu de ayuda
        • C borra la bantalla y sale de la ayuda o ESC+c desde la pantalla
        • O menu de configuración y sale de la ayuda o ESC+o desde la pantalla
        • E eco en la pantalla y sale de la ayuda o ESC+w desde la pantalla, pero no es muy buena idea pues en la configuración creo que se hace un lio el menú
Para que la salida salga formateada ESC+U y ESC+A

Menú de configuración (O ) 9600 8N1 por defecto

Menú de configuración de terminal (T)
        • Tecleando muy despacio <INTRO> STwsv <INTRO> sale el menú formateado si se escribe muy despacio el comando y previamente se ha hecho ESC+U y ESC+A
        • S => RH:   0.00 RHtu: 485526.22 Trh:  16.72 T: -250.70 Tref:  20.68 Tmcu:  23.18 C:   0.06 Rt:  -26.16 Rts: 1015.62 Tp: -0.0182 Cp: -5.0402 Pressure: 1000.12 PressureT(NTC): 222
        • q => Uref2: 547980 U: 481195 Uref1: 481114 TUref1: 133114 TU: 178788 TUref2: 193141 Tref1: 133113 T: 0 Tref2: 193140 Pref2: 419254 P: 323498 Pref1: 289172
        • o => TX power (0-7) 7 >7

        • X permite poner el trnasmisor en Enable y en disable, ideal para pruebas disabled
        • Baud rate (0=9600, 1=19200, 2=38400, 3=57600, 4=115200) 0 >0 
        • N No menú, ... que susto, volver a ponerlo pulsando N
        • Low battery capacity , PTU failure   
No permite modificar la frecuencia a una de la banda de radioaficionados como 433,600 (430-440) tampoco en PRM 446 (446.0-446,2)


        • t con esta opción se puede cambiar directamente los registros en memoria que indican la frecuencia de trabajo saltan las limitaciones del menú para ello se usa esta calculadora aunque solamene sirve hasta el siguiente arranque, por eso hay un desarrollo que hace que se configure en cada arranque haciendo uso de un ESP32 muy simple. Las fases son , poner el TX en disable, modificar los registros y arrancarlo, de paso tambien se puede cambian el ID aunque hay que hacerlo con cuidado pues ese no se borra
          • Register number (00-7F) >75 Register value 16 >21
          • Register number (00-7F) >76 Register value B0 >02
          • Register number (00-7F) >77 Register value EC >67
        • launched     

  • Otros comandos útiles
    • Si hubiese que modificar la velocidad, que no es el caso,  a 38400  stty -f /dev/cu.usbserial-XXXXX 38400
    • Conectar los terminales
    • screen /dev/cu.usbserial-XXXXXX 9600
    • Ver datos
    • cat /dev/cu.usbserial-XXXXXX
    • cat /dev/cu.usbserial-XXXXXX| while read line; do echo "$(date +%H:%M:%S) $line"; done
    • cat: /dev/cu.usbserial-XXXXX: Resource busy
    • Se puede matar el proceso que tiene ocupado el puerto con 
    • lsof | grep xxxxx
    • screen    NNNN XXXX    5u      CHR        22,3      0t88
    • kill -9 NNNN
    • Pese a matar el proceso no muestra información
  • Si se alimenta la sonda RS41 con baterias o por cable se enciende el piloto en verde para pasar a rojo parpadeante (Error), al menos sabemos que hay esperanza
  • Con macOS puede probar con herramientas como SerialTools (no me gustó nada) o CoolTerm (no me pareció de fiar), seguramente lo mejor es pasarse a Windows sabiendo que ya estamos a solo un paso de reconfigirar la sonda.
Que hemos conseguido gracias a la documentación de https://github.com/digiampietro/esp8266-rs41:
  • Acceder al firmware de la RS41 y cambiar la identificación (Permanece para otros arranques)
  • Cambiar la frecuencia a una de la banda de radioaficionado para la cual tenemos licencia, pero también se podria hacer para la banda de PRM (pe. 446,006)
    • Register number (00-7F) >75 Register value  >21
    • Register number (00-7F) >76 Register value  >B6
    • Register number (00-7F) >77 Register value  >C7
  • Activar la transmisión
  • Desenchufarlo del ordenador, manteniendo la batería
  • Localizar el transmisor con MySOndy Go
  • Recibir y decodificar la información con SDR+RTL y SDRangel
  • La configuración ha sido laboriosa al hacerlo mediante el terminal de macOS , con Putty sobre Windows es mas sencillo.
SDR+RTL y SDRangel


SDR+RTL y SDRangel

2ª Parte con LOLIN D1 Mini V4.0.0 - WEMOS D1 MINI ESP32

Esta parte mas compleja lo que hace es conectar un LOLIN D1 a la RS41 con el fin de configurarle la frecuencia de trabajo en cada arranque. 

Por el momento, aunque se cuenta con el material, es muy barato (unos 5€ en Aliexpress),  se deja a la espera pues con lo visto ya nos basta para el uso que queremos darle ( No se sueldan bien los piens si puede comprelos soldados, merece la pena)

La compilación y carga la hice con Arduino IDE, que reconoce la placa de dezsarrollo, si bien hay que añadir los siguientes librerias


Library Name                        Version    Author                    Architecture    Type
----------------------------------- ---------- ------------------------- --------------- -------
ArduinoOTA                          1.0        Ivan Grokhotkov and Migue esp8266         system https://github.com/esp8266/Arduino/tree/master/libraries/ArduinoOTA 
DNSServer                           1.1.1      Kristijan Novoselic       esp8266         system
EEPROM                              1.0        Ivan Grokhotkov           esp8266         system
ESP8266WebServer                    1.0        Ivan Grokhotkov           esp8266         system
ESP8266WiFi                         1.0        Ivan Grokhotkov           esp8266         system
ESP8266mDNS                         1.2        multiple, see files       esp8266         system
EspSoftwareSerial                   6.8.5      Peter Lerup, Dirk Kaar    esp8266,esp32   system

Peswe a descargar las librerias y copiar en la carpeta todos los miembros que solicitaba el compilador, se llegó a un punto muerto, por lo que se abandona al menos por el momento.

Ademas al compilar se descubre que está para ESP8266 la 2.7.4 por lo que hay que instalar una versión anterior de las plcas de desarrollo a la usada ... que pereza

REUSAR

Otra opción es sustituir completamente el firmware para que trabaje en la banda de radioaficionados con modos mas populares entre los radioaficionados como CW, RTTY, APRS, etc. aprovechando los sensores de: temperatura, humedad, presión, velocidad y dirección del viento,  y de localización (GNSS)todo ello preparado para condiciones extremas y el transmisor (Si4032 que proporciona una potencia de 60 mW lo que permite una propagación de hasta  350 km en espacio libre)

rs41rg


Este proyecto permite configurar: bip, CW, APRS, CATS y HORUS en las bandas de radioaficionado.

Para este proyecto necesitará
 UN articulo contando la experiencia es "Reprogramming a RS41 Radiosonde for Amateur Radio Frequencies"

Otra opción es RS41HUP_V2


RECICLAR

Realmente hay pocos elementos que puedan reciclarse mas allá de las 2 baterías AA que lleva (Proporcionana una autonomia mínima de 240 minutos = 4 horas), el cordón que la sujeta (Material del cordón: Polipropileno no tratado para UV,Tenacidad <115 N, Longitud del cordón 55 m) y el paracaídas, todo el circuito es muy compacto


Referencias


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.

No hay comentarios:

Publicar un comentario

Amplificador Lineal de Potencia paa HF

Un amplificador lineal de potencia es un dispositivo que se intala entre la emisora y la antena con el fin de aumentar la potencia de salida...