3  NB-IoT Fundamentals

Complete Guide to Narrowband IoT Technology

In 60 Seconds

NB-IoT (Narrowband IoT) is a licensed-spectrum LPWAN technology that operates within existing LTE infrastructure using just 180 kHz of bandwidth, delivering carrier-grade reliability with deep indoor coverage (+20 dB beyond GSM) and 10+ year battery life through PSM and eDRX power-saving modes. Choose NB-IoT for stationary, low-throughput applications like smart metering and environmental monitoring where you need cellular-grade security and SLAs but not high data rates or device mobility.

3.1 Learning Objectives

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

  • Contrast NB-IoT with other LPWAN technologies: Differentiate how NB-IoT diverges from traditional cellular and other LPWAN technologies in terms of bandwidth, power consumption, and coverage depth
  • Classify deployment modes: Distinguish between standalone, guard-band, and in-band NB-IoT deployments and justify which mode best fits a given spectrum scenario
  • Evaluate NB-IoT suitability: Determine when NB-IoT is the right choice versus LTE-M, LoRaWAN, or Sigfox for a given IoT application by analyzing mobility, throughput, and coverage requirements
  • Map NB-IoT architecture components: Diagram the relationships between eNodeB, MME, SCEF, and the Control Plane / User Plane optimization paths within the CIoT architecture
  • Calculate power budgets using PSM and eDRX: Compute battery life projections by configuring T3324 and T3412 timer parameters for specific deployment scenarios
Minimum Viable Understanding
  • NB-IoT is a licensed-spectrum LPWAN: It operates within existing LTE infrastructure using just 180 kHz of bandwidth (one LTE resource block), delivering carrier-grade reliability with SLAs, deep indoor coverage (+20 dB over GSM), and 10+ year battery life through PSM and eDRX power-saving modes.
  • Three deployment modes maximize spectrum reuse: Standalone (dedicated carrier, e.g., re-farmed GSM), guard-band (unused LTE guard bands), and in-band (within an active LTE carrier) – each trading off coverage, capacity, and interference differently.
  • Choose NB-IoT for stationary, low-throughput, carrier-managed deployments: It excels at smart metering, asset tracking, and environmental monitoring where devices send small payloads (< 1,600 bytes) infrequently, but is not suited for mobility, real-time streaming, or scenarios requiring private network control.

Lila the Light Sensor was frustrated. She had been placed in a basement parking garage to monitor lighting levels, but her Wi-Fi signal could not reach the router upstairs. “I can measure the light just fine,” she sighed, “but I cannot send my readings to anyone!”

Max the Motion Sensor had the same problem in the underground water tunnel. “I can detect when water is flowing, but my LoRa signal bounces off all this concrete!”

Then Bella the Barometric Sensor introduced them to Narrow-Band Norma, a special NB-IoT radio module. “I use the same cell towers as your phone,” Norma explained, “but I speak in a very narrow whisper – just 180 kHz wide. That is like whispering through a keyhole instead of shouting across a field.”

“But how does whispering help?” asked Lila.

“Because I focus ALL my energy into that tiny whisper, it can travel through walls, floors, and even underground! I have 20 decibels more penetration than regular cellular – that is like having a voice 100 times more powerful at getting through obstacles.”

“And the best part,” Norma added, “I sleep most of the time. I wake up, send my tiny message, and go right back to sleep. That is how I can run on a single battery for over 10 years!”

What the Squad learned: NB-IoT is like a postal service that uses existing mail routes (cell towers) but specializes in delivering tiny postcards (small data) to hard-to-reach places (basements, underground) while using barely any energy (long battery life). It is not fast, but it is incredibly reliable and can reach places other technologies cannot.

NB-IoT in plain language: Imagine your city’s water meters are buried in basements or underground vaults. Someone needs to read them, but sending a person to each meter every month is expensive. What if the meter could “phone home” by itself?

