33  LoRaWAN Quiz: Regional Deployment

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.

In 60 Seconds

This quiz covers LoRaWAN regional deployment: EU868 uses 8 channels with 1% duty cycle limits while US915 uses 64+8 channels with no duty cycle but dwell time restrictions, and devices must be configured for the correct sub-band to communicate with local gateways. Understanding these regional differences is essential for international or multi-region LoRaWAN deployments.

33.1 Learning Objectives

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

  • Contrast Regional Parameters: Differentiate EU868 vs US915 channel plans, duty cycle rules, and power limits
  • Diagnose Roaming Issues: Identify root causes of international deployment failures from sub-band mismatches
  • Configure Sub-bands: Apply correct channel configurations to match specific gateway and network operator requirements
  • Architect Global Deployments: Design GPS-aware firmware that auto-detects and adapts to multi-region frequency plans

Key Concepts

  • Regional Parameters (RP): LoRa Alliance document specifying channel plans, frequency bands, maximum EIRP, duty cycles, and data rate definitions for each regulatory region.
  • EU868 Band: European LoRaWAN channel plan using 868 MHz ISM band with 1% duty cycle, maximum 14 dBm EIRP, 8 default channels at 125 kHz.
  • US915 Band: North American LoRaWAN plan using 902–928 MHz with 64 uplink and 8 downlink channels, no duty cycle restriction but 30 dBm maximum power.
  • AS923 Band: Asia-Pacific LoRaWAN channel plan for countries including Japan, Singapore, and Malaysia using 923 MHz with 1% duty cycle.
  • Dwell Time: US915 regulation limiting maximum continuous transmission to 400 ms, replacing duty cycle restrictions; affects maximum payload size at some spreading factors.
  • Equivalent Isotropically Radiated Power (EIRP): Total radiated power including transmitter output plus antenna gain; regulatory limit varies by region.
  • Multi-Region Deployment: Design considerations for deploying LoRaWAN devices across multiple countries with different channel plans, requiring region-specific firmware configuration.
Prerequisites

Before attempting this quiz, you should be familiar with:

This is Part 5 of 5 in the LoRaWAN Quiz Bank series.

Quiz Focus Area
1. Fundamentals Misconceptions, class selection
2. Battery Optimization Battery life calculations
3. Network Scalability Collision analysis, ADR
4. Activation & Security OTAA vs ABP
5. Regional Deployment EU868, US915 configuration (You are here)

Return to the Quiz Bank Index for the complete overview.

33.2 Quiz Questions

Try It: US915 Sub-Band Channel Overlap Explorer

Select different sub-band configurations for a device and gateway to visualize which channels overlap. See how mismatched sub-bands cause packet loss in US915 deployments.

Try It: TTN Fair Use Policy Airtime Calculator

Adjust the spreading factor, payload size, and transmission interval to see whether your LoRaWAN configuration complies with The Things Network Fair Use Policy (30 seconds airtime per day, 10 downlinks per day).

33.3 Visual Reference Gallery

Sigfox vs LoRaWAN comparison diagram showing differences in bandwidth, data rate, message limits, deployment models, and coverage characteristics.

Sigfox LoRaWAN Comparison

Technology comparison for LPWAN selection questions, highlighting regional deployment differences.

33.3.1 Quick Check: Regional Channel Configuration

Scenario: A logistics company deploys 2,000 GPS asset trackers on international shipping containers. Trackers must automatically configure for EU868, US915, or AS923 based on GPS location without manual intervention.

Challenge: Static regional configuration fails when containers cross borders. Devices configured for EU868 experience 80% packet loss in North America due to channel mismatch (8 channels vs 64 channels, different frequencies).

Solution Design:

// Multi-region LoRaWAN configuration with GPS auto-detect
#include <LMIC.h>
#include <TinyGPS++.h>

typedef enum {
    REGION_UNKNOWN = 0,
    REGION_EU868,
    REGION_US915,
    REGION_AS923
} lorawan_region_t;

