decoder for radiosonde RS41, RS92, DFM06/09/17, M10/M20, and MP3H based on a TTGO LoRa ESP32 board.
 
 
 
 
 
 
Go to file
Hansi, dl9rdz 5ce1d36b97 Squashed commit of the following:
commit fcaf88779d
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Sun Jan 7 12:22:16 2024 +0000

    (read partition table; preparation for future file system upload script)

commit 9c7491d389
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Sat Jan 6 23:51:44 2024 +0000

    better license info on external libraries

commit 12ede0e81d
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Mon Dec 18 19:12:36 2023 +0100

    esp32 version update

commit 1687117bec
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Tue Dec 12 19:36:47 2023 +0000

    tentative fix of M20 misclassification as M10 (untested)

commit ff5aec544e
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Tue Dec 12 19:27:23 2023 +0000

    tentative fix of M20 misclassification as M10 (untested)

commit 2b88e072ac
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Sun Dec 10 16:11:51 2023 +0000

    reduce image size with platformio builds, make it (almost) same as for Arduino builds

commit 8ee071de35
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Sun Dec 3 22:45:44 2023 +0000

    T-Beam 1.2: charge battery fix

commit 681f436767
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Sun Dec 3 16:00:13 2023 +0000

    newer library versions

commit 6551fa0b5d
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Fri Nov 10 09:43:02 2023 +0000

    chasemapper: id format with type, as in auto_rx

commit e5c2e2db77
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Tue Aug 29 20:15:53 2023 +0000

    more explanation in About tabw

commit aec4d39867
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Tue Aug 29 01:00:53 2023 +0000

    fix travis build / wget issue with github

commit d7026abb7b
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Tue Aug 29 00:22:48 2023 +0000

    fix bug in eph config editor

commit 6c98891b63
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Mon Aug 28 12:35:06 2023 +0000

    AXP2101: add missing irq handler

commit c1231a11d4
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Mon Aug 28 12:02:36 2023 +0000

    bugfix (APX2101 related)

commit 86263a7ad1
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Mon Aug 28 10:13:39 2023 +0000

    fix

commit 35156948cb
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Mon Aug 28 10:07:09 2023 +0000

    yet another fix for ftp eph

commit 3ddbebf2fc
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Sat Aug 26 23:33:33 2023 +0000

    untested axp2101 support

commit 60e97d917b
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Sat Aug 26 17:19:38 2023 +0000

    pmu reorg, preparing for axp2101

commit 082b6ccdf5
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Tue Aug 22 22:28:37 2023 +0000

    fix posInfo bug; aprs timeout convert seconds to ms

commit deec0d362f
Author: Hansi, dl9rdz <dl9rdz@darc.de>
Date:   Sun Jul 9 12:10:53 2023 +0200

    (sync with master)
    some code reorganization, preliminary SD card code (not active)
    APRS timeout added
2024-01-07 12:43:38 +00:00
.github/ISSUE_TEMPLATE Squashed commit of the following: 2021-10-07 21:52:34 +02:00
.travis Squashed commit of the following: 2021-10-07 21:52:34 +02:00
Licenses Squashed commit of the following: 2024-01-07 12:43:38 +00:00
RX_FSK Squashed commit of the following: 2024-01-07 12:43:38 +00:00
docs Squashed commit of the following: 2021-10-07 21:52:34 +02:00
scripts Squashed commit of the following: 2024-01-07 12:43:38 +00:00
.gitignore Squashed commit of the following: 2021-10-07 21:52:34 +02:00
.travis.yml Squashed commit of the following: 2024-01-07 12:43:38 +00:00
Notes-on-Using-WiFiClient.txt Squashed commit of the following: 2021-10-07 21:52:34 +02:00
README.md Squashed commit of the following: 2022-01-23 23:33:36 +00:00
_config.yml Set theme jekyll-theme-minimal 2019-04-28 15:05:13 +02:00
fontconverter Squashed commit of the following: 2021-10-07 21:52:34 +02:00
fontlink.ld Squashed commit of the following: 2021-10-07 21:52:34 +02:00
partitions-esp32v2.csv Squashed commit of the following: 2024-01-07 12:43:38 +00:00
platformio.ini Squashed commit of the following: 2024-01-07 12:43:38 +00:00

README.md

rdzTTGOsonde

This a decoder for radiosonde RS41, RS92, DFM06/09/17, M10/M20, and MP3H based on a TTGO LoRa ESP32 board.

