Umbau einer Vaisala RS41 Wettersonde

Wettersonden vom Typ Vaisala RS41 SGP lassen sich für den Amateurfunk wiederverwerten. Die Sonden haben erfreulicherweise einen STM32 Mikrocontroller auf dem Board. damit lässt sich allerhand anfangen. Da die Originalsoftware bisher aber nicht „geknackt“ wurde, blieb nichts anderes übrig als neue Software für die Sonde zu programmieren und damit den Speicher komplett zu überschreiben. Sie kriegt dadurch auch komplett neue Funktionen, die alte Funktionsweise bleibt NICHT erhalten.

Stand: 21.01.2020

Die Grundidee dazu hatte der polnische Funkamateur SQ5RWU. Er schrieb ein Programm welches man auf die Sonde aufspielen konnte. Nach dem umprogrammieren konnte man die Sonde dann für Amateurfunkzwecke nutzen. Die Software von SQ5RWU war allerdings etwas spärlich und umständlich, da für jede Neukonfiguration der Quellcode geändert und neu kompiliert werden musste. Der slowakische Funkamateur OM3BC hat sich dann die Mühe gemacht und die Software komplett neu geschrieben. Die neue Version passt zwar nur gerade so in den Flash-Speicher der Sonde, ermöglicht aber das bequeme Speichern von Einstellungen.

Nach dem Umprogrammieren hat die Sonde drei Betriebsarten:

  • RTTY Bake (USB Mode)
  • CW Bake (USB Mode)
  • APRS Tracker (FM Mode)

Die Sonde kann dann im 70cm Amateurfunkband (430-440 MHz) betrieben werden. Alle drei Betriebsarten können getrennt voneinander konfiguriert und aktiviert werden. Sie arbeiten parallel und unabhängig voneinander. Da die Sonde allerdings nur ca. 60 Milliwatt Sendeleistung hat, ist diese eher nicht für terrestrische Aufgaben geeignet. Für Amateurfunk-Stratosphärenballonmissionen ist sie aber sehr gut geeignet als zusätzliche Nutzlast.

Die Originalbeschreibung von OM3BC findet ihr hier: LINK

Dieser Beitrag dient dazu mehr und ausführlichere Informationen zur Prozedur bereitzustellen, und dazu auch noch in Deutsch. Alle mir bis jetzt bekannten Anleitungen sind nur in Englisch.

Aber schauen wir uns die Sonde erstmal an:

Oberseite:

Unterseite:

Am unteren Ende der Sonde seht ihr einen 10-poligen Datenanschluss. Über diesen kann man die Sonde programmieren. Leider ist hier ein unüblicher Steckverbinder verbaut worden. Es handelt sich hier um einen 10poligen Steckverbinder mit Rastermaß 2,0mm. Man bekommt mit den üblichen Jumper-Kabeln Probleme, da die Pins zu eng beieinander sind, aber dazu später.

Schritt 1: Was benötigt man für den Umbau?

  • Eine funktionierende RS41 SGP Radiosonde von Vaisala
  • Zwei Mignon Batterien (wenn ihr schnell geung wart beim Einsammeln, könnt ihr auch noch die guten Original Lithium-Batterien verwenden)
  • Ein ST-LINK V2 Programmiergerät (Achtung, es gibt zwei Varianten mit unterschiedlicher Pinbelegung!)
  • Einen USB/TTL Wandler
  • Das zu programmierende Software Binärfile von OM3BC ()
  • ST-LINK Treiber für Windows (STSW-LINK009)
  • ST-LINK Programmiersoftware „STM32 ST-LINK Unitlity“ (STSW-LINK004)
  • Unter Umständen benötigt das Programmiergerät noch ein Softwareupgrade (STSW-LINK007)

Hinweis: Die Tools lassen sich von der ST Webseite erst nach einer kostenlosen Registrierung herunterladen!

Schritt 2: Sonde vorbereiten

Die Sonde wird geöffnet indem man an den folgenden beiden Stellen die Klammern zusammendrückt. Manchmal ist es hilfreich dazu zwei Feinmechanik-Schraubendreher zu verwenden.

Schritt 3: Software installieren

Die Software läuft auf allen Windows-PC ab Windows 7. Man installiert der Reihe nach die ST-LINK Treiber (STSW-LINK009) und dann die STM32 Programmiersoftware (STSW-LINK004). Wenn man den ST-LINK V2 Adapter an den USB-Port anschließt und die Software öffnet, wird vermutlich ein Firmwareupgrade benötigt. Sollte dies angezeigt werden, installiert und startet noch die Firmware-Software (STSW-LINK007)

