dl9rdz / rdz_ttgo_sonde

279 stars 99 forks source link

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):

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

NOTE: Older boards with 26 MHz crystal (TTGO LoRa32 v1, Heltec v1/v2) are not supported by newer dev/main firmware images.

Radiosonde Support Matrix

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

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:

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:

Setup

see Wiki