Finally had some time to wrote recent findings what I made with RF69HCW on temperature chamber.
So I tested one RF69HCW assembled on small PCB together with ATMEGA328P (comparable to Moteinos) on temperature chamber to see how frequency drifts over temperature. My setup was SDR for frequency sniffing, K-type thermocouple for crystal temperature and DS18B20 for chamber temperature (altought it has internal sensor). Swept was made from 20 to -30 celsius and back from -30 to 70 celsius with ~20min settling time for each step. RX was continuously on which caused radio & crystal to have higher temperature than chamber. Controlling TX, requesting internal & DS18B20 temperature was done via serial commands. Frequency was measured with "pre-heated" SDR so that its own frequency shift due self heating could be minimized.
First figure represents the correlation between internal, K-type and DS18B20 temperatures to ambient temperature. Naturally DS18B20 measures quite nicely 1:1 what chamber was set. Also it seems that radio is ~10 celsius hotter than ambient over the range. Crystal temperature behavior is not 100% clear to me, as it seems to run hotter than radio in cold but vice versa in hot. Could be also measurement error as K-type sensor is attached on top of the crystal and measured with multimeter.. Anyway, my point was to run tests and see if I could use internal sensor to read temperature and make frequency corrections according that information when I have somewhat stable case (eg. RX continuously on, just after wakeup etc...).
Second figure shows the frequency drift over internal temperature. S-type curve seems quite familiar from Johns post but the swing of frequency shift have huge difference when comparing to first post of this topic. John has measured ~14kHz swing and I did measure "only" ~8kHz. This cannot be explained by the fact that I have 868MHz and John have 915MHz radio (see the previous post) or that John has measured crystal temperature with DS18B20 and I use radios internal temperature (using different temperature doesn't have impact on swing). It could be explained by different or broken crystal or some measurement error.
In addition to this, when comparing to first freq vs. temp results by John, it seems that my results have clear correlation to those measurements (
https://lowpowerlab.com/forum/index.php/topic,135.msg453.html#msg453). I did convert my results to 915MHz and shifted it to same temperature, see the figure 3.
I'm going to implement simple temperature compensation and re-test this with few radios in temperature chamber to see how it works. Any thought/ideas on this?