Schritt 4: Verbindung zur Sonde herstellen und programmieren

Schauen wir uns erstmal die Belegung des Sondensteckers an:

1 - GND
2 - Uart3 Rx
3 - Uart3 Tx
4 - PB1 (10k + cap + 10k)
5 - Vcc (Boost out) 5.0V
6 - VBAT 3.3V
7 - RST
8 - SWCLK
9 - SWDIO = SWID
10 - GND

PS: Die Bezeichnungen der Belegung habe ich der Seite vom OM3BC entnommen. Weiterführende Erklärungen dazu habe ich leider nicht.

Zum Programmieren der Sonde benötigen wir nur die folgenden Pins an der Sonde:

1 - GND
8 - SWCLK
9 - SWDIO = SWID

Pin 5 (Vcc (Boost out) 5.0V) kann zur Stromversorgung während des Flashens benutzt werden. Dann wird die Sonde über den ST-LINK Adapter mit Strom versorgt. Ich lasse diesen Pin aber immer weg und nutze die eigene Stromversorgung der Sonde über die zwei Mignonbatterien. Das macht es meiner Meinung nach einfacher.

Die Belegung des ST-LINK V2 Adapters hängt von der Bauform ab. Hier sind beispielhaft zwei Varianten mit ihrer Belegung zu sehen:

Da ich den rechten Adapter besitze, beschreibe ich dessen Anschluss. Bei anderen Modellen bitte die jeweilige Pinbelegung beachten.

Verschaltung RS41 mit dem ST-LINK Adapter

Sonde - Funktion - Pin ST-Link
V2:

1 - GND - 7
8 - SWCLK - 4
9 - SWDIO - 7

Die Pins verbindet man z.B. mit Jumperkabeln. Achtung, bei der Sonde kann es unter Umständen eng werden, da der Stecker 2,0mm Raster hat.

Man verbindet nun den verkabelten ST-LINK Adapter (z.B. mit einem USB-Verlängerungskabel) mit dem PC, wo die Software installiert wurde, und öffnet das STM32 ST-LINK Utility. Hier klickt man nun auf das dritte Symbol von links, „connect to the target“. Nun erscheint eine Warnmeldung dass der Speicher nicht gelesen werden kann.

Can not read memory!
Disable Read Out Protection and retry.

Der Speicher der Sonde ist von Haus aus für das Auslesen geschützt. Um den Schutz aufzuheben, geht man im Menü oben nun unter TARGET > OPTION BYTES und stellt die „Read Out Protection“ auf „Disabled“. Weiterhin muss man unten den Schreibschutz der Sektoren aufheben. Dazu entfernt man alle Häkchen im Abschnitt „Flash sectors protection“ oder klickt auf den Button „Unselect all“. Anschließend schließt man das Fenster mit „Apply“.

Nun lädt man über das Menü FILE > OPEN FILE die zu schreibende Datei „RTTY.HEX“. Sie wird in einem zweiten Reiter neben dem Reiter „Device Memory“ dargestellt.

Anschließend programmiert man die Datei über den Menüpunkt „TARGET > PROGRAM“ in die Sonde. Man kann die geschriebenen Daten auch noch verifizieren lassen, wenn man anstatt „PROGRAM“ den Punkt „Program & Verify“ auswählt.

Mit dem vierten Button trennt man nun die Verbindung zur Sonde und der Vorgang ist damit beendet. Die Sonde ist umprogrammiert.

Schritt 5: Neue Sondensoftware konfigurieren

Um die Sonde zu programmieren schließt man die Sonde über den USB/TTL Wandler an den PC an und verbindet sich mit einem Terminalprogramm auf die Sonde.

Für den Anschluß an den PC benötigt man die folgenden Anschlüsse an der Sonde:

1 - GND
2 - Uart3 Rx
3 - Uart3 Tx

Über den Pin 6 „3.3V“ kann man die Sonde optional über den USB/TTL Wandler mit Strom versorgen. Dann sollte man darauf achten, dass der Wandler auch eien 3,3V Ausgang hat und man diesen Pin benutzt. Manche Wandler haben auch Ausgänge für beide Spannungen, 3,3V und 5,0V. Wie auch beim ST-LINK Adapter reicht es aber aus, die Sonde über die zwei Mignonbatterien mit Strom zu versorgen.

