LoRaWAN The Things Network


Has anybody looked at connecting to The Things Network, TTN, via LoRaWAN. There is a RFM9x library available for 915MHz LoRa modules, but connection to the LoRaWAN TTN gateways is needed.

We are looking to use the IMP004m modules for high-altitude ballooning, where they will be out of range of WiFi, but can transmit limited data via LoRa during flight.


RFM9x don’t do LoRAWAN, they do LoRA. LoRAWAN is another protocol stack on top of LoRA, which is not implemented in the HopeRF chips; the actual LoRAWAN gateways are specialized radios with multiple receivers running concurrently.

For LoRAWAN nodes there are other options, like the Microchip modules, see https://developer.electricimp.com/libraries/hardware/rn2xxx

Note that the library there uses the RN2xxx in LoRA (not LoRAWAN) mode, but you could pretty easily make the driver work in LoRAWAN mode.


Thanks for the feedback Hugo. Please bear with me as I try to sort through the technology. I tested the SparkFun LoRa Gateway - 1-Channel (ESP32) https://www.sparkfun.com/products/15006, and was able to connect to The Things Network. It uses the RFM95W module. I picked up an RFM95W module from Adafruit https://www.adafruit.com/product/3072, and figured I could do the same thing with the IMP004m, perhaps using the RFM9x library https://github.com/electricimp/RFM9x/tree/develp. I think your point is that there is an additional protocol stack on top of the basic LoRa communication.

Moving to LoRa gives us a huge power savings, and if we can use LoRaWAN, we can leverage off of other gateways and The Things Network for more robust tracking. Here’s a story about balloon tracking with LoRaWAN: https://www.thethingsnetwork.org/labs/story/tracking-a-stratospheric-balloon-with-iot.

Do you still advise looking at the Microchip modules or can we work with the RFM95W? Perhaps there are other options.


Ah, yes, there the LoRAWAN stack will be running on the ESP32 (dumb radio, stack on “host”); the Microchip modules I linked have the stack on the radio chip.

Technically, if there was a stack on squirrel you could do the same with an imp, but there isn’t one; it may be possible to port one (the C code used in the Sparkfun demos is https://github.com/mcci-catena/arduino-lmic/tree/master/src/lmic ), but assuming you’re not making thousands of balloons, it may just be much easier to use the Microchip module - or any other module with the stack integrated.

eg see the ones here: https://www.loriot.io/modems.html


As always Hugo, your comments are very helpful. I think I’ll leave porting the lmic code to Squirrel to someone else.

The loriot.io list is a great overview of the LoRa modem technology. The Microchip module looks like a nice way to go.