LoRaWAN for Beginners: Long-Range IoT Without WiFi
LoRaWAN sends tiny data packets kilometres on milliwatts — a sensor can run years on a coin cell and still report from a field across town. It trades speed and payload for range and battery life. For the right projects that trade is perfect.
> At a glance: 10 minute guide · part of the IoT and ESP32 complete guide track · worked example, quick-reference table and field notes included.
## The physical layer: LoRa modulation
Chirp spread spectrum spreads a narrow signal across a wide band, trading data rate for link budget. Data rates run 0. 3–50 kbps and a gateway hears nodes 2–15 km away in open country. Spreading factor choice sets the balance: higher SF, more range, more airtime, more battery.
## LoRaWAN: the network on top
Class A nodes transmit, then open two brief receive windows — the most energy-efficient pattern possible. Gateways simply forward packets to a network server which deduplicates and routes. Classes B and C trade battery for lower latency. Everything rides in ISM bands: 868 MHz in Europe, 915 MHz regionally, 433 MHz options.
## Duty cycle and fair use
Regional limits cap how long a node may transmit per hour. Design around them: short payloads, sensible intervals. Adaptive data rate so the network can slow nodes down as they get closer. The biggest beginner failure is fighting the airtime rules rather than respecting them.
| Parameter | Typical value | Design impact |
| — | — | — |
| Range | 2–5 km urban, 15 km rural | Site surveys matter less |
| Battery life | Years on coin cells | Remote deployments viable |
| Payload | 51–242 bytes | Send numbers, not prose |
| Data rate | 0.3–50 kbps | Not for streaming |
| Duty cycle | 1 % (EU 868) | Caps message frequency |
## How to apply this in your build
Work through the sequence below. Each step assumes the previous one passed. The numbers that need arithmetic are covered by the linked tools at the end of this guide.
1. Choose your regional band and follow its duty cycle
2. Pick class A unless latency truly demands otherwise
3. Keep payloads short — integers and bitfields, not JSON
4. Use ADR so the network optimises your spreading factor
### Worked example
A soil-moisture node sending 12 bytes every 15 minutes at SF7 lasts an estimated 4+ years on two AA cells — WiFi would drain the same pack in days and not reach the far field at all. Cross-check with the Battery Life Calculator and the result should agree to within rounding.
> Practical note from the bench. Every LoRa build we document starts with the airtime budget — the packet math decides the battery math before any code is written.
## Who this guide is for
First-time readers get a single focused topic instead of a textbook chapter, with every term defined where it first appears. Returning readers use it as a reference. The table, the worked example and the mistake list answer the questions that come up mid-build. If you teach, the structure (theory, application, example, failure modes) maps cleanly onto a lab session.
## Prerequisites and preparation
Before starting. Choose your regional band and follow its duty cycle and pick class a unless latency truly demands otherwise. Keep the [Battery Life Calculator](/tools/battery-life) open, every number in the worked example is reproducible. Total time including the bench steps: about 8 to 10 minutes.
## Common mistakes to avoid
Each of these has cost real hardware on someone’s bench, usually ours:
– Sending JSON when 6 raw bytes carry the same data
– Omitting the downlink windows from the design (OTAA joins need them)
– Planning high-frequency telemetry LoRaWAN was never built for
## Key takeaways
– The physical layer: LoRa modulation — the foundation of this guide. Revisit it if any measurement here surprises you.
– LoRaWAN: the network on top — the foundation of this guide. Revisit it if any measurement here surprises you.
– Duty cycle and fair use — the foundation of this guide. Revisit it if any measurement here surprises you.
### Quick reference card
| Aspect | Where to find it in this guide |
| — | — |
| Core theory | The physical layer: LoRa modulation |
| Application steps | How to apply this in your build |
| Worked numbers | Worked example |
| Failure modes | Common mistakes to avoid |
## How this fits the IoT and ESP32 complete guide track
This guide is one stop in a structured path. Start from the [IoT and ESP32 complete guide](/tutorial/iot-esp32-complete-guide) pillar page for the full map, or continue with [deep sleep techniques](/tutorial/esp32-deep-sleep-tutorial) and [MQTT for local networks](/tutorial/mqtt-protocol-explained). For the arithmetic, open the [Battery Life Calculator](/tools/battery-life).
## Frequently asked questions
LoRaWAN or NB-IoT?
LoRaWAN wins on private networks and cost. NB-IoT wins where cellular coverage must do the work and you accept SIM costs.
Can I run LoRaWAN without a network provider?
Yes — a private gateway with an open-source network server is a standard, fully self-owned deployment.
Is there a calculator for this?
Yes, the [Battery Life Calculator](/tools/battery-life) run the formulas from this guide instantly, client-side, no signup.
## Related guides and tools
– The complete iot, sensors & esp32 guide: [IoT, Sensors & ESP32 complete guide](/tutorial/iot-esp32-complete-guide)
– Read next: [antenna basics for iot: wavelength, gain and matching](/tutorial/antenna-basics-tutorial)
– Also in this track: [biomedical sensors: how wearables measure the body](/tutorial/biomedical-sensor-guide)
– Continue with: [5g architecture explained: what actually changed](/tutorial/5g-architecture-explained)
– Calculate as you go: [battery life estimator](/tools/battery-life) · [LM317 regulator designer](/tools/lm317-regulator) · [wire gauge checker](/tools/wire-gauge-awg)
– From here, the natural continuation is the next guide in the track index. It assumes exactly the vocabulary this page built and adds the next layer of practice.
## Verification routine
Component substitution is a legitimate experiment as long as it is deliberate. Swap one part, predict the effect, measure, and record. That single habit converts a parts bin into a teaching lab and makes every future guide in this track faster to absorb.
The fastest way to internalise this topic is to change one variable deliberately and predict the result before measuring. Wrong predictions are the curriculum, they show exactly which mental model needs revisiting, and the bench grades honestly.
## Formulas and checks from this guide
Verification checklist for this track: watch RSSI before blaming code, measure supply current during radio bursts. Confirm MQTT topics against the broker log. Wireless bugs are usually power or signal problems wearing a software disguise.
Bookmark this page against your next build in the track. The checklist above is the same one used across 23 guides in this series.
## Notes from the bench
Location, then device, then measurement. Document the tree before flashing the first device.
Measure current during transmit bursts. Sags under load are power problems, no firmware fixes those.
Procirel