1138  NB-IoT Labs and Implementation

1138.1 Learning Objectives

By the end of this chapter, you will be able to:

  • Configure NB-IoT Modules: Set up SIM7020, BC66, and other NB-IoT modules using AT commands
  • Establish Network Connectivity: Connect to carrier networks and troubleshoot registration issues
  • Implement Power Modes: Configure PSM and eDRX for optimal battery life in deployed sensors
  • Transmit Sensor Data: Send UDP/CoAP messages to cloud platforms from NB-IoT devices
  • Debug Connectivity Issues: Use diagnostic commands to analyze signal strength and network status
  • Deploy Field Sensors: Apply practical considerations for real-world NB-IoT deployments

1138.2 Prerequisites

Before diving into this chapter, you should be familiar with:

  • NB-IoT Fundamentals: Understanding NB-IoT technology basics, deployment modes, and architectural components is essential before implementing practical solutions
  • NB-IoT Power and Channel: Knowledge of PSM, eDRX, and channel access mechanisms is required to properly configure power-saving modes in lab exercises
  • Cellular IoT Fundamentals: Familiarity with cellular network concepts helps you understand SIM card activation, network registration, and carrier requirements
  • Networking Basics: Basic networking knowledge including IP addressing and data transmission concepts is needed for cloud integration exercises

Deep Dives: - NB-IoT Power and Channel - PSM/eDRX theory and battery calculations - Cellular IoT Implementations - SIM7000/SIM7600 module programming

Comparisons: - NB-IoT Comprehensive Review - Test your implementation knowledge - Cellular IoT Comprehensive Review - Technology selection scenarios

Application Protocols: - CoAP Fundamentals - Lightweight protocol for NB-IoT - MQTT Fundamentals - Publish-subscribe over cellular

Related Labs: - Cellular IoT Applications - Real-world deployment scenarios - Mobile Wireless Labs - Spectrum analysis and link budget

Design: - Prototyping Hardware - Development boards and modules - Network Design and Simulation - Coverage planning

Learning: - Quizzes Hub - Hands-on implementation challenges

1138.3 🌱 Getting Started (For Beginners)

If you’re ready to get hands-on with NB-IoT development, this section will guide you through practical implementation using common development boards and modules.

1138.3.1 What Will You Learn?

Practical skills: - Configure NB-IoT modules using AT commands - Connect to carrier networks (Vodafone, T-Mobile, AT&T, etc.) - Send/receive data to cloud platforms - Implement PSM and eDRX power modes - Debug connectivity issues

Analogy: Think of this chapter as moving from “reading about driving” (previous chapters) to “getting behind the wheel” – you’ll write real code and see data flowing to the cloud.

1138.3.2 Hardware You’ll Need

Option 1: Low-cost starter (< $30) - ESP32 DevKit ($8-12) - SIM7020E NB-IoT module ($15-20) - Breadboard + jumper wires - USB cable - NB-IoT SIM card (from carrier)

Option 2: All-in-one board ($40-60) - LilyGO T-SIM7000G (ESP32 + SIM7000G NB-IoT + GPS) - USB cable - NB-IoT SIM card

Recommended for beginners: LilyGO T-SIM7000G – everything integrated, no wiring needed.

1138.3.3 Getting an NB-IoT SIM Card

Carrier options (United States): - T-Mobile: IoT SIM cards (1 MB/month free tier available) - AT&T: IoT Data plans (starting $2/month) - Hologram.io: Global IoT SIM (pay-as-you-go, works in 200+ countries)

Carrier options (Europe): - Vodafone: IoT SIM cards (various plans) - Deutsche Telekom: NB-IoT connectivity - 1NCE: €10 for 10 years (500 MB total, popular for testing!)

Important: Make sure your SIM card supports NB-IoT specifically (not just LTE-M or regular LTE).

1138.3.4 Quick Start: Send Your First NB-IoT Message (30 minutes)

Step 1: Connect hardware

ESP32 → SIM7020E Module
TX (GPIO17) → RX
RX (GPIO16) → TX
3.3V → VCC
GND → GND

