NB-IoT (Narrowband Internet of Things) is a cellular LPWAN standard that uses a narrow 200 kHz LTE band to transmit small, infrequent data payloads over long distances with minimal battery drain. Unlike WiFi or standard LTE, it operates in licensed carrier spectrum, giving you carrier-grade reliability and deep building penetration without the need to deploy and maintain your own local gateways. With 2G and 3G networks fully sunsetted across most global regions as of 2026, NB-IoT has become the default architecture for static, low-power cellular telemetry.

The Bottom Line: If your device sits still, sends less than a few kilobytes a day, and needs to run for 5+ years on a single primary lithium cell, NB-IoT is your protocol.

What NB-IoT Changes on Your PCB

Integrating an NB-IoT module (like the u-blox SARA-N211 or Quectel BG95) fundamentally alters your power and RF design compared to dropping in an ESP32 or a standard WiFi module. Here is what changes in a real circuit:

  • The Power Supply Trap: NB-IoT modules use Power Saving Mode (PSM) to drop idle current to ~5 µA. However, during an RF transmit burst, the internal power amplifier can spike to 350 mA–500 mA for several milliseconds. If your voltage regulator or battery has high internal resistance, the voltage will sag below the module's 3.0V brownout threshold, triggering an endless reboot loop. You must place a low-ESR bulk capacitor (e.g., 100 µF polymer or tantalum) directly adjacent to the module's VCC pin.
  • Logic Level Translation: Most cellular modules operate at 1.8V logic for their UART/SPI interfaces to save power. If your host MCU runs at 3.3V, you need a bidirectional level shifter (like the TXS0108E) to prevent frying the module's RX pin.
  • Sub-GHz RF Routing: NB-IoT operates in sub-GHz bands (typically Band 8 at 900 MHz or Band 20 at 800 MHz). Your PCB requires a strictly controlled 50-ohm impedance trace from the module's ANT pin to a tuned ceramic chip antenna or a U.FL connector, keeping the trace away from digital clock lines to avoid harmonic desense.

Worked Example: Sizing a 5-Year Battery

Let's calculate the exact battery requirements for an agricultural soil moisture sensor sending a 50-byte payload twice a day using a u-blox SARA-N211 module on a 3.6V Li-SOCl2 (Lithium Thionyl Chloride) primary cell.

Target: 5-year lifespan | Payload: 50 bytes, 2x daily | Module PSM Current: 5 µA | TX Burst: 350 mA for ~10 seconds/day
  1. Transmit Energy: 350 mA × (10 / 3600) hours = 0.97 mAh per day.
  2. PSM Idle Energy: 0.005 mA (5 µA) × 23.99 hours = 0.12 mAh per day.
  3. Total Daily Draw: 0.97 + 0.12 = 1.09 mAh per day.
  4. Annual Draw: 1.09 mAh × 365 days = 398 mAh per year.
  5. 5-Year Total: 398 mAh × 5 = 1,990 mAh.

Accounting for a 1% annual self-discharge rate on the lithium cell and a 20% derating for cold-weather voltage sag, you need a cell with roughly 2,500 mAh of usable capacity. The concrete pick: Use an ER14505 (AA-sized, 2,600 mAh) Li-SOCl2 cell. It will comfortably meet the 5-year requirement without the bulk of a C or D cell.

Where You Meet NB-IoT in Practice

You will rarely see NB-IoT in consumer gadgets or high-bandwidth applications. According to the GSMA Mobile IoT deployment maps, it dominates in static, hard-to-reach, or subterranean infrastructure where running power is impossible and WiFi cannot reach:

  • Smart Utility Meters: Water and gas meters buried in concrete pits or metal enclosures. NB-IoT's +20 dB link budget allows it to penetrate deep underground where standard LTE fails.
  • Agricultural & Environmental Sensors: Soil moisture, weather stations, and silo level monitors spread across thousands of acres without local gateway infrastructure.
  • Static Asset Monitoring: Basement leak detectors, commercial smoke alarms, and structural health monitors on bridges that need to report a single 'all-clear' heartbeat once a day.

Common Confusions: NB-IoT vs. LTE-M vs. LoRaWAN

Makers and engineers frequently confuse NB-IoT with other LPWAN (Low Power Wide Area Network) protocols. Here is how to tell them apart at the bench:

Feature NB-IoT LTE-M (eMTC) LoRaWAN
Spectrum Licensed (Carrier) Licensed (Carrier) Unlicensed (ISM)
Bandwidth ~250 kbps (Downlink) ~1 Mbps ~50 kbps
Mobility/Handover No (Cell reselection only) Yes (Seamless handover) Yes (Gateway roaming)
Infrastructure Cellular Towers Cellular Towers Requires own/3rd-party gateways
Firmware Updates Painful (Very slow) Feasible (OTA updates) Painful (Strict duty cycle limits)

The Decision Tree: Which Protocol and Module to Pick

Stop guessing and use this decision path to lock in your hardware architecture.

If your application is... Then choose... Concrete Module Pick (2026)
Static, sending <5 KB/day, needs deep indoor/underground penetration. NB-IoT u-blox SARA-N211 or Quectel BG95-NB
Mobile (moving >30 km/h), requires cell-tower handover, or needs OTA firmware updates. LTE-M Quectel BG95-M2 or u-blox SARA-R5
Deployed in areas with zero cellular coverage, or you want to avoid recurring SIM/data costs. LoRaWAN Semtech SX1262 transceiver + STM32WL MCU
High bandwidth (video, audio, >1 MB/day) or requires continuous real-time streaming. Standard LTE Cat-4 / 4G Quectel EC25 or Sierra Wireless HL7599
Pro-Tip for 2026: If you are designing a product for global deployment, choose a module like the Quectel BG95 series. It supports 'multi-mode' LPWAN, meaning the exact same PCB footprint and firmware can negotiate NB-IoT or LTE-M depending on what the local carrier supports, saving you from spinning regional board variants.

FAQ: Firmware and Network Edge Cases

What is the difference between PSM and eDRX?

Both are power-saving features, but they behave differently. PSM (Power Saving Mode) turns off the module's receiver entirely; the network assumes the device is unreachable until the device wakes up and initiates a transmission (TAU - Tracking Area Update). eDRX (Extended Discontinuous Reception) keeps the module registered to the network but extends the paging cycle (e.g., listening for incoming SMS or data only once every 40 minutes). If your sensor only pushes data to the cloud and never receives commands, use PSM. If the cloud must occasionally send a 'valve open' command to the device, use eDRX.

Do I need to write custom TCP/IP stacks for NB-IoT?

No. NB-IoT modules handle the cellular attachment and IP stack internally. You communicate with the module via standard UART using AT commands (e.g., AT+CGATT=1 to attach to the network, AT+NSOST to send UDP data). Your host MCU simply formats the payload as a hex string and passes it over serial.

Why does my module fail to attach in the basement but works outside?

NB-IoT relies on 'Coverage Enhancement' (CE) levels. If the signal is weak, the module must repeat its transmissions dozens of times to punch through concrete. This drastically increases the TX burst time from milliseconds to several seconds, which can trigger a battery voltage sag if your bulk capacitor is undersized. Always measure the VCC rail with an oscilloscope during the initial network attach sequence in your worst-case physical location.