That is exactly what NB-IoT does. It is a cellular technology (it uses the same cell towers as your phone) but redesigned from the ground up for IoT sensors:

  • Narrow bandwidth: Instead of using wide frequency bands like your smartphone, NB-IoT uses a very narrow 180 kHz slice. Think of it like a highway: your phone uses all 8 lanes, while an NB-IoT sensor only needs a bicycle path. This makes it simple and cheap.
  • Deep coverage: By concentrating energy into that narrow band, signals can penetrate deep into buildings – reaching basements, parking garages, and underground utility vaults where Wi-Fi and even regular cellular signals fail.
  • Ultra-low power: NB-IoT devices spend 99.9% of their time in deep sleep. They wake up briefly to send a small data packet, then go back to sleep. This lets them run on a single AA-size battery for 10+ years.
  • Licensed spectrum: Unlike LoRaWAN or Sigfox which use unlicensed bands, NB-IoT uses licensed cellular spectrum. This means guaranteed quality of service and no interference from other devices.

The trade-off: NB-IoT is slow (peak ~250 kbps downlink) and cannot handle large data transfers or real-time streaming. It is designed for sensors that send small updates (temperature readings, meter values, location pings) a few times per day.

3.2 Overview

Narrowband IoT (NB-IoT) is a 3GPP-standardized cellular technology designed specifically for the Internet of Things. Unlike traditional cellular networks built for smartphones, NB-IoT is optimized for low-power devices that send small amounts of data infrequently while achieving 10+ year battery life and deep indoor coverage.

This comprehensive guide is organized into focused chapters covering everything from beginner concepts to hands-on implementation.

Architecture overview diagram of NB-IoT showing how IoT devices connect through NB-IoT radio using 180 kHz bandwidth to existing LTE cell towers (eNodeB), then through the core network components (MME for control plane, SGW/PGW for user plane) to reach the IoT application server. The diagram highlights the three deployment modes: standalone, guard-band, and in-band, and shows the two data optimization paths: Control Plane CIoT EPS Optimization and User Plane CIoT EPS Optimization.

3.3 NB-IoT vs Other LPWAN Technologies

Understanding where NB-IoT fits within the broader LPWAN landscape helps clarify when to choose it over alternatives.

Comparison diagram of four LPWAN technologies: NB-IoT, LTE-M, LoRaWAN, and Sigfox. NB-IoT uses licensed spectrum at 180 kHz with 250 kbps downlink peak, 164 dB MCL, 10+ year battery, and costs $5-10 per module. LTE-M uses licensed spectrum at 1.4 MHz with 1 Mbps peak, 156 dB MCL, 10+ year battery, and costs $8-15 per module. LoRaWAN uses unlicensed spectrum at 125-500 kHz with 50 kbps peak, 157 dB MCL, 10+ year battery, and costs $3-8 per module. Sigfox uses unlicensed spectrum at 100 Hz ultra-narrowband with 100 bps peak, 160 dB MCL, 10+ year battery, and costs $2-5 per module.

3.4 NB-IoT Deployment Modes

NB-IoT can be deployed in three distinct modes within existing LTE spectrum, each with unique advantages:

Diagram showing the three NB-IoT deployment modes. Standalone mode uses a dedicated 200 kHz carrier, typically re-farmed from GSM spectrum, providing best coverage and no LTE interference. Guard-band mode places the 180 kHz NB-IoT carrier within the unused guard bands on either side of an LTE carrier, providing good coverage with no impact on LTE capacity. In-band mode allocates one physical resource block (PRB) within an active LTE carrier, maximizing spectrum efficiency but requiring careful power management to avoid impacting LTE users.

3.5 NB-IoT Power-Saving Mechanisms

One of NB-IoT’s most important features is its ability to achieve 10+ year battery life through two complementary power-saving mechanisms:

State diagram showing NB-IoT power-saving modes. The device cycles through four states: Connected (transmitting data, high power ~200mA), Idle (monitoring paging, moderate power ~10mA), eDRX Sleep (extended sleep with periodic paging windows, low power ~1mA), and PSM Deep Sleep (deepest sleep, no network monitoring, ultra-low power ~3 microamps). Transitions show: after data transfer the device enters Idle, after T3324 inactivity timer expires it enters PSM, and after TAU timer expires it briefly wakes to re-register. eDRX allows configurable paging cycles from 5.12s to 2621.44s.

3.6 Chapter Guide

3.6.1 Getting Started

Chapter Description Difficulty
NB-IoT Introduction Beginner-friendly overview, key concepts, real-world examples, and FAQ Beginner
NB-IoT Technical Specifications Core specifications, deployment modes (standalone, guard-band, in-band), data rates Intermediate

