Overview
The frequency plan and network server address must match the real operating environment. Each network server instance runs with one fixed frequency plan; in the public Firefly cloud each SaaS hostname is therefore paired with a plan (see Mapping in the public Firefly cloud). Mistakes here often make gateways look reachable while delivering no usable payloads or unreliable downlinks.
When this page applies
This page is relevant when:
- a new region is being set up
- a gateway is on the wrong plan
- Firefly is not sending or receiving against the expected address
- distinguishing SaaS from a self-hosted installation
Prerequisites
For planning, the following should be known:
- target region of the device or gateway
- gateway type in use
- whether the deployment is public Firefly SaaS or self-hosted
In niotix, region and endpoint URLs must match the same Firefly context: align the Virtual Device and Firefly connector configuration with this page.
Frequency plans
Firefly supports the following frequency plans.
Plan overview table
Plan |
Region (typical) |
RX2 (MHz) |
Short description |
|---|---|---|---|
EU868 |
Europe |
869.525 |
Eight 125 kHz channels; RX1 on the same frequency as the uplink |
US915 |
United States |
923.3 |
Eight active 125 kHz uplinks from 902.3 MHz; eight 500 kHz downlinks |
AU915 |
Australia |
923.3 |
Same downlink pattern as US915; uplinks from 915.2 MHz |
AS923 |
Asia / Pacific |
923.2 |
Eight 125 kHz channels; RX1 same as uplink |
IN865 |
India |
866.55 |
Eight 125 kHz channels; RX1 same as uplink |
KR920 |
South Korea |
921.9 |
Seven 125 kHz channels; RX1 same as uplink |
CN470 |
China |
505.3 |
Default: eight active uplinks (grid indices 80–87) at 486.3–487.7 MHz; eight downlinks 500.3–501.7 MHz |
Channel frequencies
All values in MHz. For EU868, AS923, IN865, and KR920, the listed uplink frequencies are the same as the downlink channels for RX1 window 1 (see get_rx1_freq in the respective band modules).
EU868
| Direction / window | Channel group | Frequencies (MHz) |
|---|---|---|
| Uplink (125 kHz) | 0–2 | 868.1; 868.3; 868.5 |
| Uplink (125 kHz) | 3–7 | 867.1; 867.3; 867.5; 867.7; 867.9 |
| Downlink RX1 (125 kHz) | center frequency = uplink center for the selected channel | 868.1; 868.3; 868.5; 867.1; 867.3; 867.5; 867.7; 867.9 (same as uplink) |
| Downlink RX2 (250 kHz) | fixed RX2 window (LoRaWAN) | 869.525 — see Plan overview table (RX2) |
US915
| Direction | Frequencies (MHz) |
|---|---|
| Uplink (125 kHz, active by default) | 902.3; 902.5; 902.7; 902.9; 903.1; 903.3; 903.5; 903.7 |
| Downlink (500 kHz) | 923.3; 923.9; 924.5; 925.1; 925.7; 926.3; 926.9; 927.5 |
AU915
| Direction | Frequencies (MHz) |
|---|---|
| Uplink (125 kHz, active by default) | 915.2; 915.4; 915.6; 915.8; 916.0; 916.2; 916.4; 916.6 |
| Downlink (500 kHz) | 923.3; 923.9; 924.5; 925.1; 925.7; 926.3; 926.9; 927.5 |
AS923
| Direction / window | Channel group | Frequencies (MHz) |
|---|---|---|
| Uplink (125 kHz) | 0–2 | 923.2; 923.4; 923.6 |
| Uplink (125 kHz) | 3–7 | 922.2; 922.4; 922.6; 922.8; 923.0 |
| Downlink RX1 (125 kHz) | center frequency = uplink center for the selected channel | 923.2; 923.4; 923.6; 922.2; 922.4; 922.6; 922.8; 923.0 (same as uplink) |
| Downlink RX2 (250 kHz) | fixed RX2 window (LoRaWAN) | 923.2 — see Plan overview table (RX2) |
IN865
| Direction / window | Channel group | Frequencies (MHz) |
|---|---|---|
| Uplink (125 kHz) | 0–2 | 865.0625; 865.4025; 865.9850 |
| Uplink (125 kHz) | 3–7 | 865.2325; 866.1850; 866.3850; 866.5850; 866.7850 |
| Downlink RX1 (125 kHz) | center frequency = uplink center for the selected channel | 865.0625; 865.4025; 865.9850; 865.2325; 866.1850; 866.3850; 866.5850; 866.7850 (same as uplink) |
| Downlink RX2 (250 kHz) | fixed RX2 window (LoRaWAN) | 866.55 — see Plan overview table (RX2) |
KR920
| Direction / window | Frequencies (MHz) |
|---|---|
| Uplink (125 kHz) | 922.1; 922.3; 922.5; 922.7; 922.9; 923.1; 923.3 (seven channels) |
| Downlink RX1 (125 kHz) | 922.1; 922.3; 922.5; 922.7; 922.9; 923.1; 923.3 (same as uplink) |
| Downlink RX2 (fixed RX2 window, LoRaWAN) | 921.9 — see Plan overview table (RX2). |
Note: RX2 (921.9 MHz) is the fixed second receive window in LoRaWAN / Firefly (921900000 Hz in the KR920 band module); it is not one of the seven uplink / RX1 center frequencies.
CN470 (active on the server: uplink indices 80–87 of the 470 MHz grid; downlink the first eight channels of the 500 MHz grid)
| Direction | Frequencies (MHz) |
|---|---|
| Uplink | 486.3; 486.5; 486.7; 486.9; 487.1; 487.3; 487.5; 487.7 |
| Downlink | 500.3; 500.5; 500.7; 500.9; 501.1; 501.3; 501.5; 501.7 |
RX2 per plan: see the Overview table.
For production setups, always verify that gateway, device profile, and Firefly region match exactly.
Public SaaS addresses
The public SaaS uses several network server hostnames for UDP-based packet forwarders. The documented default port is 1700. The following sections explain how frequency plan and hostname relate.
These addresses are only correct when the public Firefly SaaS is actually in use.
How it works: one network server, one frequency plan
For every Firefly environment you connect to, the LoRaWAN network service operates with exactly one frequency plan (a regional LoRa channel plan).
Three sides must be aligned to the same target region and plan: the reachable network service or target address (host/port), the end device settings, and the gateway settings. In the public SaaS, you pick the documented host name for your target region; in a self-hosted setup, the endpoint described in your documentation. The end device must use matching region and frequency and profile parameters, and the gateway must use the corresponding channel plan configuration.
If this alignment is not consistent, you will typically see connectivity or join issues, or application payloads will stay empty—even when the target address and port are formally reachable on the network.
Mapping in the public Firefly cloud
In the public Firefly SaaS, the Europe / EU868 instance is fireflyiot.com.
Each network server host documented in the table below and in the application manual is assigned to a target region and frequency plan profile. See the Firefly application manual, chapter on regions and server addresses.
In practice, the gateway and device profile must match the frequency plan that host is intended for—for US915 typically us1.ns.fireflyiot.com, for EU868 fireflyiot.com. A host name on its own does not enforce the plan; the target, gateway, and end device must all follow the same intended plan for that region.
| Frequency plan | Network server host (UDP, port 1700) | Public cloud (per Firefly manual) |
|---|---|---|
| EU868 | fireflyiot.com |
Europe / Frankfurt |
| US915 | us1.ns.fireflyiot.com |
US West |
| AU915 | br1.ns.fireflyiot.com |
South America / São Paulo |
| IN865 | in1.ns.fireflyiot.com |
India / Mumbai |
| AS923 | sg1.ns.fireflyiot.com |
Asia Pacific / Singapore |
| CN470 | cn1.ns.fireflyiot.com |
Asia Pacific / Hong Kong |
| KR920 | kr1.ns.fireflyiot.com |
Asia Pacific / Seoul |
Impact on operations and troubleshooting
When the frequency plan or address does not fit, common symptoms include:
- no or too few uplinks
- inconsistent downlinks
- gateways that look connected but carry no usable traffic
- join problems
Checks should always cover together:
- Firefly region
- gateway configuration
- device profile
- target address and port
- SaaS vs self-hosted environment
Common questions
Is US915 always tied to us1.ns.fireflyiot.com?
In the public Firefly cloud, that pairing is the intended and documented US915 mapping for that host. The DNS name does not technically enforce the plan—what matters is the configuration of the network server that is actually reached and that target, gateway, and devices all match the intended plan. In self-hosted environments other hostnames can serve the same role; there the deployment configuration decides, not the fixed SaaS name.
Datasheets list several LoRa regions—which one is relevant for a live deployment?
What matters is the channel plan and region you have actually configured and run in production—not every region the device could support on paper. Keep the device profile, gateway settings, and the Firefly target / frequency context aligned to that same real configuration.
Why does a gateway receive packets but still behave inconsistently?
In many cases, the frequency plan does not fully match the Firefly region, or the gateway is sending to the wrong address or environment (SaaS vs self-hosted). See Impact on operations and troubleshooting.