678  IoT Protocol Selection Guide

Interactive Decision Flowchart

678.1 Protocol Selection Flowchart

NoteFind the Right Protocol

Answer a few questions about your IoT project requirements to get protocol recommendations tailored to your needs.


678.2 Step-by-Step Selection


678.3 Quick Reference

678.3.1 Protocol Comparison Matrix

Protocol Range Power Data Rate Latency Best For
LoRaWAN 15+ km Ultra-low 0.3-27 kbps High Agriculture, meters, tracking
NB-IoT Cellular Low 250 kbps Medium Smart cities, utilities
Wi-Fi 50-100m High 10+ Mbps Low Cameras, appliances
BLE 10-100m Very low 1-2 Mbps Low Wearables, beacons
Zigbee 10-100m (mesh extends) Low 250 kbps Low Smart home, lighting
MQTT Via IP network Medium Flexible Low Cloud connectivity
CoAP Via IP/6LoWPAN Low Flexible Low M2M, constrained devices

678.3.2 Decision Quick Guide

%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#2C3E50', 'primaryTextColor': '#fff', 'primaryBorderColor': '#16A085', 'lineColor': '#16A085', 'secondaryColor': '#E67E22', 'tertiaryColor': '#7F8C8D'}}}%%
flowchart TD
    Start([Start]) --> Range{Range<br/>needed?}

    Range -->|Short < 100m| Power1{Power<br/>constrained?}
    Range -->|Long > 1km| Power2{Has cellular<br/>coverage?}

    Power1 -->|Yes| BLE[BLE / Zigbee]
    Power1 -->|No| WiFi[Wi-Fi]

    Power2 -->|Yes| NBIoT[NB-IoT / LTE-M]
    Power2 -->|No| LoRa[LoRaWAN]

    BLE --> Done([Choose based on<br/>mesh vs phone])
    WiFi --> Done2([Best for high<br/>bandwidth needs])
    NBIoT --> Done3([Best for managed<br/>connectivity])
    LoRa --> Done4([Best for years<br/>of battery life])

    style Start fill:#16A085,stroke:#2C3E50,color:#fff
    style BLE fill:#3498DB,stroke:#2C3E50,color:#fff
    style WiFi fill:#E67E22,stroke:#2C3E50,color:#fff
    style NBIoT fill:#9B59B6,stroke:#2C3E50,color:#fff
    style LoRa fill:#27AE60,stroke:#2C3E50,color:#fff