Electronics Design AU
RFSolved

LoRa link range 100 m instead of expected 2+ km — antenna keepout or ADR?

3 min read3 replies
Original Question

Asked by stale_biscuit_03 ·

Running a LoRaWAN node with an SX1262 and a PCB trace antenna on our 4-layer prototype. Works fine to a gateway 250 m away — RSSI around −95 dBm, joins reliably. Moved the gateway to a building 1.2 km away (some walls, not line of sight) and the connection just drops completely. Other LoRaWAN devices in the area reach 4+ km on the same network.

ADR is enabled. We're using RAK3172 modules. Is this a layout issue with the antenna, or could ADR have locked us to a fast spreading factor after the close-in join? Not sure how to diagnose which it is.

From the knowledge baseWhat Is LoRa and LoRaWAN?

3 Replies

grumpy_otter7
Accepted Answer

Two things to check, roughly in order of probability:

Antenna keepout zone. A 915 MHz PCB trace antenna needs a clear keepout beneath and around it — no copper, no planes, no other signals on any layer under the antenna section. On a 4-layer board, the ground plane on L2 extending under the antenna detunes it completely. The antenna element is designed for a specific electrical length relative to air; a ground plane directly beneath it shortens the effective wavelength and drops radiation efficiency from the low tens of percent (already modest) to near nothing. A 15–20 dB penalty there would explain exactly the symptom: works at 250 m, fails at 1.2 km.

Check the antenna vendor's reference design for the keepout geometry — it's usually a copper-free zone of a specific dimension on all layers, not just the top layer. The antenna datasheet for whatever trace antenna you're using should have a reference PCB drawing.

RF trace impedance. The trace from the SX1262 RF_OUT pin to the antenna feed must be 50 Ω microstrip. On a 1.6 mm 4-layer FR4 board with L2 as the reference plane, the correct width is roughly 0.9–1.0 mm (not 3 mm as for a 2-layer board — the closer ground plane changes the geometry significantly). If you're routing a narrow signal trace here, the mismatch reflects transmit power back into the IC rather than out the antenna. Even a 30 Ω mismatch gives you a reflection coefficient of 0.25, meaning you're losing about 6% of your transmit power — that's only 0.3 dB so it's less dramatic than the keepout issue, but worth fixing regardless.

ADR at SF7. Less likely to be the sole cause but check it. ADR enabled means the network server set the spreading factor when the device was 250 m away and the link looked excellent. It probably locked to SF7 or SF8. At SF7 the receiver sensitivity is around −123 dBm; at SF12 it's −137 dBm — a 14 dB difference. Free-space path loss increases by about 14 dB going from 250 m to 1.2 km, so an SF7 lock plus a wall or two easily loses the link. Try temporarily forcing SF12 and disabling ADR in firmware to see whether the link establishes at all — if it does, the antenna issue is your real problem and ADR will fix itself once the antenna is working; if SF12 still fails completely, there's something more fundamental wrong.

stale_biscuit_03

Checked the board — the ground plane on L2 does extend under the trace antenna section. The copper fill was applied to the whole layer and I didn't carve out a keepout. Going to create the keepout zone in KiCad and spin a revised board. In the meantime I forced SF12 and the node connected from 1.2 km, so at least the rest of the RF chain is working. Appreciate the diagnostic approach.

soggy_waffle42

Worth confirming the transmit power setting while you're at it. The RAK3172 joins at the regulatory maximum for AU915 (+14 dBm by default) but some network server configurations send a LinkADRReq that reduces power if the uplink SNR looks high. After the SF12 test, log the MAC commands from the network server and check whether TXPower has been stepped down. If it has, you're diagnosing the range at reduced power, which makes the antenna issue look worse than it will be after the keepout fix.