decoder for radiosonde RS41, RS92, DFM06/09/17, M10/M20, and MP3H based on a TTGO LoRa ESP32 board.
 
 
 
 
 
 
Go to file
Hansi, dl9rdz faa9fc1630 ... ntp time sync merge, moving init the network start 2021-05-29 13:32:08 +02:00
.github/ISSUE_TEMPLATE Update issue templates 2021-03-24 12:38:40 +01:00
.travis README update and other minor things 2021-05-24 12:25:09 +02:00
Licenses licence info update 2020-01-31 18:03:30 +01:00
RX_FSK ... ntp time sync merge, moving init the network start 2021-05-29 13:32:08 +02:00
libraries/SondeLib DFM subtypes enhancement for SondeHub 2021-05-29 12:14:45 +02:00
scripts + config upload/download tool: --ttgo=<ip> option 2021-05-27 01:16:17 +02:00
.gitignore integrat platformio without breaking changes 2020-11-20 21:06:06 +01:00
.travis.yml Compatible with newer version of APX library (consistent with platformio, make sure to upgrade your ArduinoIDE), and font enhancements for new ILI9225 libraray 2021-05-24 21:21:25 +02:00
README.md Update readme with installation instructions 2021-05-29 08:33:59 +02:00
Setup.md mqtt initial implementation 2020-11-25 11:01:18 +01:00
_config.yml Set theme jekyll-theme-minimal 2019-04-28 15:05:13 +02:00
fontconverter Compatible with newer version of APX library (consistent with platformio, make sure to upgrade your ArduinoIDE), and font enhancements for new ILI9225 libraray 2021-05-24 21:21:25 +02:00
platformio.ini Merge remote-tracking branch 'oh3bsg/sondehub' into sondehub 2021-05-23 11:07:11 +02: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).

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

  • Arduino 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 (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/NGP ✔️ ✔️
Vaisala RS41-SG/SGP/SGM ✔️ ✔️ ✔️
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. MP3-H1 currently lacks decoding timestamps from telemetry, thus not yet suitable for SondeHub.

Support for other radiosondes that use AFSK modulation is not feasible with the TTGO hardware. In particular, decoding iMet radiosondes is not practical.

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 installatiom 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