Frequency offset issues?


I’m having a bit of an issue with a custom MSP430 + SX1276 board.
At first I had some issues with getting join requests through to a TTIG gateway (in EU868 mode). It wouldn’t receive them until LMIC had gotten around to lowering the SF to around 10 or 11. I tried the same version (latest) of the library on a TTGO OLED ESP32 board, which worked fine (at SF7), so I took a look at the radio spectrum and realized my board was sending at an approx 50kHz lower frequency than the TTGO board.

After modifying lorabase_eu868.h and increasing the frequencies by 50k, the device started joining reliably every time.

What might be the cause of this issue, and is there a “proper” way of fixing it in the firmware? The board is using a 32MHz ±10ppm crystal.

Wow, no idea. 50kHz/868M is 57ppm – this is not that much worse than 10 ppm. You might have a problem with parallel/series cut mismatch of the xtal vs expectations of the SX1276? I seem to recall that mismatch here, or mismatch on the passive network around the xtal can cause this kind of problem. I’ve not looked at ref circuits, but often 32 MHz circuits require an inductor, and that might not be the right value; etc. Clearly a hardware problem.

Thought I would update this as we have found the issue. Turns out the 32MHz oscillator had too large matching capacitors, causing the SX1276 to run slower than it should. Replacing the capacitors fixed the offset. Thanks for the pointer, @tmm !

1 Like