3.6.2 Architecture and Design

Chapter Description Difficulty
NB-IoT Architecture CIoT network components (eNodeB, MME, SCEF), Control Plane vs User Plane optimization Intermediate
NB-IoT Power Optimization PSM and eDRX deep dive, timer configuration, battery life engineering Intermediate

3.6.3 Applications and Practice

Chapter Description Difficulty
NB-IoT Applications Smart metering, asset tracking, smart city use cases with worked examples Intermediate
NB-IoT Practical Guide Common mistakes, deployment pitfalls, real-world scenarios Intermediate
NB-IoT Lab Simulation Hands-on ESP32 Wokwi simulation with PSM state machine Advanced

3.6.4 Assessment and Review

Chapter Description Difficulty
NB-IoT Comprehensive Review Quiz bank with 50+ questions covering all NB-IoT topics All Levels

3.7 Learning Paths

Quick Start (1-2 hours): Introduction –> Technical Specifications –> Applications

Complete Understanding (4-6 hours): Introduction –> Technical Specifications –> Architecture –> Power Optimization –> Applications –> Practical Guide

Hands-On Implementation (6-8 hours): Complete path above + Lab Simulation + Comprehensive Review

3.8 Worked Example: Smart Water Metering Deployment

Scenario: Urban Water Utility – 50,000 Meters

A municipal water utility wants to replace manual meter reading with automated NB-IoT-based smart meters deployed across a mid-sized city. Meters are located in basements, underground vaults, and behind walls.

Step 1: Requirements Analysis

Requirement Value Rationale
Number of devices 50,000 meters City-wide deployment
Reporting frequency Every 6 hours (4x daily) Hourly resolution unnecessary for billing
Payload size 64 bytes per report Meter reading + timestamp + status flags
Battery life target 10 years Avoids costly truck rolls for battery replacement
Coverage Deep indoor + underground Meters in basements and utility vaults
Reliability 99.9% delivery Billing-grade data accuracy required

Step 2: Technology Selection – Why NB-IoT?

  • Deep indoor coverage: +20 dB link budget over GSM handles basements and vaults (164 dB MCL)
  • Licensed spectrum: Carrier SLAs guarantee 99.9% reliability – critical for billing data
  • Existing infrastructure: No gateway deployment needed; uses existing LTE cell towers
  • LoRaWAN rejected: Unlicensed spectrum does not provide the billing-grade SLAs required; would need gateway infrastructure deployment across the city
  • LTE-M rejected: Higher power consumption and cost per module; mobility support is unnecessary for stationary meters

Step 3: Power Budget Calculation

Battery capacity: 6,000 mAh (D-cell lithium thionyl chloride)

Per transmission cycle (every 6 hours):
  - Wake from PSM:        50 ms  x 10 mA   = 0.50 mAs
  - Attach + sync:       500 ms  x 50 mA   = 25.0 mAs
  - Transmit 64 bytes:   200 ms  x 220 mA  = 44.0 mAs
  - Wait for ACK:        500 ms  x 50 mA   = 25.0 mAs
  - Return to PSM:       100 ms  x 10 mA   =  1.0 mAs
  -----------------------------------------
  Total per cycle:                           = 95.5 mAs

Daily consumption:
  4 cycles/day x 95.5 mAs = 382 mAs/day = 0.106 mAh/day

PSM sleep current (remaining ~23.99 hours):
  3 uA x 23.99 h = 0.072 mAh/day

Total daily: 0.106 + 0.072 = 0.178 mAh/day

Battery life: 6,000 mAh / 0.178 mAh/day = 33,708 days = ~92 years (theoretical)

With 50% battery derating (temperature, aging, self-discharge):
  Practical battery life: ~15 years (exceeds 10-year target)

Step 4: Deployment Mode Selection

The utility’s carrier partner has retired GSM in this region, freeing 200 kHz of spectrum:

  • Selected: Standalone mode – Best coverage for underground meters, no interference from LTE
  • Guard-band rejected: Coverage slightly lower than standalone
  • In-band rejected: Power management complexity unnecessary when standalone spectrum is available

Step 5: Expected Costs