Step 2: Test AT commands (Arduino Serial Monitor)

AT              → OK (basic connectivity test)
AT+CPIN?        → +CPIN: READY (SIM card detected)
AT+CGATT=1      → OK (attach to network - may take 30-60 seconds)
AT+CGATT?       → +CGATT: 1 (attached successfully!)

Step 3: Send data to cloud (UDP example)

// Simple sketch to send "Hello NB-IoT!" every 60 seconds
#include <HardwareSerial.h>

HardwareSerial nb(1);  // Use UART1

void setup() {
  Serial.begin(115200);
  nb.begin(9600, SERIAL_8N1, 16, 17);  // RX=16, TX=17

  delay(3000);
  sendAT("AT");
  sendAT("AT+CGATT=1");  // Attach to network
  delay(30000);  // Wait for attachment
}

void loop() {
  // Send UDP packet to test server
  sendAT("AT+CSOC=1,2,1");  // Create UDP socket
  sendAT("AT+CSOSEND=0,12,\"Hello NB-IoT!\"");  // Send data

  Serial.println("Data sent!");
  delay(60000);  // Wait 60 seconds
}

void sendAT(String cmd) {
  nb.println(cmd);
  delay(1000);
  while (nb.available()) {
    Serial.write(nb.read());
  }
}

Expected result: After ~60 seconds (network attachment), you’ll see messages sent every minute. Battery life in this basic example: ~2-3 days (no PSM enabled yet).

1138.3.5 Common Beginner Mistakes

1. “AT commands not responding” - ✅ Check baud rate (usually 9600 or 115200) - ✅ Verify TX/RX not swapped - ✅ Ensure 3.3V power (NOT 5V - will damage module!) - ✅ Add delay after power-on (3-5 seconds for module boot)

2. “Can’t attach to network” (AT+CGATT? returns 0) - ✅ SIM card inserted correctly (chip facing down usually) - ✅ SIM activated with carrier (check online portal) - ✅ NB-IoT coverage exists in your area (check carrier coverage map) - ✅ Wait longer (first attach can take 2-3 minutes in poor coverage)

3. “Battery drains in hours, not years!” - ✅ You haven’t enabled PSM mode yet (radio stays on) - ✅ Solution: Configure AT+CPSMS=1 (see labs below)


1138.4 Videos

NoteCellular IoT Fundamentals
Cellular IoT Fundamentals
Layering concepts and networking behavior relevant to NB‑IoT/LTE‑M.
Diagram showing Cellular IoT optimization features including control plane optimization, user plane optimization, power saving modes, and extended coverage enhancements for NB-IoT
Figure 1138.1: Cellular IoT (CIoT) optimization features
Illustration of NB-IoT channel access mechanisms showing single-tone and multi-tone transmission modes, NPRACH random access procedure, and resource allocation strategies
Figure 1138.2: NB-IoT channel access mechanisms

Key drivers for NB-IoT: - Existing 2G/3G networks being sunset - Need for low-cost, low-power IoT connectivity - Leverage existing cellular infrastructure - Provide carrier-grade reliability - Support massive device deployments

1138.4.1 NB-IoT Characteristics

