Sending Data

There is no cost to test the network.

Band Plan

KotahiNet has switched to this band plan from 1 June 2017. The old band plan is no longer used.
Customers should buy modules and devices either

  • Off-the-shelf intended for the Indian market. The 3 default frequencies of 865.0625, 865.4025, and 865.9850 MHz work with our network. For better performance and reliability, configuring the remaining 5 channels below (864.8625, 865.6025, 866.2, 866.4, and 866.6 MHz) on the module or device is recommended, or
  • EU 868 MHz modules and devices. These need to be configured to operate at the frequencies below (channels 0-7) as we do not use the EU default frequencies of 868.1, 868.3, and 868.5 MHz.


Channel Frequency (MHz) Bandwidth (kHz) Sp Factor / Data Rate
0 864.8625 125 12-7 / 0-5
1 865.0625 125 12-7 / 0-5
2 865.4025 125 12-7 / 0-5
3 865.6025 125 12-7 / 0-5
4 865.9850 125 12-7 / 0-5
5 866.2000 125 12-7 / 0-5
6 866.4000 125 12-7 / 0-5
7 866.6000 125 12-7 / 0-5
LoRa 865.0625 250 7 / 6
FSK 865.0625 125 50 kbps


  • RX2 window: 866.5500 MHz, DR2 (SF10)
  • Max power: 36 dBm
  • Coding rate: 4/5
  • Duty cycle: off (no duty cycle)


Hardware For End Devices / Nodes

At a minimum, there needs to be a MCU, LoRa modem, antenna and power source. Typically there will also be a number of sensors or controllers plus a range of optional extras such as GPS, accelerometers, solar charging, etc.

To run the LoRaWAN network stack (software), there are two choices- either onboard the LoRa modem or by a single MCU running both the network stack and application software. See Developers for details.

Joining The Network

End devices or nodes have to “join” the network before being able to send data. This is detailed in the LoRaWAN specifications for public networks.

The first join option is OTAA (Over The Air Activation). The customer needs to send the Device EUI and, optionally, the App EUI and App Key, to KotahiNet for enrolling the device on the network. Alternatively, these three parameters can be generated by KotahiNet and the customer needs to configure them on the end device or node.

The other join option is ABP (Activation By Personalisation). KotahiNet will provide the customer with Device Address, Network Session Key, and Application Session Key to configure on the device.

Transmitting Data

Data can be sent as confirmed or unconfirmed transmissions. In the former case, the network acknowledges receipt of each data transmission from the end device and is therefore recommended for better reliability.

End-to-end data encryption is both supported and recommended.

For stationary devices, Adaptive Data Rate (ADR) must be enabled. This is good both for the device (longer battery life) and the network (more capacity).

The network does not permanently store data received from the device or that sent to the device after it is sent. Our server caches a number of last received messages in a circular buffer. If you suspect some uplink messages have been missed, you can query the cache and retrieve the messages at a later point.

The data payload is in hexadecimal. For reliability, it should not exceed 100 bytes (which is several times the median size so should be more than enough). However, if required, larger data payloads can be divided across multiple data transmissions.

Data Destination

The customer needs to choose the destination and protocol for their device data delivery. Data is delivered as a JSON object (uplink object structure).

To make testing easy and quick, KotahiNet provides a free web page as the default data destination. It is automatically and dynamically updated with the customer’s data payload and also includes diagnostic information like RSSI, SNR, spreading factor, frequency, etc

To send data to the customer’s chosen destination instead of the test web page, there are two options

  • Any secure communication protocol. WebSocket is preferred for efficiency. Other choices are TLS Socket, MQTT and HTTPS Push (details).
  • Pre-integration is available for popular cloud services- Amazon AWS IoT (details), Azure IoT Hub (details), IBM Bluemix IoT Foundation, PubNub,, and myDevices Cayenne.

Sending Data/Commands To Device

As the network is bi-directional, data or commands can also be sent the other way, to the device via KotahiNet (“downlink”). Data is delivered depending on the device class- after the next transmission from the device (Class A) or immediately (Class C).

When using KotahiNet’s free default web page, data can be sent to your device from that web page itself by filling in the Device EUI, port, and data.

If transmitted device data is being sent to your preferred destination, such as say Azure IoT Hub or any of the other pre-integrated services above, the bi-directional integration provides for sending downlink data. In addition, data/commands can be sent using https push (details).

When using any secure communications protocol to get your transmitted device data, a JSON downlink request needs to be sent to our server to send data to the device. These requests are both acknowledged and data delivery confirmed.


Also see Network, IoT Networks, Use Cases, and Technology.