Man verbindet nun die drei Pins auf der Sonde mit den entsprechenden Pins am USB/TTL Wandler. Anschließend startet man sein Terminalprogramm mit einer seriellen Verbindung und einer Geschwindigkeit von 9600 baud auf den COM-Port des Wandlers (siehe Windows Gerätemanager sofern COM Port nicht bekannt). Ich empfehle dazu das bekannt Programm „PUTTY„.

Man öffnet Putty, klickt unter „Connection Type“ auf „Serial“, trägt unter „Speed“ die Baudrate „9600“ ein und wählt unter „Serial Line“ den passenden COM-Port (in meinem Beispiel „COM7“.

Es öffnet sich nun ein schwarzes Terminalfenster. Wenn man die Sonde jetzt einschaltet, erscheint eine kurze Beschreibung des Programmes und ein Prompt.

Hier kann man nun alle möglichen Befehle eingeben, z.B. „help“ – das listet alle verfügbaren Befehle in Englisch auf. Diese sind in der Regel selbsterklärend.

Änderungen müssen mit dem Befehl „SAVE“ gespeichert werden und werden dann auch quittiert. Können die neuen Werte nicht gespeichert werden, hat man eventuell vergessen den Schreibschutz von den Sektoren zu nehmen vor dem flashen. Dies würde mit einer Fehlermeldung angezeigt werden. Der Schreibschutz lässt sich nur durch erneutes – richtiges – flashen entfernen.

Deutsche Übersetzung der Befehle (vielen Dank an Heinz DC5WW):

ALT – Aktiviert die Höhenübertragung .
APRS – Aktiviert die APRS-Übertragung. On/Off
APRS_EVERY- Dieser Parameter gibt das APRS Sendeintervall in n * HOLDOFF on, hängt also von den RTTY Aussendungen ab. Wenn man kein RTTY macht, kann dieser Wert auf „1“ stehen.
APRS_UBAT – Batteriespannung im APRS-Text senden.
APRSCALL – APRS-Rufzeichen.
APRSFRQ – APRS-Frequenz (empfohlene Frequenz ist 432.500 MHz)
BAUD – RTTY-Übertragungsgeschwindigkeit in Baud.
BUTTON – Dieser Parameter gibt an, ob der Druckknopf zum Ausschalten der Radiosonde verwendet werden kann oder nicht.
COURSE – Übertragung der Bewegungsrichtung.
CWIDMESS – Der Text der CW-Identifikation (Call).
CWID – Aktivierung der CW-Authentifizierung. On/Off
CWID_EVERY – Häufigkeit der CW-Identifikation in Abwechslung mit dem RTTY Signal (bei NUR CW kann hier „1“ rein)
CW_SPEED – Die CW-Geschwindigkeit in WPM.
DBITS – Anzahl der Datenbits. Mögliche Werte sind 7 oder 8.
DEF – Parameter auf Standardwerte setzen.
DISP – zeigt die eingestellten Parameter.
HOLDOFF – Die Zeit zwischen den beiden RTTY-Sendungen.
IGATE – Nachdem der Parameter aktiviert wurde, sendet die Radiosonde einen Text über die serielle Schnittstelle, zu der das iGate eine Verbindung herstellen kann.
LEDS- Sie können Energie sparen, wenn Sie keine LEDs verwenden. Nach 10 Minuten Betrieb werden die LEDs automatisch ausgeschaltet.
LWWL – Langer WW-Locator (10 Zeichen).
MICE – APRS Pakete in Klartext oder mit MIC-E-Codierung.
NMEA – Wenn der Parameter aktiviert wurde, sendet die Radiosonde die standardmäßigen NMEA, GPGGA und GPRMC Daten über die serielle Schnittstelle.
POWER – Ausgangsleistungseinstellung 0 = kleinste, 7 = maximale Leistung (ca. 40 mW).
RTTYFRQ – RTTY-Frequenz. Diese Frequenz gilt auch für die CW-Identifikation.
RTTYCALL – RTTY-Rufzeichen.
RTTY – RTTY Text On/Off.
SAT – Übermittlung der Anzahl der empfangenen GPS-Satelliten.
SAVE – Speichert die eingestellten Parameter.
SBITS – Anzahl der Stoppbits. Mögliche Werte sind 1 oder 2.
SERCOM – Geschwindigkeit der seriellen Kommunikationsschnittstelle ( n = 300 bis 115200) .
SHIFT- Frequenzen. Mögliche Werte: 1-270, 2-540, 3-810, 4-1080 Hz
SPEED – Geschwindigkeitsübertragung aktivieren.
SPEEDCOURSE – Geschwindigkeit und Richtung in APRS-Paketen.
SSID – Die SSID des APRS-Absenderrufzeichens. Mögliche Werte von 0 bis 15
SYMBOL -Zwei Zeichen, die bestimmen, wie die Radiosonde auf der Website www.aprs.fi angezeigt wird. (Symbol der Symboltabelle) .
TAIL_EVERY – Häufigkeit der Übertragung des APRS Kommentar-Textes.
TELEMETRY – Telemetriedatenübertragung.
TEMP – Zum Übertragen der Temperatur im RTTY-Text. (Der Wert ist die Temperatur des Funkchips, nicht die Umgebung.)
TTEXT – Kommentar-Text der APRS Aussendung.
TXD – Das TX-Delay. Möglicher Wert zwischen 10 und 500.
UBAT – Aktiviert die Übertragung der Batteriespannung.
USYS- Aktiviert die Systemspannung. Dies ist ein konstanter Wert nur für das Testen.
WWL – WW Locator senden.

Besonderheiten – bitte beachten:

  • Fünfstellige APRS-Rufzeichen müssen mit einer Lerstelle nach dem letzten Buchstaben eingegeben werden. Es müssen immer sechs Zeichen eingegeben werden vor dem ENTER. Tut man das nicht, wird das APRS Paket ungültig ausgestrahlt, da als sechstes Zeichen ein Punkt ergänzt wird. Damit wird das Rufzeichen inkorrekt dekodiert und in der Regel bei Gateways nicht übertragen bzw. gefiltert.
  • Beispiel eines defekten Paketes:
    0:fm DL0UC.-11 to APBCRS via WIDE1-1 WIDE2-1 ctl UIv1 pid F0 q:91  -2.7dB txd:192ms
    • Der „Trick“ mit dem Leerzeichen funktioniert leider nicht mit jeder Version der rtty.hex. Es sind mindestens zwei Varianten im Umlauf. Die Version mit einer Größe von 173 KB ist die, die mit dem Leerzeichen funktioniert. Die kleinere mit 124 KB Größe, lässt das leider nicht zu. Diese ist auch bei OM3BC aktuell verlinkt. Ich versuche das aktuell zu klären mit OM3BC. Notfalls kann ich auf Anfrage die korrekt arbeitende rtty.hex gerne per E-Mail zusenden.
  • Bei der Eingabe in Putty bzw. einem Terminal dürfen keine Tippfehler passieren. Man kann zwar optisch mit der RÜCK-Taste korrigieren, aber die Eingabe wird trotzdem nicht genommen. Falls man sich vertippt hat bei einem Befehl, abbrechen mit ENTER und Befehl erneut eingeben. Nur wenn die Software mit OK! bestätigt, wurde die Änderung auch angenommen.

14 Gedanken zu „Umbau einer Vaisala RS41 Wettersonde

    • Hallo Jens
      Der Temperatursensor wird ja genutzt. Ist aber ungenau. Grundsätzlich würde ich eine erneute Nutzung bei einer gebrauchten Sonde allerdings nicht empfehlen. Nicht umsonst werden die Sonden nicht mehr verwendet. Auch der DWD müsste diese aufwendig neu kalibrieren, da sonst die Messwerte nicht mehr stimmen würden.

  1. Hallo Attila, die Anleitung ist absolute Spitze, vielen Dank dafür. Ich habe meine Sonde im Ursprungszustand getestet. Entsprechend deinen Ausführungen habe ich sie dann umprogrammiert und die entsprechenden Parameter eingestellt. Leider sendet sie nun nichts mehr. Woran kann das liegen? Parameter irgendwo vergessen? Power steht auf 7!
    73 de DL6WAB
    Jürgen

    • Hallo Jürgen
      vielleicht hast du versehentlich die Funktion wieder ausgeschaltet APRS/CW/RTTY. Jede Funktion kann ein oder ausgeschaltet werden. Auch kann es sein, dass sie keinen GPS Empfang hat, dann sendet sie kein APRS aus. Zur Kontrolle würde ich immer CW einschalten. Die CW Bake sendet immer, auch wenn keine Position gefunden wurde. Dann weist du zumindest das sie arbeitet. Wenn alles nichts hilft, einfach über den Reset Parameter die Einstellungen zurücksetzen und nochmal von vorne beginnen 🙂

  2. Hallo,
    Habe jetzt eine RS41 umprogrammiert, läuft auch prima. Nur der Sender schwingt manchmal nicht an (Endstufe?)
    Habe jetzt mal die Antenne vermessen, müsste ja bei 405Mhz 18,5cm bei Lambda/4 sein. Gemessene Länge 14,3 cm? Da geht bestimmt einiges an Leiterbahn mit ein. Habe jetzt den Draht durch einen mit 12,8 cm ersetzt. +4cm liegt er dann bei 17cm, also bei 433mhz. Hast Du nähere Infos über die Antenne der RS41? Habe auch die Massefläche unterhalb der Antenne mit einem 12,8 cm Draht ersetzt (Dipol )
    Jetzt geht es, aber genauere Infos über die elektrische Antenne wären schön.

    • Ich habe neue Erkenntnisse in den Text eingefügt:
      Der „Trick“ mit dem Leerzeichen funktioniert leider nicht mit jeder Version der rtty.hex. Es sind mindestens zwei Varianten im Umlauf. Die Version mit einer Größe von 173 KB ist die, die mit dem Leerzeichen funktioniert. Die kleinere mit 124 KB Größe, lässt das leider nicht zu. Diese ist auch bei OM3BC aktuell verlinkt.
      PS: Ich habe die andere funktioneirende Variante noch auf der Platte und schicke sie bei Bedarf gerne per E-Mail zu.

  3. Hallo
    und Danke für die tolle Anleitung!

    Umstellung lief wie am Schnürchen…
    bis auf das Rufzeichen mit weniger als 6 Zeichen.
    Der Versuch wie in der Anleitung angemerkt, ein Leerzeichen anzuhängen bekomme ich die Fehlermeldung nur Buchstaben und Ziffern erlaubt!
    Ich habe das fertige HEX-File von der Website von OM3BC verwendet.
    Kann mir da jemand weiterhelfen ?
    Danke im Voraus!
    73, Klaus

    • Also bei mir klappt es problemlos. Hier sind meine Parameter für APRS und CW Ausgabe:

      Current parameters:

      BUTTON: ON
      LEDS: ON
      POWER: 7
      APRS FREQUENCY: 432500 kHz
      RTTY FREQUENCY: 434500 kHz
      RTTY: OFF
      RTTY CALLSIGN: NOCALL
      HOLOFF: 10 s
      RTTY BAUDRATE: 100 Bd
      RTTY SHIFT: 570 Hz
      RTTY DATA BITS: 7
      RTTY STOP BITS: 2
      TEMPERATURE: ON
      ALTITUDE: ON
      SPEED: ON
      COURSE: ON
      BATTERY VOLTAGE: ON
      SYSTEM VOLTAGE: OFF
      SATELLITES: ON
      APRS: ON
      APRS CALLSIGN: DL0UC -11
      TX DELAY: 150
      SYMBOL: /O
      APRS EVERY: 1
      SPEED and COURSE: ON
      MIC-E: OFF
      TELEMETRY: OFF
      TAIL TEXT EVERY: 2
      TAIL TEXT: Ballon by DARC B37 http://www.bravo37.de
      APRS_UBAT: ON
      WWL: ON
      LWWL: ON
      CWID: ON
      CWID MESSAGE: >DL0UC/AM BALLOON
      CW ID speed: 60 WPM
      CW ID EVERY: 5
      IGATE: OFF
      NMEA: OFF
      UART: 9600 8-N-1

      Und hier die gesendeten APRS-Pakete:

      sound setfragment returns -1
      0:fm DL0UC-11 to APBCRS via WIDE1-1 WIDE2-1 ctl UIv1 pid F0 q:93 -2.9dB txd:193ms
      !5014.07N/01059.01EO/A=001059000/000 Ballon by DARC B37 http://www.bravo37.de Ubat=3.24V temp=27C
      0:fm DL0UC-11 to APBCRS via WIDE1-1 WIDE2-1 ctl UIv1 pid F0 q:93 -3.1dB txd:221ms
      !5014.07N/01059.01EO/A=001072000/000
      0:fm DL0UC-11 to APBCRS via WIDE1-1 WIDE2-1 ctl UIv1 pid F0 q:88 -3.4dB txd:204ms
      !5014.07N/01059.01EO/A=001079000/000 Ballon by DARC B37 http://www.bravo37.de Ubat=3.22V temp=27C
      0:fm DL0UC-11 to APBCRS via WIDE1-1 WIDE2-1 ctl UIv1 pid F0 q:92 -2.9dB txd:192ms
      !5014.07N/01059.01EO/A=001079000/000
      0:fm DL0UC-11 to APBCRS via WIDE1-1 WIDE2-1 ctl UIv1 pid F0 q:93 -2.7dB txd:200ms
      !5014.07N/01059.01EO/A=001059000/000 Ballon by DARC B37 http://www.bravo37.de Ubat=3.19V temp=27C

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.