%% fig-alt: "NB-IoT key characteristics diagram showing technical specifications and applications including bandwidth, data rate, coverage, battery life, and target applications like smart metering and agriculture"
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#16A085', 'secondaryColor': '#E67E22', 'tertiaryColor': '#7F8C8D'}}}%%
graph TB
    subgraph "NB-IoT Key Characteristics"
        BW["Bandwidth: 180 kHz<br/>(Single PRB)"]
        RATE["Data Rate:<br/>~250 kbps peak"]
        COVERAGE["Coverage: 164 dB MCL<br/>(20 dB > GPRS)"]
        POWER["Battery Life:<br/>10-20 years"]
        COST["Device Cost:<br/>$2-5 (target)"]
    end

    subgraph "Technical Features"
        DEPLOY["3 Deployment Modes:<br/>• In-band LTE<br/>• Guard-band<br/>• Standalone"]
        PSM["Power Saving:<br/>• PSM (< 5 µA)<br/>• eDRX (15 µA)"]
        CE["Coverage Enhancement:<br/>Up to 2048 repetitions"]
    end

    subgraph "Target Applications"
        METER["Smart Metering<br/>(Water, Gas, Electric)"]
        CITY["Smart Cities<br/>(Lighting, Parking, Waste)"]
        TRACK["Asset Tracking<br/>(Logistics)"]
        AG["Agriculture<br/>(Soil, Weather)"]
        IND["Industrial IoT<br/>(Condition Monitoring)"]
        HEALTH["eHealth<br/>(Wearables)"]
    end

    BW --> DEPLOY
    COVERAGE --> CE
    POWER --> PSM

    PSM --> METER
    COVERAGE --> CITY
    COST --> TRACK
    POWER --> AG
    DEPLOY --> IND
    CE --> HEALTH

    style BW fill:#2C3E50,color:#fff
    style COVERAGE fill:#27AE60,color:#fff
    style POWER fill:#27AE60,color:#fff
    style COST fill:#16A085,color:#fff
    style PSM fill:#E67E22,color:#fff
    style CE fill:#E67E22,color:#fff

Figure 1138.3: NB-IoT key characteristics, features, and target applications

%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#16A085', 'secondaryColor': '#E67E22'}}}%%
graph LR
    subgraph Normal["CE Level 0 (Normal)"]
        N1["MCL: 144 dB"]
        N2["Repetitions: 1"]
        N3["Max throughput"]
    end

    subgraph Robust["CE Level 1 (Extended)"]
        R1["MCL: 154 dB"]
        R2["Repetitions: 2-8"]
        R3["Reduced rate"]
    end

    subgraph Extreme["CE Level 2 (Extreme)"]
        E1["MCL: 164 dB"]
        E2["Repetitions: 128-2048"]
        E3["Basement/rural"]
    end

    Normal -->|"Better coverage"| Robust
    Robust -->|"Maximum range"| Extreme

    style Normal fill:#16A085,stroke:#2C3E50
    style Robust fill:#E67E22,stroke:#2C3E50
    style Extreme fill:#2C3E50,stroke:#16A085

NB-IoT key characteristics diagram

Target applications: - Smart metering (electricity, water, gas) - Smart cities (lighting, parking, waste) - Asset tracking and logistics - Agricultural monitoring - Industrial IoT - eHealth devices

1138.5 Knowledge Check

Test your understanding of these networking concepts.

Question 4: NB-IoT provides Maximum Coupling Loss (MCL) of 164 dB, which is 20 dB better than GPRS. What does this improvement translate to in practical coverage?

💡 Explanation: The relationship between path loss improvement and coverage follows logarithmic and power laws:

Step 1: Convert dB improvement to range multiplier

Path loss follows: PL(dB) = PL₀ + 10n·log₁₀(d/d₀)

Where n is the path loss exponent (typically 2-4, use 3 for urban):

20 dB improvement means: - 20 = 10 × 3 × log₁₀(d₂/d₁) - log₁₀(d₂/d₁) = 20/30 = 0.667 - d₂/d₁ = 10^0.667 ≈ 3.16× range increase

Step 2: Calculate area coverage

Coverage area is proportional to range squared: - Area multiplier = (3.16)² ≈ 10× coverage area

Practical example:

GPRS (144 dB MCL): - Urban range: ~2 km - Coverage area: π × (2 km)² ≈ 12.6 km²

NB-IoT (164 dB MCL): - Urban range: 2 km × 3.16 ≈ 6.3 km - Coverage area: π × (6.3 km)² ≈ 125 km²

What enables 20 dB improvement?

  1. Repetitions (up to 2048×):
    • Transmit same message multiple times
    • Receiver combines weak signals coherently
    • Gain: 15-18 dB
  2. Narrowband design (180 kHz):
    • Concentrates power in narrow bandwidth
    • Reduces noise power
    • Gain: 3-4 dB
  3. Enhanced error correction:
    • Turbo coding with lower code rates
    • Better decoding algorithms
    • Gain: 2-3 dB

