22 LPWAN Fundamentals: Knowledge Checks
Putting Numbers to It
Quiz mastery targets are easiest to plan with threshold math:
\[ C_{\text{target}} = \left\lceil 0.8 \times N_{\text{questions}} \right\rceil \]
Worked example: For a 15-question quiz, target correct answers are \(\lceil 0.8 \times 15 \rceil = 12\). If a learner moves from 8/15 to 12/15, score rises from 53.3% to 80%, crossing mastery with four additional correct answers.
22.1 Learning Objectives
By the end of this assessment, you will be able to:
- Select and justify LPWAN technology for real-world deployment scenarios by comparing LoRaWAN, Sigfox, and NB-IoT against payload, frequency, reliability, and cost constraints
- Calculate total cost of ownership across LPWAN technologies at various device scales and justify the break-even point for private versus operator-managed networks
- Analyze and diagnose migration risk when an LPWAN operator fails, and construct a transition plan that preserves service continuity
- Evaluate link budget trade-offs — implement spreading factor selection, assess fade margin adequacy, and distinguish between free-space and real-world path loss
For Beginners: LPWAN Knowledge Checks
These knowledge checks help you verify your understanding of LPWAN concepts. Each question includes explanations so you learn from any mistakes. Think of them as conversation starters – if you cannot answer a question, it points you back to the section you should review.
22.2 Knowledge Check
Test your understanding of LPWAN concepts with these scenario-based questions.
Quick Check: Distinguish Key LPWAN Properties
Before working through the link budget questions, confirm your mental model of how the three main LPWAN technologies differ on two critical dimensions.
Common Mistake: Assuming LoRaWAN “Unlimited Messages” Means No Restrictions
The Mistake: A developer reads “LoRaWAN has no daily message limit (unlike Sigfox’s 140/day)” and designs a system sending 1 message every 30 seconds (2,880 messages/day), assuming LoRaWAN has truly unlimited capacity.
Why It Fails: LoRaWAN doesn’t have message quotas, but it has duty cycle regulations that are often more restrictive:
EU868 Duty Cycle Analysis (1% limit):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Allowed airtime: 3,600 seconds/hour × 1% = 36 seconds/hour
Message every 30 seconds = 120 messages/hour
Payload: 20 bytes
Spreading Factor: SF10
Airtime per message: ~370 milliseconds
Required airtime: 120 msgs × 0.37s = 44.4 seconds/hour
Duty cycle used: 44.4 / 3,600 = 1.23%
Result: EXCEEDS 1% limit → Regulatory violation
Penalty: Up to €10,000 fine in Germany, device confiscation, or network shutdown
The Reality of “Unlimited”:
| Spreading Factor | Airtime (20 bytes) | Max msgs/hour (1% DC) | Max msg interval |
|---|---|---|---|
| SF7 | 56 ms | 643 msgs/hour | Every 5.6 seconds |
| SF8 | 103 ms | 350 msgs/hour | Every 10 seconds |
| SF9 | 185 ms | 194 msgs/hour | Every 18.5 seconds |
| SF10 | 370 ms | 97 msgs/hour | Every 37 seconds |
| SF11 | 740 ms | 48 msgs/hour | Every 75 seconds |
| SF12 | 1,319 ms | 27 msgs/hour | Every 133 seconds |
Comparison to Sigfox:
Sigfox limit: 140 messages/day = 5.8 messages/hour (average)
LoRaWAN SF10: 97 messages/hour (16× more than Sigfox!)
BUT: At SF12, LoRaWAN drops to 27 msgs/hour
With 24/7 operation: 27 × 24 = 648 messages/day
Still 4× better than Sigfox, but NOT "unlimited"
What “Unlimited” Actually Means:
- ✅ No quota enforced by network operator (unlike Sigfox’s 140/day hard cap)
- ✅ No per-message charges (unlike cellular data plans)
- ✅ Network server doesn’t artificially throttle you
- ❌ Still subject to regulatory duty cycle (1% EU868, 36s/hour max airtime)
- ❌ Still limited by gateway capacity (8 channels × airtime budget)
How to Stay Compliant:
Calculate airtime budget:
Use LoRa airtime calculator: https://loratools.nl/#/airtime Example: 50 bytes, SF9, BW125, CR4/5 = 205.8 ms Max messages: 36,000 ms / 205.8 ms = 174 msgs/hour Safe design: 80% of limit = 78 msgs/hour (every 46 seconds)Implement airtime tracking in firmware:
uint32_t airtime_used_ms = 0; uint32_t hour_start = millis(); void send_lora_message() { if ((millis() - hour_start) > 3600000) { // New hour started, reset counter airtime_used_ms = 0; hour_start = millis(); } uint32_t msg_airtime = calculate_airtime(payload_size, SF, BW); if ((airtime_used_ms + msg_airtime) > 36000) { // Would exceed 1% duty cycle, defer transmission return ERROR_DUTY_CYCLE; } transmit(); airtime_used_ms += msg_airtime; }Use Adaptive Data Rate (ADR): Network server optimizes SF to use lowest (fastest) SF that maintains link → maximizes message capacity
Key Lesson: “Unlimited” in LPWAN marketing means “no artificial quota” — but physics (duty cycle) and regulations still apply. Always calculate your airtime budget before deploying, especially for high-frequency applications.
: