Weak signal strength


I am using radio dongle + climate module kit and for last few days I get only some of the messages from the module. It should send messages least every 30minutes, but I am receiving sometimes every second, third or fourth message (after 60, 90minutes). It started when the temperature goes down. BC hub and climate module are on the same positions for least of two weeks.
The strange situation is, that hub is behind the window inside the building and the climate module is just about 6 meters from that module in the greenhouse. The only barrier is window glassin the house and the greenhouse glass and just 6 meters in the same ground level. It is really not so much…
Battery voltage is 2,63V. Tomorrow I will restart whole module to find if there is some bug in the code. But it worked about one week without any problems…

I don’t know, how to measure signal strength. If you have any idea what to check, give me advice, please.

EDIT: During night I have found better solution - I will not restart the module, but I just will take the module closer to the hub… Then I will see if it “resolve” the problem or not.

I also attached .XLS file with all measured values since 15.11.2018. I looks it is not related to current temperature, because sometimes it doesn’t work in 20°C, sometimes 1,5°C. I need to say, that whole module works in extreme climate, because there is lot of humidity, when the sun start shining the temperature goes quickly up etc… But after I received the module I tried to test for how far it can communicate and when i placed the module behind the greenhouse, it sometimes lost some messages. It was about 4 meters far from current position. For that moment it was enough for me, but I expect that it will work reliable constantly. As I wrote, there is also a chance that I have something wrong in my code…

climate_values.xlsx.zip (63.8 KB)



you can read about RSSI in this thread. It is really easy to get signal strength with this Qi library. Good luck :slight_smile:


Thank you… I will modify my code during evening. But at this moment is the module from the other side of window (about 50cm) and it is still not sending some messages…


Do you also measure humidity? In the current weather condition the water can condensate on the radio module/antenna and lower the range.

We have seen a case where remote node has started to send higher battery values more than 12V. Later we put this graph together with humidity graph and there was a more than 99% humidity. The water changed the resistance of the resistor divider.

Is this the coated module that we have specially prepared for you? It is the Climate Monitor Kit or what modules do you have connected?

Can you make sure that the board is not oxidized? http://www.jps-pcb.com/blog/how-to-avoid-pcbs-from-oxidation.html



Yes, humidity is also measured, see the attached sheet. Humidity is around 95% at most of the time (not over 99%). I am using it in the greenhouse.

Yes I have modified boards from you (sprayed with something) which can work in humid environment… Correctly said - I am testing if it works :slight_smile: But I am not convinced that the bug is in the hardware.

I will check the boards for oxidation at the evening.

I am afraid that it can be related to sleep / listening modes, or something with memory issue. In the table you can see, that everything works OK (Listening mode starts every hour for 10 second). But it works weird since yesterday.

Thank you for your ideas!


I have “good news” it looks the problem is not hardware related. I disassembled the enclosure and checked all the hardware and it looks like a new! :+1:

But… I am using EEPROM to store some values. Since byte 36 I store long int (4 bytes) with interval of “sleeping period” (time interval when the bc_radio_set_rx_timeout_for_sleeping_node is set to 0. When I read this value from the memory it shows some big number which I didn’t store to that place. (or if I saved the value there - it was not my intention… I have just one place where I store the values…)

Is any possibility, that something in the “climate-module-example” use the EEPROM? Or is something internal which uses the memory for something? Can something cause to rewrite data on some position in EEPROM? Very strange is that the value has been rewritten exactly from the byte 36 and other values (from byte 0 to 36) has been uncorrupted.

Is any way to get status of queue of messages prepared to publish? It should be useful using debugging to view, how many messages are in the queue.

Thanks for your ideas


OK… This topic is “resolved”, because problem was not related to signal quality, but to something else. Thanks to user owar I know how to measure the signal quality (Weak signal strength).
I will create new topic, because (probably) something using EEPROM and it rewrites my values…


we use only the last ~100 bytes in the end of the 6 kB EEPROM region. It is used for radio pairing purposes.
We do not write anything in the lower ~5kB of EEPROM