Real-world coverage scenarios:

Underground parking (B3 level): - GPRS: No coverage (-160 dB path loss exceeds 144 dB MCL) - NB-IoT: Weak but functional coverage (160 dB < 164 dB MCL) ✓

Rural farmhouse: - GPRS: 1-2 km from tower - NB-IoT: 5-10 km from tower

Smart metering in basements: - GPRS: Often requires external antenna - NB-IoT: Works with internal antenna through concrete floors

This 20 dB advantage is why NB-IoT can reach devices in previously impossible locations!

Question 5: A city deploys NB-IoT smart parking sensors (5,000 devices) and LoRaWAN environmental sensors (5,000 devices). Compare the 10-year total cost of ownership. Assume NB-IoT costs $3/device/year subscription and LoRaWAN requires 10 gateways at $1,000 each with $200/year maintenance per gateway.

💡 Explanation: Let’s calculate the complete Total Cost of Ownership (TCO) for both technologies:

NB-IoT (Licensed Cellular):

Recurring subscription costs: - 5,000 devices × $3/device/year × 10 years = $150,000

Infrastructure costs: - $0 (uses existing cellular towers)

Maintenance: - $0 (carrier maintains network)

Total NB-IoT: $150,000

LoRaWAN (Private Network):

Infrastructure costs (one-time): - 10 gateways × $1,000 = $10,000

Maintenance costs (recurring): - 10 gateways × $200/year × 10 years = $20,000

Subscription costs: - $0 (unlicensed spectrum, no fees)

Total LoRaWAN: $10,000 + $20,000 = $30,000

Winner: LoRaWAN saves $120,000 (80% cost reduction!)

Break-even analysis:

When does NB-IoT become economical?

LoRaWAN fixed cost: $10,000 + $2,000/year maintenance NB-IoT variable cost: $15,000/year (for 5,000 devices)

Break-even at very short deployment: - $10,000 ÷ ($15,000 - $2,000) = 0.77 years

LoRaWAN wins for: - Long deployments (5+ years) - Many devices (500+) - Fixed locations (no mobility)

NB-IoT wins for: - Short-term deployments (< 1 year) - Few devices (< 50) - Mobile devices - Can’t deploy infrastructure - Need guaranteed SLA

Hidden costs to consider:

NB-IoT advantages (included in subscription): - ✅ Carrier maintains network - ✅ Coverage nationwide from day 1 - ✅ Professional support - ✅ Security updates - ✅ No infrastructure headaches

LoRaWAN hidden costs: - ❌ Gateway installation labor: $500/gateway × 10 = $5,000 - ❌ Network server hosting: $500/year - ❌ Security certificate management - ❌ Firmware updates for gateways - ❌ Gateway internet connectivity: $20/month × 10 gateways × 12 months × 10 years = $24,000

Revised TCO with hidden costs: - NB-IoT: $150,000 (no change) - LoRaWAN: $10,000 + $20,000 + $5,000 + $5,000 + $24,000 = $64,000

Still cheaper, but margin narrows!

Decision framework: - 5,000+ devices, 10+ years: LoRaWAN saves significant money - < 100 devices, < 2 years: NB-IoT simpler and potentially cheaper - Need mobility: NB-IoT (LoRaWAN has poor handoff) - Need guaranteed delivery: NB-IoT (carrier SLA) - Complete data privacy: LoRaWAN (private network)

Question 7: NB-IoT supports up to 50,000+ devices per cell. How does this massive capacity compare to traditional LTE, and what enables it?

💡 Explanation: NB-IoT’s massive capacity comes from IoT-specific optimizations that recognize most devices are inactive most of the time:

Capacity comparison:

Traditional LTE: - Active devices per cell: ~300-600 (depending on bandwidth and traffic) - RRC connected mode devices: ~1,000 - Registered devices (idle): ~5,000 - Devices are “reachable” via paging even when idle

