LoRa vs NRF24L01 vs Zigbee vs WiFi: Choosing a Wireless Link for Your Project
There is no best wireless technology, only the right tradeoff. Every radio trades range against data rate against power consumption, and you cannot maximise all three. Picking the wrong one usually means discovering three weeks in that your sensor node flattens its battery in two days, or that the signal will not reach the far end of the property.
This guide covers what each option is actually good for, and the Indian regulatory rules that decide which frequency you are allowed to use.
The core tradeoff
Radio physics enforces a simple relationship: for a fixed transmit power, the more slowly you send data, the further it travels reliably. LoRa exploits this deliberately — it is extraordinarily slow, and in exchange it reaches kilometres. WiFi sits at the other end: megabits per second, tens of metres.
| LoRa (SX1276) | NRF24L01+ | Zigbee (XBee / CC2530) | WiFi (ESP32) | |
|---|---|---|---|---|
| Typical range, open | 2–10 km | 100 m (PA/LNA: ~1 km) | 100–300 m | 50–100 m |
| Typical range, indoor | 500 m–2 km | 20–30 m | 20–50 m | 20–40 m |
| Data rate | 0.3–37.5 kbps | 250 kbps–2 Mbps | 250 kbps | 10–100+ Mbps |
| TX current | ~120 mA @ 20 dBm | ~12 mA | ~35 mA | ~180–250 mA |
| Sleep current | ~1 µA | ~900 nA | ~1 µA | ~10 µA (ESP32 deep sleep) |
| Mesh support | Via LoRaWAN infra / custom | No (star only) | Yes, native | ESP-MESH |
| Frequency (India) | 865–867 MHz | 2.4 GHz | 2.4 GHz | 2.4 / 5 GHz |
| Interface to MCU | SPI | SPI | UART or SPI | Integrated |
| Internet access | Needs gateway | Needs gateway | Needs coordinator + gateway | Direct |
| Relative cost | Medium | Lowest | Highest | Low (built into ESP32) |
Range figures are the honest kind. Vendor claims of "LoRa 15 km" assume line of sight from elevated antennas over water. In a town with buildings, expect 1–3 km.
Indian frequency rules — read this before you buy
This trips up a lot of projects.
LoRa in India uses the 865–867 MHz band. This is delicensed for low-power devices under India's ISM allocation. A module bought for the European market (868 MHz) is close enough to be usable within band if configured correctly, but a 915 MHz US module is not legal to operate here and will also fail to talk to Indian gateways. When ordering, confirm the module is the 865–867 MHz variant. Our LoRaWAN on The Things Network in India post covers channel plans in detail.
2.4 GHz (NRF24L01, Zigbee, WiFi) is globally delicensed, so those modules work anywhere without a frequency concern.
Transmit power in the Indian sub-GHz band is capped (typically 30 dBm ERP with duty-cycle limits depending on channel). For hobby and small commercial deployments at 20 dBm you are comfortably inside the limit.
LoRa: long range, tiny payloads
LoRa is the right answer when nodes are far apart and send small amounts of data infrequently.
What it is genuinely good for: agricultural sensors across a farm, water tank levels, remote gate controls, cattle tracking, air quality nodes spread across a town, anything where the node is kilometres from the receiver and you cannot run cable or reach WiFi.
What it is bad for: anything with volume. At SF12 you get roughly 300 bits per second. A single 50-byte packet takes over a second of airtime. You cannot stream, you cannot send images, and you should not poll frequently.
The spreading factor tradeoff. SF7 is fastest and shortest range; SF12 is slowest and longest. Higher SF also means longer airtime, which means more battery per message and more chance of collision. Start at SF7 and increase only until the link is reliable.
Raw LoRa vs LoRaWAN. Two different things:
- Raw LoRa (point to point, using RadioLib or similar) — simple, no infrastructure, full control. Right for a handful of nodes talking to one receiver. This is what our ESP32 long-range IoT guide builds.
- LoRaWAN — a full network protocol with gateways, network servers, ADR, and encryption. Right when you want many nodes, roaming, or integration with a platform like The Things Network. Considerably more setup.
Most projects should start with raw LoRa.
Watch the antenna. Never power a LoRa module without its antenna connected — transmitting into an open port can damage the PA. And an antenna cut for 915 MHz will perform poorly at 866 MHz. Match them.
NRF24L01+: cheap, fast, short
The NRF24L01+ is the budget workhorse for short-range links between microcontrollers.
What it is good for: RC vehicles, wireless sensors within a room or house, controller-to-robot links, replacing a cable between two boards a few metres apart. Fast enough for real-time control, and cheap enough to put in everything.
What it is bad for: anything beyond about 30 m indoors. And it cannot reach the internet on its own — you need a node with WiFi or Ethernet acting as a bridge.
The power supply problem. This is the single most common NRF24L01 failure, and almost everyone hits it. The module draws sharp current spikes when transmitting, and the ESP32's 3.3 V regulator often cannot supply them cleanly. Symptoms: works at 30 cm, fails at 3 m; works for a minute then stops; intermittent packet loss with no pattern.
The fix is a 10 µF electrolytic capacitor soldered directly across VCC and GND at the module, as close to the pins as possible. Not on the breadboard rail — at the module. Add 100 nF in parallel for high-frequency decoupling. This resolves the majority of "my NRF24 does not work" reports.
5 V will destroy it. VCC must be 3.3 V. The logic pins are 5 V tolerant, so an Arduino Uno can drive the SPI lines directly, but the supply pin cannot take 5 V.
PA/LNA variants with an external antenna genuinely extend range to a few hundred metres outdoors, but they draw more current and are even more sensitive to supply quality.
Zigbee: mesh that actually works
Zigbee's distinguishing feature is a real self-healing mesh. Nodes relay for each other, and if one drops out the network reroutes automatically.
What it is good for: home automation with many nodes spread across a building, where a single hop would not reach but a chain of nodes will. It is the protocol behind a lot of commercial smart-home hardware, so interoperability with off-the-shelf devices is a genuine advantage.
What it is bad for: budget projects. Modules cost several times an NRF24L01, and you need a coordinator. For a link between two devices, Zigbee is heavy overkill.
The practical reality for makers: unless you specifically need mesh or commercial-device interoperability, ESP-MESH on ESP32 hardware you already own gives you similar topology benefits at no extra part cost. See our ESP32 mesh networking guide.
WiFi: when the internet is the point
If the project's job is to reach a phone, a dashboard, or a cloud service, WiFi on an ESP32 is the shortest path — no gateway, no bridge, no second protocol.
What it is good for: anything mains-powered that needs internet. Cameras, dashboards, home automation hubs, OTA-updatable devices, anything sending more than trivial amounts of data.
What it is bad for: battery-powered nodes. WiFi association plus DHCP plus a TLS handshake costs meaningful energy every wake cycle. A node reporting every 15 minutes over WiFi will not match a LoRa node's runtime on the same cell.
The mitigation is deep sleep with a static IP and cached credentials, which cuts reconnect time substantially. It narrows the gap but does not close it.
Decision guide
1. Does the node need to reach the internet directly, and is it mains-powered? → WiFi (ESP32). Stop here.
2. Is the distance more than a few hundred metres? → LoRa. Nothing else in this list will cover it.
3. Do you need many nodes relaying across a building, or interoperability with commercial smart-home devices? → Zigbee.
4. Short range, high data rate, lowest cost, battery-friendly? → NRF24L01+.
5. Battery node, long range, tiny payloads, weeks-to-months runtime? → LoRa with deep sleep.
Hybrid designs are normal
Most real deployments use more than one. A common and effective pattern:
- LoRa nodes in the field, battery-powered, reporting every 15 minutes
- One ESP32 gateway on mains power with both a LoRa module and WiFi
- Gateway forwards readings to MQTT or an HTTP endpoint
You get LoRa's range and battery life where it matters, and WiFi's internet access where power is available. Our home automation over LoRa build follows exactly this shape.
Summary
| If your priority is… | Pick |
|---|---|
| Maximum range | LoRa |
| Maximum data rate | WiFi |
| Lowest cost per node | NRF24L01+ |
| Longest battery life | LoRa (or NRF24 at short range) |
| Self-healing mesh | Zigbee, or ESP-MESH |
| Direct internet access | WiFi |
| Commercial smart-home compatibility | Zigbee |
Match the radio to the constraint that actually binds your project, not to the one with the best headline number.
LoRa modules in the India 865–867 MHz band, NRF24L01+ modules with and without PA/LNA, ESP32 boards, and matched antennas are all stocked at Wavtron with datasheets and same-day dispatch.
