#Weak RFM95 LoRa Signal Power

1 messages · Page 1 of 1 (latest)

earnest belfry
#

An update... I did some tests to see if I could get better received power (RSSI). First, I tried downgrading to CircuitPython 6.3.0 on the receiving node. Signal power unchanged. I also tried moving both transmitter and receiver to another location around my house just in case a local source of RFI was causing the received power issues. No improvement. Finally, I tried testing the weakest signal that I could detect thinking that perhaps the M4 is not measuring or reporting RSSI correctly. I was able to see RSSI as weak as -100 dB. This seems weaker than I would have expected, but perhaps is plausible.

#

At this point I don't have a good possible cause for this issue. Any ideas?

rough shoal
#

Antenna orientation? Near something conductive? Power supply capability? Modulation scheme (LoRa offers a bunch of things you can tweak)?

earnest belfry
#

Good suggestions. Tried multiple relative antenna orientations, and moved both Rx and Tx around to different places to move them away from local interfering objects. No change. Also powering with both LiPo and USB. No change. Have not played with modulation, but as I was getting -20dB or better with default modulation, which I am using now, can't see how that would be the answer.

#

That said, without other options to try will look at modulation changes for a next series of tests. Thanks @rough shoal !

rough shoal
#

On the one hand, RSSI is approximate at best, on the other hand, it was one value and now it is another, so I can understand wanting to know what changed.

earnest belfry
#

Agreed. Add to the mystery the fact that I see this on two RFM95 featherwings and one RFM95 Pi bonnet.

rough shoal
#

It might be useful to find out if the transmit power had changed, or the receive sensitivity. Unfortunately, I'm not thinking of a good way to do so.

earnest belfry
#

Agreed. Something to think about.

earnest belfry
#

An update. I have done some testing where I reverted to two previous versions of CircuitPython (specifically versions 6.3.0 and 5.3.1) using the bundled version of adafruit_rfm9x appropriate for each version (i.e. 6.x and 5.x, respectively). I found that the measured RSSI changed when I reverted to version 5.3.1. Looking at the changelog for previous versions of adafruit_rfm9xit seems that version 2.1.0 included a correction to the RSSI calculation. Looking at the PR associated with that issue, it appears that the RSSI calculation was in error by something like 25 dBm. This is approximately the difference in RSSI that I see between version 5.3.1 (~ -26dBm) and versions 6.3.0 and 7.3.3 (~ -55dBm). So, the problem appears to have been that the older version of CP, and its associated adafruit_rfm9x library, was using an erroneous RSSI calculation.

#

For good measure, I also used an SDR to measure the signal strength of the RFM95 transceivers I had set up as a Tx/Rx test bed. Found that I am getting about -58 dBm peak with a noise floor of about -80 dBm, independent of the version of CP or adafruit_rfm9x that I am using. This seems to confirm that there is nothing wrong with my RFM95 transceiver setups, and that the problem was that I was using an older version of CP and adafruit_rfm9x with a bug in the RSSI calculation.

rough shoal
#

Ah, that's interesting! I'll admit I was curious about what had changed, so I'm glad you followed up with what you have discovered.

earnest belfry
#

Thought it might be useful for anyone who noticed a big change in RSSI when migrating from CP 5.x to 7.x. Also, now I have a nice RFM95 tester setup!