rdz_ttgo_sonde icon indicating copy to clipboard operation
rdz_ttgo_sonde copied to clipboard

DFM Decoding of Temperature, Humidity and Pressure

Open WH3080 opened this issue 2 years ago • 10 comments

Sorry for a newbie question: is there any particular reason why the T, H, P data from DFM sondes cannot be decoded while this is possible with others? Is it because no one has decrypted it yet or an ESP32 performance or memory issue?

WH3080 avatar Sep 18 '21 03:09 WH3080

I would have to defer to @dl9rdz for a complete answer but I don't believe there are any technical reasons against the feature being implemented. The main concerns would be with the limited space left on the ESP32 however this can and is being worked on through the creation of optional features.

The program didn't really have much need to decode weather information from sondes as it was primarily used for chasing however with the addition of SondeHub support we have seen more people using them as a cheaper alternative to an auto_rx station.

The code to decode this information exists and can be found here: https://github.com/einergehtnochrein/ra-firmware/tree/master/src/dfm, https://github.com/rs1729/RS/tree/master/dfm, and https://github.com/oe5hpm/dxlAPRS/blob/master/src/sondemod.c#L2522.

I'm sure if someone were to create a functional PR that didn't use too much space the addition would be considered.

LukePrior avatar Sep 18 '21 03:09 LukePrior

Exactly right, meteo data never has been a priority for me. T for DFM could easily be added. Not sure about H, P though. If I see it correctly no other software is decoding them.

dl9rdz avatar Sep 18 '21 20:09 dl9rdz

Your point is well taken. I realize that most of the current users are electronics nerds who want to collect the PCBs. On the other hand suddenly many people become more interested in science and particularly climatology and climate change. Although most software out there may not collect T, H and P, your's could set the standard as it is so rapidly evolving and runs on an tiny MCU instead of a whole single board computer like the RPI. This may be an interesting school project one day for the next generation.

WH3080 avatar Sep 19 '21 01:09 WH3080

Although most software out there may not collect T, H and P, your's could set the standard as it is so rapidly evolving and runs on an tiny MCU instead of a school single board computer like the RPI.

While it could be easy enough to add temperature decoding I don't believe anyone knows how to extract the humidity and pressure values from the data so even if we wanted it wouldn't be possible without first figuring that out. This isn't the place for it but you would need to collect high-quality data samples from DFM sondes with matching reference truth data. You could then work on determining the correct algorithm to extract this data where it could then be added.

LukePrior avatar Sep 19 '21 01:09 LukePrior

Hi,

I've received some more information on this and the technical reason programs cannot decode the humidity and pressure values are the lack of calibration values transmitted by the sonde. When it comes to other sondes like the RS41 they transmit calibration values that are needed to get accurate readings. We can get a fairly reasonable value for temperature but humidity and pressure are too complex with the values.

LukePrior avatar Sep 19 '21 06:09 LukePrior

Thank you for looking into it and consider temperature. I didn't know that calibration for H and P was an issue. Thought the sondes are only calibrated once at launch. Regarding measurements to sniff out the code I could donate a functioning sonde to Hans or you Luke. My programming skills are too limited.

WH3080 avatar Sep 19 '21 12:09 WH3080

Today's update should add decoding of temperature. Only tested locally with a recovered DFM-09 (with plausible values). Not tested with PS15 nor DFM17 (I don't have any)

dl9rdz avatar Sep 30 '21 17:09 dl9rdz

Fantastic, will test it locally. Could also send you a DFM-09P with a pressure sensor. If you agree to your work address or a Packstation / PO Box if you like. Let me know ...

WH3080 avatar Oct 01 '21 15:10 WH3080

I can confirm the battery and temperature results perfectly match auto rx and are being uploaded to SondeHub!

So for DFM, we are now at feature parity in terms of decodable fields, when it comes to RS41 we are pretty much minus XDATA (https://github.com/projecthorus/radiosonde_auto_rx/blob/master/demod/mod/rs41mod.c#L1066).

The readme can be updated to show DFM temp support.

LukePrior avatar Oct 02 '21 06:10 LukePrior

I can also confirm that T decoding renders plausible values. Still hoping for H and P. Maybe one day.

WH3080 avatar Oct 30 '21 15:10 WH3080