Cost Item Per Device Total (50,000)
NB-IoT module $7 $350,000
SIM / connectivity (annual) $1/year $50,000/year
Battery (10-year D-cell) $5 $250,000
Installation labor $20 $1,000,000
Year 1 Total $33 $1,650,000
Annual recurring $1 $50,000/year

Compared to manual reading at $5/meter/month = $3M/year, the system pays for itself in under 7 months.

The battery life calculation demonstrates PSM’s power-saving effectiveness:

Daily energy consumption: \[ E_{\text{daily}} = 4 \times (95.5 \text{ mAs per cycle}) + (3 \text{ µA} \times 86{,}400 \text{ s}) = 382 + 259 = 641 \text{ mAs} = 0.178 \text{ mAh} \]

Battery life projection: \[ \text{Life} = \frac{6{,}000 \text{ mAh}}{0.178 \text{ mAh/day}} = 33{,}708 \text{ days} \approx 92 \text{ years (theoretical)} \]

With 50% derating for temperature and aging: \[ \text{Life}_{\text{practical}} = 92 \times 0.5 = 46 \text{ years} \]

But retransmissions in basements add overhead. With 1.5× average retransmissions: \[ E_{\text{TX, adjusted}} = 44 \text{ mAs} \times 1.5 = 66 \text{ mAs per cycle} \] \[ E_{\text{daily, adjusted}} = 0.178 + (4 \times 0.022) = 0.266 \text{ mAh/day} \] \[ \text{Life}_{\text{realistic}} = \frac{3{,}000 \text{ mAh (50\% derated)}}{0.266} = 11{,}278 \text{ days} \approx 15 \text{ years} \]

This exceeds the 10-year requirement with comfortable margin.

Common Pitfalls

Mistakes engineers frequently make when working with NB-IoT:

  1. Assuming NB-IoT supports mobility: NB-IoT does not support handover between cells. If your device moves (e.g., vehicle tracking), use LTE-M instead. NB-IoT devices that move between cells will experience connection drops and re-attach delays of 5-10 seconds.

  2. Ignoring deployment mode impact on coverage: In-band deployment can lose 3-6 dB of coverage compared to standalone because NB-IoT must share power with LTE. For deep-indoor deployments, this difference can mean the difference between reaching a basement meter or not.

  3. Oversizing payloads: NB-IoT transport block size maxes out at ~1,600 bytes. Engineers accustomed to TCP/HTTP often try to send JSON payloads or verbose protocols. Use compact binary encoding (CBOR, protobuf) to keep payloads under 512 bytes for optimal battery life.

  4. Forgetting PSM timer configuration: Devices that do not explicitly request PSM from the network will remain in Idle state, consuming ~10 mA instead of ~3 uA. This 3,000x difference turns a 10-year battery into a 10-day battery. Always configure T3324 (Active Timer) and T3412 (TAU Timer) during network attach.

  5. Expecting real-time downlink: When a device is in PSM, the network cannot reach it until it wakes up. If your application needs to send commands to devices within minutes, configure eDRX with shorter cycles (5-10 seconds) instead of relying solely on PSM. This trade-off costs battery life but enables near-real-time reachability.

  6. Choosing NB-IoT for firmware OTA updates: With peak throughput of ~250 kbps (downlink) and typical throughput closer to 30-60 kbps, a 100 KB firmware update takes 15-30 seconds of active radio time. For frequent or large OTA updates, LTE-M’s 1 Mbps throughput is significantly more battery-efficient.

3.9 AT Command Sequences for NB-IoT

Most NB-IoT modules (Quectel BC95/BC66, u-blox SARA-N, Sierra HL7800) are controlled via AT commands over UART. Here are the essential sequences:

3.9.1 Module Initialization and Network Attach

# 1. Check module is alive
AT
OK

# 2. Query module identity
AT+CGMI          # Manufacturer: "Quectel"
AT+CGMM          # Model: "BC95-G"
AT+CGSN=1        # IMEI: +CGSN:862107040xxxxxx

# 3. Check SIM status
AT+CPIN?
+CPIN: READY     # SIM detected and unlocked

# 4. Set APN (varies by carrier)
AT+CGDCONT=1,"IP","iot.1nce.net"    # 1NCE IoT SIM
AT+CGDCONT=1,"IP","iot.t-mobile.nl"  # T-Mobile IoT