It supports OLED displays (SSD1306, SH1106) and TFT displays (ILI9225, ILI9341/9342).

It also supports feeding data to external applications using WiFi (NOT bluetooth):

  • Android app by dl9rdz (see https://github.com/dl9rdz/rdzwx-go for apk download)
  • AXUDP (for aprsmap application by oe5dxl, among others)
  • KISS TNC (aprs format, mainly useful for APRSdroid app)
  • MQTT
  • SondeHub tracker
  • Chasemapper UDP (experimental)

Please consult the Wiki at https://github.com/dl9rdz/rdz_ttgo_sonde/wiki/Supported-boards for details on supported boards, and additional setup instructions.

Radiosonde Support Matrix

Manufacturer Model Position Temperature Humidity Pressure
Vaisala RS92-SGP ✔️ ✔️
Vaisala RS41-SG/SGP/SGM ✔️ ✔️ ✔️ ✔️ (for -SGP)
Graw DFM06/09/17 ✔️ ✔️
Meteomodem M10 ✔️ ✔️ ✔️ Not Sent
Meteomodem M20 ✔️ Not Sent
Meteo-Radiy MP3-H1 (MRZ-H1) ✔️

SondeHub integration has mainly been tested with RS41 and DFM.

Support for other radiosondes that use AFSK modulation is not feasible with the TTGO hardware. In particular, decoding iMet-1/iMet-4 radiosondes is not practical (iMet-5x seems to use FSK, so should be feasible to implement).

Adding support for LMS6 (see issue #48) and ims100 (see branch ims100) could be feasible, but currently I don't have plans to do add this myself. Well-tested pull requests will of course be considered for inclusion :-).

Installation

You can download the latest binary automated build for the development and testing branches here, the binary includes everything including configuration files so any existing settings will be reset.

To update an existing installation to the latest development or master version you can use the OTA update feature.

The downloaded .bin file can be flashed to your ESP32 board using esptool or ESP32 Download Tool

esptool

You can run the following command replacing <filename.bin> with the path to the downloaded .bin file.

If you encounter errors with the device COM not automatically being detected replace /dev/cu.SLAB_USBtoUART with COM<X>.

esptool --chip esp32 --port /dev/cu.SLAB_USBtoUART --baud 921600 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 80m --flash_size detect 0x1000 <filename.bin>

ESP32 Download Tool

The binary file can also be installed using the GUI application with the following settings.

Button commands

You can use the button on the board (not the reset button, the second one) to issue some commands. The software distinguishes between several inputs:

  • SHORT Short button press (<1.5 seconds)
  • DOUBLE Short button press, followed by another button press within 0.5 seconds
  • MID Medium-length button press (2-4 seconds)
  • LONG Long button press (>5 seconds)

You can optionally use a second button, which you have to add manually to your board. See https://github.com/dl9rdz/rdz_ttgo_sonde/wiki/Hardware-configuration for details.

Wireless configuration

On startup, as well as after a LONG button press, the WiFI configuration will be started. The board will scan available WiFi networks, if the scan results contains a WiFi network configured with ID and Password in networks.txt, it will connect to that network in station mode. If no known network is found, or the connection does not suceed after 5 seconds, it instead starts in access point mode. In both cases, the ESP32's IP address will be shown in tiny letters in the bottom line. Then the board will switch to scanning mode.

Scanning mode

In the scanning mode, the board will iterate over all channels configured in channels.txt, trying to decode a radio sonde on each channel for about 1 second. If a valid signal is found, the board switches to receiving mode on that channel. A SHORT buttong press will also switch to receiving mode.

Receiving mode

In receiving mode, a single frequency will be decoded, and sonde info (ID, GPS coordinates, RSSI) will be displayed. The bar above the IP address indicates, for the last 18 frames, if reception was successfull (|) or failed (.), or had some errors (E), e.g., CRC check failed.

A DOUBLE press will switch to scanning mode.

A SHORT press will switch to the next channel in channels.txt

A SHORT press on the second button will switch to a different display screen.

Spectrum mode

A medium press will active scan the whole band (400..406 MHz) and display a spectrum diagram (each line == 50 kHz) For TTGO boards without configurable button there are some new parameter in config.txt:

  • spectrum=10 // 0=off / 1-99 number of seconds to show spectrum after restart
  • timer=1 // 0=off / 1= show spectrum countdown timer in spectrum display
  • marker=1 // 0=off / 1= show channel edge freq in spectrum display

Setup

see Setup.md