SX1276 in FSK mode: what AFC, AGC, RSSI and FEI do, and why my links fail on cold mornings
Point-to-point FSK links for soil moisture probes in orchards, not LoRaWAN, just SX1276 modules (RFM95 boards) in FSK mode at 868.3 MHz, 4.8 kbps, ±5 kHz deviation, RxBw set to 10.4 kHz. The receiver sits on a mast and forwards to a Pi that reports each probe to Hermetry as a child.
Works all day. On cold mornings (below about 3 °C) a few probes drop out completely until it warms up. I read about AFC, AGC, RSSI and FEI in the datasheet and only half follow it. What do they each do in RX, and which one should I be turning on? Right now RegRxConfig is 0x0E, which I copied from an example.
Following. I’ve never touched FSK mode at all.
Is this the same radio as LoRa? I thought the RFM95 was LoRa only.
Same chip does both, the mode is a register setting. Why would cold matter though, the distance doesn’t change?
Aoife’s question is the right one. Cold moves the crystals.
The four in RX:
RSSI is how strong the received signal is, read from RegRssiValue (0x11), value / 2 as negative dBm. AGC picks the LNA gain from that so strong signals don’t saturate the receiver; your 0x0E already has AgcAutoOn (bit 3) set, leave it. FEI (frequency error indicator, RegFeiMsb/Lsb 0x1D/0x1E) measures how far the incoming carrier is from where the receiver expects it. AFC uses that measurement to retune the receiver onto the signal, at the start of a packet if AfcAutoOn (bit 4) is set. Yours is off.
A plain crystal is good for maybe ±10 to 20 ppm, and drifts with temperature. At 868 MHz, 20 ppm is about 17 kHz. Probe and receiver drift differently on a cold morning, and once the offset plus your deviation falls outside a 10.4 kHz receive bandwidth, the packet is gone. That’s your dropouts.
RegRxConfig (0x0D) = 0x1E // AfcAutoOn + AgcAutoOn + preamble detect trigger
RegAfcBw (0x13) = wide enough to catch the offset before AFC (e.g. 41.7 kHz)
RegRxBw (0x12) = 20.8 kHz after AFC
// or simply widen RxBw if you don't want AFC
Then send the FEI and RSSI of each probe as values next to the moisture reading. In Hermetry a chart of FEI against air temperature shows you which probes drift; ours showed 11 kHz swings on two units before we changed anything.
TCXO modules exist for exactly this if a probe still misbehaves.
And they cost a few dollars more per node, worth it only for the worst ones.
AfcAutoOn on, AfcBw at 41.7 kHz. This week had three mornings at -1 °C and no dropouts. The FEI chart is a nice touch, one probe swings 13 kHz, it gets a TCXO board.
- Vous devez être connecté pour répondre à ce sujet.
Rejoignez la discussion
Connectez-vous pour poser et répondre à des questions, aimer les messages utiles et marquer la réponse qui a résolu votre problème. Chaque contribution rapporte des points et des niveaux.