// Geofence definitions (approximate)
typedef struct {
    float lat_min, lat_max;
    float lon_min, lon_max;
    lorawan_region_t region;
} region_boundary_t;

const region_boundary_t regions[] = {
    // Europe (simplified)
    {35.0, 72.0, -12.0, 40.0, REGION_EU868},
    // North America (simplified)
    {24.0, 50.0, -125.0, -66.0, REGION_US915},
    // Southeast Asia (simplified)
    {-10.0, 25.0, 95.0, 140.0, REGION_AS923}
};

lorawan_region_t detect_region_from_gps(float lat, float lon) {
    for (int i = 0; i < sizeof(regions)/sizeof(region_boundary_t); i++) {
        if (lat >= regions[i].lat_min && lat <= regions[i].lat_max &&
            lon >= regions[i].lon_min && lon <= regions[i].lon_max) {
            return regions[i].region;
        }
    }
    return REGION_UNKNOWN;
}

void configure_lorawan_region(lorawan_region_t region) {
    LMIC_reset();

    switch(region) {
        case REGION_EU868:
            // EU868: 8 default channels, 1% duty cycle
            // Channels 868.1, 868.3, 868.5 MHz configured by LMIC
            LMIC_setupChannel(0, 868100000, DR_RANGE_MAP(DR_SF12, DR_SF7));
            LMIC_setupChannel(1, 868300000, DR_RANGE_MAP(DR_SF12, DR_SF7B));
            LMIC_setupChannel(2, 868500000, DR_RANGE_MAP(DR_SF12, DR_SF7));
            // ... channels 3-7
            LMIC.txpow = 14;  // +14 dBm max in EU868
            break;

        case REGION_US915:
            // US915: 64 uplink channels, select TTN sub-band 2 (channels 8-15)
            for(int i=0; i<72; i++) {
                LMIC_disableChannel(i);  // Disable all first
            }
            // Enable only TTN standard sub-band (channels 8-15)
            for(int i=8; i<=15; i++) {
                LMIC_enableChannel(i);
            }
            LMIC_enableChannel(65);  // 500kHz uplink channel
            LMIC.txpow = 20;  // +20 dBm (can go to +30 with antenna gain)
            break;

        case REGION_AS923:
            // AS923: Similar to EU868 but different frequencies
            LMIC_setupChannel(0, 923200000, DR_RANGE_MAP(DR_SF12, DR_SF7));
            LMIC_setupChannel(1, 923400000, DR_RANGE_MAP(DR_SF12, DR_SF7));
            // ... AS923-specific channels
            LMIC.txpow = 16;  // +16 dBm typical for AS923
            break;

        default:
            // Unknown region: default to most permissive (US915)
            configure_lorawan_region(REGION_US915);
            break;
    }
}

void setup() {
    // Wait for GPS fix
    while(!gps.location.isValid()) {
        // Poll GPS until valid fix
        delay(1000);
    }

    // Detect region from GPS coordinates
    float lat = gps.location.lat();
    float lon = gps.location.lng();
    lorawan_region_t region = detect_region_from_gps(lat, lon);

    // Configure LoRaWAN for detected region
    configure_lorawan_region(region);

    // Store region in EEPROM to avoid re-detection on every boot
    EEPROM.write(REGION_ADDR, region);

    // Initiate OTAA join
    LMIC_startJoining();
}

void loop() {
    // Periodically check if region changed (every 24 hours)
    static uint32_t last_region_check = 0;
    if (millis() - last_region_check > 86400000) {  // 24 hours
        float lat = gps.location.lat();
        float lon = gps.location.lng();
        lorawan_region_t new_region = detect_region_from_gps(lat, lon);
        lorawan_region_t current_region = EEPROM.read(REGION_ADDR);

        if (new_region != current_region && new_region != REGION_UNKNOWN) {
            // Region changed! Reconfigure and rejoin
            configure_lorawan_region(new_region);
            EEPROM.write(REGION_ADDR, new_region);
            LMIC_startJoining();
        }
        last_region_check = millis();
    }

    os_runloop_once();
}