NB-IoT: - Active devices simultaneously: ~100-200 (limited by narrow bandwidth) - Registered devices in PSM/eDRX: 50,000-100,000 - Most devices are “unreachable” in deep sleep (PSM)

What enables massive capacity?

1. Power Saving Mode (PSM): - Devices enter deep sleep (unreachable) - Network doesn’t maintain tracking area - Eliminates periodic TAU (Tracking Area Update) signaling - Device only contacts network when it has data to send

2. Extended Discontinuous Reception (eDRX): - Devices sleep for extended periods (up to 43 minutes) - Wake periodically to check for paging - Reduces signaling load by 90%+ - Still “reachable” but with high latency

3. Relaxed mobility: - Many IoT devices are stationary - Reduced handover signaling - Simplified tracking area management

4. Infrequent transmission: - Typical IoT device sends 1-10 messages per day - Duty cycle: 0.001% (vs LTE devices: 10-50%) - Statistical multiplexing gain

Signaling load comparison:

Smartphone (typical LTE): - TAU every 54 minutes (periodic tracking) - Paging every few minutes (checking for incoming data) - Heartbeats for apps every 15 minutes - Signaling rate: ~10-20 messages per hour

NB-IoT sensor with PSM: - TAU every 10 days (extended timer) - No paging (unreachable in PSM) - Uplink data once per day - Signaling rate: ~0.1 messages per hour

Capacity calculation:

Assume cell can handle 10,000 signaling messages per hour:

LTE smartphones: - 10,000 messages/hour ÷ 15 messages/hour/device = ~600 devices

NB-IoT with PSM: - 10,000 messages/hour ÷ 0.1 messages/hour/device = 100,000 devices

Real-world constraints:

The 50,000-100,000 capacity assumes: - Most devices use PSM (unreachable) - Low simultaneous transmission probability - Adequate RACH (Random Access Channel) capacity - Extended timing advance tolerance

Active transmission bottleneck: - Only 100-200 devices can transmit simultaneously - With 50,000 devices, each gets ~5 seconds of airtime per hour - Sufficient for 1-10 short messages per day - NOT suitable for continuous monitoring

Comparison with other technologies:

Technology Devices/Cell Reachability Latency
LTE 300-600 Always reachable 50-100 ms
NB-IoT (eDRX) 10,000-20,000 Periodic paging 1-40 seconds
NB-IoT (PSM) 50,000-100,000 Uplink only N/A
LoRaWAN 10,000-50,000 Always reachable 1-2 seconds

NB-IoT’s massive capacity makes it ideal for smart metering, where millions of devices in a city send daily readings!

Question 8: An NB-IoT device is in Extended Coverage mode (CE Level 2) to reach a basement location. What impact does this have on data transmission?

💡 Explanation: NB-IoT uses Coverage Enhancement (CE) levels that adapt transmission parameters based on signal quality:

Coverage Enhancement Levels:

CE Level 0 (Normal Coverage): - Good signal quality (RSRP > -105 dBm) - No repetitions (1× transmission) - Data rate: ~160 kbps uplink, ~25 kbps downlink - Power consumption: Low - Use case: Outdoor, good coverage

CE Level 1 (Extended Coverage): - Moderate signal quality (RSRP -105 to -115 dBm) - Repetitions: 8-64× - Data rate: ~40 kbps uplink, ~10 kbps downlink - Power consumption: Medium - Use case: Indoor, basement level B1

CE Level 2 (Extreme Coverage): - Poor signal quality (RSRP < -115 dBm) - Repetitions: up to 2048× - Data rate: ~5-10 kbps - Power consumption: High - Use case: Deep basement (B3-B5), underground parking

How repetitions work:

The same message is transmitted multiple times: 1. Device sends message 2. Network doesn’t acknowledge 3. Device retransmits (same content) 4. Receiver combines all copies using maximal ratio combining 5. Weak signal + weak signal + … = strong enough signal!

Example: 100-byte message transmission

CE Level 0 (no repetitions): - Transmission time: 100 bytes × 8 bits/byte ÷ 160 kbps = 5 ms - Power: 50 mA × 0.005 sec = 0.25 mAs

