Low RF RSSI on Duty Cycled Reception
- March 25, 2026
- 1 reply
- 209 views
Good day,
I am currently working on the development of an IoT sensor node product based around the STM32WLE5CC MCU.
The product needs to be able to wake up from sleep on reception of a LoRa RF message. I have attempted to accomplish this by transmitting a long preamble and having the node receive the message by setting the radio in RxDutyCycle mode prior to sleeping. The timing of my duty cycle is such that I am guaranteed an Rx window within the preamble duration. This wakeup functionality works, however, the RSSI of the received wakeup signal is shown to be >20dBm lower than if I had just used continuous reception. This is a problem as we are now encountering suspected range issues where units can detect the preamble but fail to fully receive the associated payload.
I have gone through multiple test setups with different spreading factors and the results are consistent across the tests:
Test 1.1 (SF = 7, BW = 125 kHz, Preamble Len = 500, Rx = Full Receive)
- Wake RSSI = -44
- Wake SNR = 12
Test 1.2 (SF = 7, BW = 125 kHz, Preamble Len = 500, Rx = Duty Cycle [Rx: 5 ms, Sleep: 495 ms])
- Wake RSSI = -65
- Wake SNR = 12
Test 2.1 (SF = 10, BW = 125 kHz, Preamble Len = 64, Rx = Full Receive)
- Wake RSSI = -42
- Wake SNR = 9
Test 2.2 (SF = 10, BW = 125 kHz, Preamble Len = 64, Rx = Duty Cycle [Rx: 45 ms, Sleep: 455 ms])
- Wake RSSI = -66
- Wake SNR = 4
Test 3.1 (SF = 12, BW = 125 kHz, Preamble Len = 16, Rx = Full Receive)
- Wake RSSI = -44
- Wake SNR = 7
Test 3.2 (SF = 12, BW = 125 kHz, Preamble Len = 16, Rx = Duty Cycle [Rx: 165 ms, Sleep: 335 ms])
- Wake RSSI = -65
- Wake SNR = 4
The only indication I can see of some discrepancy is that the full reception results in only a radio interrupt IRQ 0x02 (Rx Complete), where as the duty cycled reception results in an IRQ 0x04 (Preamble Detected) followed by the IRQ 0x02. I have attached the debug logs for the SF = 7 tests.
I would really appreciate any assistance or explanation for these findings as this is a core functionality of the system and is causing reliability issues with our field tests.
Many thanks,
Shaun
