There are two different approaches for Arduinos/Genuinos and compatibles to work with KotahiNet depending on which component provides the LoRaWAN network stack.

The first is to use a LoRa module which has the LoRaWAN stack on-board. Examples include IMST and Microchip. The second is where the Arduino runs the LoRaWAN stack and the LoRa module only acts as a transceiver. While the IMST, Microchip and other LoRa modules can also act in this way, the second option also allows a substantially cheaper transceiver-only chip such as Semtech’s SX1272.

For the first approach, details of how to configure the Microchip RN2483 and IMST are still applicable. Options to connect the Microchip modem to the Arduino include soldering, using a breakout board, or a Multiprotocol Radio Shield.

Arduino with LoRa transceiver

For the second approach, a mid-sized Arduino such as the ZERO is required as it needs enough power and memory to run the LoRaWAN stack. Almost any 868 MHz LoRa chip can be used as it only acts as a transceiver. Examples include Semtech’s SX127x range and those that use it such as HopeRF’s RFM95W and the inAir9B. One option is to use a Dragino LoRa Shield with the 868 MHz RFM95W.

Using an Arduino compatible such as Adafruit’s Feather M0 with RFM95 LoRa Radio – 900MHz, which has the SX1276 on the board itself.

Get the source files from IBM LMIC v1.5 (LoRaWAN in C) adapted to run under the Arduino environment. Instead of using the source example sketch, use the one from Mike Cochrane as it is specific for KotahiNet.

There are two important changes that need to be made to Mike’s sketch based on individual circumstances. The first is entering the pin configuration in the sketch specific to the LoRa transceiver chip used. Secondly, obtain ABP credentials from KotahiNet and enter those in the sketch.

If you improve the code or sketch, please email it to KotahiNet to share with others.

Dragino LoRa Shield

Dragino LoRa Shield

Feather 32u4

Feather 32u4