CE Level 2 (2048 repetitions): - Transmission time: 5 ms × 2048 = 10.24 seconds - Power: 50 mA × 10.24 sec = 512 mAs - 2048× more power consumed!

Why this still enables 10-year battery life:

Even with extreme coverage: - Daily transmission: 512 mAs - Daily sleep (PSM): 86,400 sec × 0.005 mA = 432 mAs - Total per day: 512 + 432 = 944 mAs = 0.262 mAh - Battery life (2500 mAh): 2500 ÷ 0.262 = 9,542 days ≈ 26 years

The trade-off:

Advantages of CE Level 2: - Reaches impossible locations (164 dB MCL) - Underground parking, basement utilities - No external antenna needed - Same infrastructure as normal coverage

Disadvantages: - High latency (10 seconds vs 5 ms = 2000× slower) - 2048× more power per message - Limited data rate (~5-10 kbps) - More spectrum usage (blocks channel longer)

Adaptive Coverage Enhancement:

Modern NB-IoT devices automatically select CE level: 1. Device measures RSRP (Reference Signal Received Power) 2. Selects appropriate CE level 3. Network confirms via system information 4. Device adjusts repetitions dynamically

Real-world scenario:

Smart water meter in basement: - Location: Basement level B2, RSRP = -118 dBm - CE Level: 2 (extreme coverage) - Transmission: Once per day, 100 bytes - Time per transmission: ~10 seconds - Still achieves 20+ year battery life!

Same meter outdoors: - Location: Mounted on wall, RSRP = -95 dBm - CE Level: 0 (normal coverage) - Transmission: Once per day, 100 bytes - Time per transmission: 5 ms - Achieves 50+ year battery life!

This adaptive coverage is why NB-IoT works everywhere from rooftops to deep basements without manual configuration!

Question 6: What is the role of the Service Capability Exposure Function (SCEF) in the Cellular IoT architecture?

💡 Explanation: SCEF (Service Capability Exposure Function) is a key component introduced in 3GPP Release 13 specifically for IoT optimizations:

SCEF’s primary role:

Exposes cellular network capabilities to external applications via APIs, enabling:

  1. Device Triggering:
    • Application server can wake device from PSM
    • Send small data without full IP session
    • Example: Trigger firmware update download
  2. Monitoring Events:
    • Loss of connectivity
    • Location changes
    • Roaming status
    • Example: Alert if asset tracker leaves geofence
  3. Group Management:
    • Manage thousands of devices as groups
    • Broadcast configuration changes
    • Example: Update all water meters in a zone
  4. Small Data Transmission:
    • Send/receive data via control plane (not user plane)
    • Bypasses S-GW and P-GW for efficiency
    • Example: Send 100-byte sensor reading

Architecture comparison:

Traditional LTE (without SCEF):

Device → eNodeB → MME → S-GW → P-GW → Internet → App Server

Every data transmission traverses entire user plane (inefficient for small IoT messages)

CIoT with SCEF:

Device → eNodeB → MME → SCEF → App Server (control plane data)
Device → eNodeB → MME → S-GW → P-GW → App Server (user plane for larger data)

Why other options are wrong:

A (routes user data): That’s the S-GW (Serving Gateway) and P-GW (Packet Gateway) role, not SCEF

C (authentication): That’s the HSS (Home Subscriber Server) and MME role

D (base station): That’s the eNodeB (evolved Node B), not SCEF

SCEF benefits for IoT:

Power savings: - Control plane data avoids user plane connection setup (~2-3 seconds saved) - Device can send data and return to PSM faster - Reduces battery consumption by 30-50%

Signaling efficiency: - No IP address allocation needed for small messages - Fewer network elements involved - Reduces core network load

Real-world example:

Smart water meter without SCEF: 1. Wake from PSM (500 ms) 2. RRC connection setup (1 sec) 3. Attach to network (2 sec) 4. Get IP address (1 sec) 5. Send 100-byte reading (100 ms) 6. Wait for response (500 ms) 7. Disconnect (500 ms) Total: ~5.6 seconds, ~50 mA = 280 mAs

