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.
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.
Mitdiskutieren
Melde dich an, um Fragen zu stellen und zu beantworten, hilfreiche Beiträge mit „Gefällt mir“ zu markieren und die Antwort zu kennzeichnen, die dein Problem gelöst hat. Jeder Beitrag bringt Punkte und Stufen.