# 5. Select NB-IoT band (example: Band 8 for 900 MHz)
AT+NBAND=8
# Common bands: 8 (900MHz EU), 20 (800MHz EU), 28 (700MHz APAC)

# 6. Enable network registration notifications
AT+CEREG=2       # Enable with location info

# 7. Trigger network attach
AT+COPS=1,2,"26201"  # Manual: MCC=262 (Germany), MNC=01 (Telekom)
# OR
AT+COPS=0             # Automatic: module scans for NB-IoT network

# 8. Wait for registration (can take 10-60 seconds)
+CEREG: 1,"0001","01A2D001",9  # Registered, home network, NB-IoT
# Status codes: 0=not registered, 1=home, 2=searching, 5=roaming

# 9. Verify signal quality
AT+CSQ
+CSQ: 20,99      # RSSI=20 (-73 dBm), BER=99 (unknown)
# RSSI to dBm: dBm = -113 + (2 x CSQ) -> CSQ 20 = -73 dBm (good)

# 10. Check IP address assigned
AT+CGPADDR=1
+CGPADDR: 1,"10.0.0.42"

3.9.2 Configure PSM (Power Saving Mode)

# CRITICAL: Without PSM, battery dies in days instead of years

# Request PSM with specific timers
AT+CPSMS=1,,,"01000011","00000101"
#           ^    ^           ^
#           |    |           Active Timer (T3324)
#           |    TAU Timer (T3412)
#           Enable PSM

# T3412 (TAU Timer) = "01000011" = Binary decoding:
#   Bits 5-7: timer unit (010 = 1 minute)
#   Bits 0-4: value (00011 = 3)
#   Result: 3 x 1 minute = 3 minutes between TAU updates

# T3324 (Active Timer) = "00000101" = Binary decoding:
#   Bits 5-7: timer unit (000 = 2 seconds)
#   Bits 0-4: value (00101 = 5)
#   Result: 5 x 2 seconds = 10 seconds active after TX

# Verify PSM is active
AT+CPSMS?
+CPSMS: 1,,,"01000011","00000101"

# Power consumption timeline after sending data:
#   0-10 sec:  Active (reachable by network) = ~10 mA
#   10 sec+:   PSM deep sleep = ~3 uA
#   3 min:     Brief wake for TAU update = ~50 mA for 500ms
#   3 min+:    Back to PSM = ~3 uA

3.9.3 Send Data via UDP

# Open UDP socket to IoT platform
AT+NSOCR="DGRAM",17,0,1   # Create UDP socket, returns socket ID
0                          # Socket ID = 0

# Send 64-byte payload to server at 185.23.100.1:5683
# Data must be hex-encoded (each byte = 2 hex chars)
AT+NSOST=0,"185.23.100.1",5683,12,"48656C6C6F576F726C6421"
#         ^  ^              ^    ^   ^
#         |  Server IP      Port Len  "HelloWorld!" in hex
#         Socket ID

0,12    # OK: socket 0, sent 12 bytes

# Receive response (if server replies within Active Timer window)
+NSONMI: 0,24    # Notification: 24 bytes available on socket 0
AT+NSORF=0,24    # Read from socket 0, up to 24 bytes
0,"185.23.100.1",5683,24,"526573706F6E7365..."  # Response data

3.9.4 ESP32 MicroPython Example

# ESP32 with Quectel BC95 NB-IoT module connected via UART
from machine import UART, Pin
import time

# UART2: TX=GPIO17, RX=GPIO16 (connect to BC95 RX/TX)
uart = UART(2, baudrate=9600, tx=17, rx=16)

def send_at(cmd, timeout=5):
    """Send AT command and wait for response."""
    uart.write(f'{cmd}\r\n')
    time.sleep(0.1)
    end = time.time() + timeout
    response = b''
    while time.time() < end:
        if uart.any():
            response += uart.read()
        time.sleep(0.05)
    return response.decode()

# Initialize NB-IoT module
print(send_at('AT'))                               # Check alive
print(send_at('AT+CGDCONT=1,"IP","iot.1nce.net"')) # Set APN
print(send_at('AT+COPS=0', timeout=60))            # Auto-attach
print(send_at('AT+CPSMS=1,,,"01000011","00000101"'))  # Enable PSM