Smart water meter with SCEF: 1. Wake from PSM (500 ms) 2. Send reading via control plane (200 ms) 3. Return to PSM (100 ms) Total: ~0.8 seconds, ~50 mA = 40 mAs

Power savings: 85% reduction!

SCEF is the “secret sauce” that makes NB-IoT power-efficient for small, infrequent messages!

1138.6 Hands-On Exercise: NB-IoT Power Budget Analysis

⏱️ ~25 min | ⭐⭐⭐ Advanced | 📋 P09.C15.U01

1138.6.1 Exercise Objective

Calculate the battery life for an NB-IoT smart meter application.

1138.6.2 Scenario

Smart electricity meter with the following requirements: - Reporting frequency: 4 readings per day (every 6 hours) - Payload size: 100 bytes (meter reading, power quality, diagnostics) - Power configuration: PSM enabled, T3412 = 6 hours - Battery: 3.6V, 5000 mAh (18 Wh) - Coverage: Normal (no extended repetitions needed)

1138.6.3 Task 1: Current Consumption Profile

Typical NB-IoT module current consumption:

State Current Duration per Cycle
PSM (deep sleep) 5 µA 6 hours - (active time)
Wake-up 50 mA 3 seconds
Network attach 200 mA 5 seconds
Data transmission 220 mA 10 seconds (100 bytes)
RRC Idle (after TX) 15 mA 20 seconds (T3324)

1138.6.4 Task 2: Energy Calculation per Day

Energy per transmission cycle:

Wake-up: \[E_{wake} = 0.050 \text{ A} \times 3 \text{ s} \times 3.6 \text{ V} = 0.54 \text{ Ws}\]

Network attach: \[E_{attach} = 0.200 \times 5 \times 3.6 = 3.6 \text{ Ws}\]

Transmission: \[E_{tx} = 0.220 \times 10 \times 3.6 = 7.92 \text{ Ws}\]

RRC Idle: \[E_{idle} = 0.015 \times 20 \times 3.6 = 1.08 \text{ Ws}\]

Active time per cycle: 3 + 5 + 10 + 20 = 38 seconds PSM time per cycle: 6 hours - 38s = 21,562 seconds

PSM energy: \[E_{psm} = 0.000005 \times 21,562 \times 3.6 = 0.388 \text{ Ws}\]

Total energy per cycle: \[E_{cycle} = 0.54 + 3.6 + 7.92 + 1.08 + 0.388 = 13.528 \text{ Ws}\]

Daily energy (4 cycles): \[E_{day} = 13.528 \times 4 = 54.112 \text{ Ws} = 0.015 \text{ Wh/day}\]

1138.6.5 Task 3: Battery Life Calculation

\[\text{Battery life} = \frac{18 \text{ Wh}}{0.015 \text{ Wh/day}} = 1,200 \text{ days} \approx 3.3 \text{ years}\]

With battery aging and self-discharge (assume 80% efficiency): \[\text{Practical battery life} = 1,200 \times 0.8 = 960 \text{ days} \approx 2.6 \text{ years}\]

1138.6.6 Task 4: Optimization for 10-Year Life

To achieve 10-year battery life (3,650 days), we need:

\[E_{day\_required} = \frac{18 \text{ Wh} \times 0.8}{3,650 \text{ days}} = 0.00395 \text{ Wh/day}\]

Options:

  1. Reduce reporting frequency to 1/day:
    • \(E_{day} = 13.528 \text{ Ws} = 0.00376 \text{ Wh/day}\) ✓ Achieves 10 years!
  2. Increase battery size to 19 Ah (3.6V × 19 Ah = 68.4 Wh):
    • With 4 readings/day: \(\frac{68.4 \times 0.8}{0.015} = 3,648 \text{ days} \approx 10 \text{ years}\)
  3. Use external power (e.g., current transformer on power line):
    • Harvest energy from measured circuit
    • No battery limitations

Recommendation: For 10-year battery life, either reduce reporting to once daily OR use larger battery (19 Ah D-cell).

