LoRa is a radio technology for long range, low bit rate communication among sensors (temperature, light, location etc…) and other IOT devices. The sensors send their data to a radio receiver known as a gateway. The leading protocol used by sensors and gateways to manage communications, frequency, data rate and security is known as LoRaWAN. The gateway transfers the sensor data to the cloud so that web applications and end users can utilize the data.
A complete system includes one or more sensors (or nodes), one or more gateways, and a server or cloud-based app for interacting with all of the sensor data. Finding a complete working system out of the box from one source is challenging in these somewhat early days of the technology. Two full-featured kits that stand out are the Link Labs Development Kit (which uses a LoRaWAN alternative called “Symphony Link”) and the MultiConnect Conduit IoT Starter Kit. Both of these include nodes, development boards and a gateway, along with instructions for connecting to various back end software and infrastructure.
The only downside to these kits are the price which is in the $1,000 or more range. That can be a lot for a hobbyist or sole experimenter to spend for evaluating a new technology. A less expensive route is to build the components on your own. Nodes, sensors and gateways can be built with readily available microcontrollers, radio modules and open source software. The downside to this approach is the typically poor documentation, compatibility issues and varied skills required to make the system work from end to end. The upside is that you (usually) learn quite a bit about the technology when you have to figure it all out yourself. (If you get frustrated easily or lack persistence this may not be the best route.)
With that in mind, I decided to build a gateway using a $289 kit sold by Seeed Studio, based on the RHF0M301 LoRa radio module by RisingHF and a bridge for connecting it to a Raspberry Pi. (The Pi is not included) It is a pretty good trade off of price and features. The Seeed is an eight channel gateway, meaning that it can receive on eight channels at the same time, which makes it LoRaWAN compatible. You could build a single-channel gateway for less than $50, but it would be of very limited use. See my post for a detailed step by step guide for successfully setting up this gateway to work on the Loriot system. The manufacturer’s documentation is fair at best and the seller has limited information on their website.
Any LoRaWAN compatible node using the same frequency (The unlicensed 900 MHz band in the US) should work with the RisingHF gateway. I chose the $35 Adafruit Feather M0 with RFM95 LoRa radio. It is a very compact Arduino-compatible microcontroller that includes a LoRa radio transciever. The full LoRaWAN stack is not included, so to provide complete compatibility with the RisingHF gateway one has to do a bit of software configuration. However, the M0 has plenty of capacity and I have successfully transmitted from this node to the gateway. I will walk through my step-by-step setup process in a future post.
There are a lot of players with a lot of big plans in the wireless IOT space (check out SigFox!) and many predict a future with billions of nodes and hundreds of thousands of gateways. It will be interesting to see how it all pans out, and if all of these systems can coexist with each other.
LoRa and LoRaWAN are trademarks owned by Semtech and LoRa Alliance respectively. MultiConnect Conduit is a trademark of Multi-Tech Systems.
2 thoughts on “Getting Started with LoRa”
Hi Alan –
I’m an admirer of your work. I have installed the Seeed Studio LoRaWAN gateway and connected it to the Loriot cloud portal. I’ve successfully added a Seeeduino LoRa node and transmitted data.
Now, I would like to add an Adafruit Feather M0 LoRa. You state that it requires a missing stack with software mods and you would publish your results.
Can you point me in the right direction?
Sorry for the late response. I was only partially successful at adding the required stack to the Feather M0. I think at this point it would be better to find a node that already has this built-in which is much easier to find since this post was published. Try searching for “LoRaWAN node” on Amazon. I plan to try a few out and post about them here at some point.