# Send sensor reading
temp = 23.5
payload = f'{{"temp":{temp},"ts":{int(time.time())}}}'
hex_payload = payload.encode().hex()
cmd = f'AT+NSOST=0,"185.23.100.1",5683,{len(payload)},"{hex_payload}"'
print(send_at(cmd))

# What to observe:
# - First attach takes 10-60 seconds (scanning for network)
# - Subsequent wakes from PSM re-attach in 1-3 seconds
# - If +CEREG shows 0 (not registered): check antenna, SIM, APN
# - If send fails: verify socket is open, server is reachable

3.10 Knowledge Check

Test your understanding of NB-IoT fundamentals:

3.11 Key Takeaways

3.12 Summary

NB-IoT uses licensed cellular spectrum to deliver reliable, deep-indoor coverage with carrier-grade SLAs and 10+ year battery life for IoT applications.

Core technical characteristics:

  • Bandwidth: 180 kHz (one LTE PRB) – enables simple, low-cost module design
  • Coverage: 164 dB Maximum Coupling Loss – 20 dB better than GSM, reaches underground
  • Power: PSM (3 uA) and eDRX enable 10+ year battery life with proper configuration
  • Data rates: ~226 kbps DL / ~250 kbps UL peak (multi-tone, Release 14); practical throughput 30-60 kbps
  • Latency: 1.5-10 seconds (not suitable for real-time applications)
  • Deployment: Three modes (standalone, guard-band, in-band) within existing LTE infrastructure

When to choose NB-IoT:

  • Need carrier-grade reliability with SLAs
  • Deep indoor penetration required (basements, underground)
  • Existing cellular infrastructure available
  • Stationary or slow-moving devices
  • Small, infrequent data transmissions (< 1 MB/month)

When to consider alternatives:

  • LTE-M: Mobile applications (vehicles), voice capability needed, larger OTA updates
  • LoRaWAN: Private network control, no carrier dependency, lower per-device cost
  • Sigfox: Ultra-low cost, minimal infrastructure investment, very small payloads (12 bytes)

Key decision factors summarized:

Factor NB-IoT LTE-M LoRaWAN Sigfox
Spectrum Licensed Licensed Unlicensed Unlicensed
Mobility No handover Full handover Limited No
Coverage (MCL) 164 dB 156 dB 157 dB 160 dB
Peak DL Rate 250 kbps 1 Mbps 50 kbps 600 bps
Voice No Yes (VoLTE) No No
Network control Carrier-managed Carrier-managed Private/public Operator-managed

3.13 Concept Relationships

This fundamentals chapter provides the foundation for understanding NB-IoT as a system:

  • Narrowband design (180 kHz bandwidth) enables simple, low-cost modules while concentrating power for deep coverage - this architectural choice ripples through every other design decision
  • Licensed spectrum operation provides interference protection and carrier-grade reliability, but creates dependence on carrier deployment unlike unlicensed LPWAN alternatives
  • Deployment modes (standalone, guard-band, in-band) allow flexible spectrum reuse, with each mode trading off coverage depth, capacity, and interference differently
  • Power-saving mechanisms (PSM, eDRX) achieve 10+ year battery life by recognizing that IoT devices are idle 99.9% of the time - a fundamentally different usage pattern than smartphones
  • Technology selection (NB-IoT vs LTE-M vs LoRaWAN) depends on understanding the interaction between mobility requirements, data throughput, coverage needs, and network ownership preferences

The key insight is that NB-IoT sacrifices speed and mobility to optimize for three specific use cases: stationary sensors, infrequent small messages, and deep indoor penetration.

3.14 See Also

Next Steps in Learning:

Technology Comparisons:

Application Context:

3.15 What’s Next

Next Topic Description
NB-IoT Introduction Beginner-friendly walkthrough of core NB-IoT concepts with real-world analogies
NB-IoT Technical Specifications Detailed bandwidth, data rates, deployment modes, and protocol specifications
NB-IoT Architecture CIoT network components (eNodeB, MME, SCEF) and Control/User Plane optimization
NB-IoT Power Optimization Deep dive into PSM and eDRX timer configuration for maximum battery life
NB-IoT Lab Simulation Hands-on ESP32 Wokwi simulation with PSM state machine implementation