Question 3: NB-IoT devices can achieve 10+ year battery life using Power Saving Mode (PSM). A smart water meter transmits 100 bytes once per day and sleeps in PSM between transmissions. If transmission takes 2 seconds at 50 mA and PSM consumes 5 µA, what is the average current consumption?

💡 Explanation: Average current is calculated by weighing active and sleep periods:

Given data: - Transmission: 2 seconds per day at 50 mA - Sleep (PSM): 86,398 seconds per day at 5 µA (24 hours - 2 seconds)

Calculation: Daily charge consumed: - Active: 2 sec × 50 mA = 100 mAs = 0.0278 mAh - Sleep: 86,398 sec × 0.005 mA = 431.99 mAs = 0.120 mAh - Total per day: 0.0278 + 0.120 = 0.148 mAh

Average current over 24 hours: - I_avg = 0.148 mAh ÷ 24 hours = 6.2 µA

Battery life calculation: With 2× AA batteries (2,500 mAh capacity): - Battery life = 2,500 mAh ÷ 0.148 mAh/day = 16,891 days ≈ 46 years!

Wait, why claim only “10+ years”?

Real-world limitations: 1. Battery self-discharge: AA batteries lose 2-3% per year (600-750 mAh over 10 years) 2. Temperature effects: Cold environments reduce usable capacity by 20-50% 3. Occasional failed transmissions: Retries consume extra power 4. Registration overhead: Periodic TAU (Tracking Area Update) every few days 5. Network searches: If coverage is marginal, more power spent finding cell

Conservative estimate with overhead: - Self-discharge: 75 mAh/year - TAU once per week: 0.1 mAh/week × 52 = 5.2 mAh/year - Failed transmissions (10%): 54 mAh/year × 0.1 = 5.4 mAh/year - Total per year: 54 + 75 + 5.2 + 5.4 = 139.6 mAh/year - Battery life: 2,500 mAh ÷ 139.6 mAh/year ≈ 18 years

Even with conservative assumptions, easily exceeds 10 years!

PSM power states: - Active Tx/Rx: 50-200 mA (seconds) - RRC Idle with eDRX: 0.1-1 mA (minutes to hours, can receive pages) - PSM deep sleep: 3-15 µA (hours to days, unreachable except for uplink)

PSM is the key enabler for multi-year battery life!

1138.7 Python Implementations

1138.7.1 Implementation 1: NB-IoT Power Budget Calculator

This implementation calculates battery life for NB-IoT devices based on power consumption profiles, transmission patterns, and power-saving modes (PSM and eDRX).

1138.7.3 Implementation 3: NB-IoT Deployment Mode Comparator

This implementation compares the three NB-IoT deployment modes (standalone, guard-band, in-band) and helps operators choose the optimal mode based on their infrastructure and requirements.

1138.10 Summary

  • AT command configuration provides low-level control of NB-IoT modules (SIM7020, BC66, SIM7000) for network attachment, power mode configuration, and data transmission
  • Network attachment process involves SIM card detection (AT+CPIN), network registration (AT+COPS), and GPRS attach (AT+CGATT) with typical connection times of 30-90 seconds
  • PSM and eDRX configuration uses T3412 and T3324 timers to balance battery life and reachability, with proper settings enabling 10-15 year device lifetime on 5-10 Ah batteries
  • UDP and CoAP protocols are preferred for NB-IoT due to low overhead compared to TCP, with CoAP providing RESTful semantics optimized for constrained devices
  • Signal diagnostics (AT+CSQ, AT+COPS, AT+CEREG) are essential for troubleshooting connectivity issues, with RSSI > -100 dBm generally required for reliable operation
  • Coverage enhancement modes (CE0, CE1, CE2) automatically adapt based on signal conditions, trading latency for deep coverage penetration in challenging RF environments
  • Real-world deployment requires consideration of carrier selection, SIM provisioning, power budget analysis, coverage mapping, and field testing before large-scale rollout

1138.11 What’s Next

Apply your NB-IoT implementation skills to broader topics: