‌LoRaWAN ADR: Why "The Better the Signal, the More Power-Efficient the Device Is"

People working on LoRaWAN projects often encounter two seemingly contradictory issues: one is that the device is clearly near the gateway with full signal, but the battery drains faster than expected; the other is that the same gateway starts to lose packets when connected to 20-30 devices, and gets congested when adding more. Behind these two problems, there is often a neglected mechanism — ADR (Adaptive Data Rate). Many deployments leave it on or off by default, without ever truly understanding what it does.

1. What Exactly ADR Does

The LoRa physical layer has a set of adjustable parameters: spreading factor (SF7 to SF12), bandwidth, and transmit power. Low-speed modes (high spreading factor, such as SF12) offer long transmission distance and strong penetration, but a single packet stays in the air for a very long time; high-speed modes (low spreading factor, such as SF7) transmit quickly, but have a short range and high signal requirements.
ADR is a closed-loop process where the Network Server (LNS) automatically selects the optimal data rate and transmit power for each device based on the reported signal quality (RSSI, SNR):

  • When the device is close to the gateway with good signal → the network makes it use a high data rate and low power, and the device goes to sleep immediately after the packet is sent.
  • When the device is far away with poor signal → the network makes it reduce the speed and increase power to ensure reception.
    In other words, ADR is not a fixed configuration, but a continuous closed-loop of "monitoring signal and adjusting gear" on the network side.

2. Why ADR Extends Battery Life

One of the biggest battery drains is not the transmission itself, but the time the device stays on the air interface.
For the same 20-byte packet:

  • Using SF12 (the slowest), the packet may take more than 1 second in the air;
  • Using SF7 (the fastest), the same data only takes tens of milliseconds.
    Every extra millisecond the device stays on the radio means an extra millisecond of power consumption. A device next to the gateway, if incorrectly fixed at SF12, will waste a full second of transmission every time it reports; after ADR is enabled, the network will find its excellent signal and automatically switch to SF7, cutting the transmission time by more than ten times, and the battery life will naturally multiply. This is the principle of "the better the signal, the more power-saving".

3. Why ADR Also Improves Gateway Capacity

The number of devices a gateway can serve simultaneously depends on the total airtime occupied by all device packets.
High-rate packets are short with low duty cycle; low-rate packets are long, and one SF12 packet may take up the airtime of more than a dozen SF7 packets. If all devices in a deployment use the slowest rate to compete for the channel, even if each device only reports a few times a day, the air interface will be filled up, causing collisions and packet loss.
ADR allows devices with good signals to "transmit fast and occupy the channel briefly", reserving the valuable low-rate channel resources for devices that are far away and really need low rates. With ADR enabled, the number of devices that the same gateway can stably carry often increases several times. This is why in large-scale deployments, ADR is not an optional feature, but a must-have.

4. When to Manually Turn Off ADR

ADR is not a universal solution. There is a type of device that requires special handling: mobile nodes.
ADR relies on a stable signal environment to converge to a fixed rate. If the device is constantly moving (such as livestock collars, vehicle asset trackers), being in an open area one day and a valley the next, the signal changes every day. ADR will repeatedly adjust and oscillate back and forth, which will instead lead to retransmissions and power consumption.
For mobile devices, common practices are:

  • Manually fix a conservative rate gear (do not use the highest speed, leave a margin);
  • Or set the upper/lower limit of ADR rate to prevent it from jumping randomly;
  • Let the device report on event trigger instead of high-frequency scheduled reporting.
    For static devices (sensors, smart locks, fixedly installed trackers), ADR should be turned on and allowed to converge automatically.

5. Practical Deployment Tips

  • Static devices enable ADR by default: for temperature and humidity sensors, liquid level sensors, smart locks and other immobile devices, let the network automatically adjust the rate.
  • Mobile devices are configured separately: manually lock the rate for livestock collars and vehicle trackers, do not let ADR follow the movement randomly.
  • Check the ADR convergence curve after deployment: observe for a few days after new devices join the network to see if they stabilize at a rate gear; failure to converge usually indicates severe signal occlusion.
  • Adjust the reporting interval together with the rate: power saving is not only about changing the rate. Changing the reporting frequency from 5 minutes to 15 minutes is often more effective than obsessing over the SF gear.
  • Expose ADR parameters to customers in product design: allow customers to enable/disable ADR for different types of devices on their own platforms, which is a common requirement for enterprise-level platforms.

Summary

ADR is the most underrated mechanism in LoRaWAN networks that affects both "battery life" and "capacity". It allows devices with good signals to send and receive quickly at high rates and low power, thus saving power and channel resources; it automatically reduces the speed for distant devices to ensure connectivity. Enable ADR boldly for static devices, manually lock the rate for mobile devices, and observe the convergence after deployment — by using ADR correctly, both battery life and gateway device capacity can often be improved to a new level.