Expected Results:

Before (Static EU868 configuration):

  • Europe: 99% success rate
  • North America: 20% success (channel mismatch)
  • Asia: 15% success (frequency/power mismatch)
  • Manual reconfiguration required per region

After (GPS auto-configuration):

  • All regions: 98-99% success rate
  • Automatic region detection on first GPS fix
  • Rejoin network when crossing regional boundaries
  • Zero manual intervention

Power Impact:

GPS power for region detection: - GPS active: 30 mA for 30-60 seconds (cold start) - Energy cost: 30 mA x 45s = 1,350 mAs = 0.375 mAh (one-time per region) - Re-check every 24 hours: 0.375 mAh/day (negligible vs 288 mAh/day for transmissions)

Production Considerations:

  1. Geofence accuracy: Use more precise boundaries for border regions
  2. GPS fallback: If GPS unavailable, attempt join on all regions (EU868 first, then US915, then AS923)
  3. Firmware size: Multi-region support adds ~8 KB (LMIC library already includes all region definitions)
  4. Testing: Simulate GPS coordinates in each region before deployment

Key Insight: Multi-region firmware with GPS auto-configuration eliminates 80-95% of regional deployment failures and removes manual configuration burden for globally-mobile assets. The one-time GPS fix cost (0.375 mAh) is negligible compared to weeks of packet loss from wrong configuration.

Try It: GPS-Based LoRaWAN Region Detector

Enter GPS coordinates (or select a preset city) to see which LoRaWAN regional configuration would be auto-selected by a multi-region firmware. The display shows the detected region, its frequency plan, and key parameters.

33.4 Summary

This chapter covered regional deployment concepts for LoRaWAN networks:

  • Regional Parameters: EU868 vs US915 channel configuration differences
  • Duty Cycle vs Fair Use: Regulatory limits vs network policies
  • Multi-Region Firmware: GPS-based automatic region detection
  • Sub-band Selection: Configuring devices for specific network operators

Common Pitfalls

Programming EU868 frequencies on hardware deployed in the US results in illegal operation and zero connectivity. Frequency band must match both the deployment region’s regulations and the hardware’s RF capabilities. Verify regional parameters as part of pre-shipment testing.

EU regions use percentage duty cycle limits (1% = 36s/hour). US regions use dwell time limits (400 ms maximum continuous transmission) with different implications for packet size. Applying EU duty cycle calculations to US deployments may result in over-conservative design or non-compliance.

LoRaWAN modules designed for EU868 may not transmit on US915 frequencies. Some modules support multiple regional configurations but require firmware parameter changes. Always verify hardware frequency support matches the target deployment region.

Maximum EIRP (including antenna gain) is regulated per region. Exceeding the limit (e.g., adding a high-gain directional antenna without reducing TX power) is a regulatory violation. Always calculate total EIRP to ensure compliance with regional limits.

33.5 What’s Next

You have completed the LoRaWAN Quiz Bank! Return to the Quiz Bank Index for the overview, or continue to related topics:

Direction Chapter Focus
Quiz Bank Quiz Bank Index Complete overview of all five quiz chapters
LPWAN Alternatives Sigfox Review Ultra-narrowband LPWAN technology
Protocol Comparison LPWAN Comparison Side-by-side LoRaWAN, Sigfox, NB-IoT analysis
Network Layer 6LoWPAN Review IPv6 over low-power wireless networks

Review other quiz chapters:

Quiz Focus
Fundamentals Quiz Misconceptions and class selection
Battery Optimization Quiz Battery life calculations
Network Scalability Quiz Collision analysis and ADR
Activation & Security Quiz OTAA vs ABP