In this update, I cover experiences with 3 different modules, all using the same Semtech SX1276 LoRa chip, designed for use in the 915 MHz license-free band in the US and 868 MHz in Europe. The first generation of Vinduino remote sensor stations used ESP8266 WiFi modules. They work great in and around the house, but lack the range for agricultural work.
With the LoRa modules evaluated, a range of up to a few miles is easily achieved with standard "rubberduck" antennas and line of sight. When using antennas that provide gain, you can get some serious distance. When testing with a 9 dB gain directional antenna on the balcony, and a loRa module with a standard antenna mounted on my car roof, I got a 6 mile range. A Finnish team from the university of Oulu reported 30 km (20 mi) range over water and 15 km over land using standard antennas.
My requirements for the Vinduino telemetry were: long range (>1 mile), easy to work with, FCC approved, license free frequency use, robust communications, and low cost.
|Model||Arduino compatible||Frequency||FCC approved||Estim price|
|Arduino Mega||915 MHz||Yes||$44|
Before introduction of the ESP8266, the APC220 was the module of choice for making wireless Arduino projects.
They work as transparent wireless UARTS, serial data in = serial data out. Very easy to work with. Range of this module is just block away, and not being FCC aproved made me look at a new arrival from the same company, Appcon in Shenzen, APC340. I ordered some samples and they worked great, the only thing missing was FCC approval.
Next module evaluated was a new module from LinkLabs, also using the same Semtech LoRa chip as the APC340, and FCC approved. There is even an Arduino sketch available, but unfortunately this only works for their Symphony LoRa WAN architecture. You can write to the registers for making it work as a wireless UART, but that mode is not supported and not FCC approved.
Finally, I met with the folks of Globalsat at CES. They were introducing a new range of products for LoRa and LoRa WAN, and all their products have FCC approval.
I have been using their LM-210 module for a few months now and had good results with field testing. The 915 MHz band has many users, all doing some kind of spread spectrum modulation. For use in Europe, I was able to program the module to work at 868 MHz, at 14 dBm output level. The LM-210 uses spread spectrum modulation as well, distributing the signal over 125kHz. Viewing with a SDR radio, the radio signal looks like this:
The radio link includes forward error correction, and in most situations that works well enough. In situations where the signal strength is not enough to maintain the connection, errors can slip through. To maintain data integrity in challenging environments it's therefore better to have a CRC check in the software.
The LM-210 connects with a 7-pin header. The I/O voltage should be 3.3V, the supply voltage can be up to 6V, but to be sure, I operate Arduino and LoRa module at 3.3V.
Working with the modules is straightforward, data in = data out. The interface bitrate comes as default 9600 bps. The RF signal rate can be programmed between 0.81 and 18.23 Kbps. RF output power is 20 dBm (100mW), and can be reduced in 7 steps of 2 dB.
The module has two mode selection pins, that are pretty interesting to play with.
Mode 1, Pin 1=0 and Pin2=0: the channel is opened and the module is active. This is also the mode with highest power consumption: 13 mA typical for receive and 120 mA for transmit.
Mode 2, P1=0 and Pin2=1: difference with mode 1 is that every transmission now starts with a preamble needed to wake up a receiver in wake-up mode (see mode 3), and RSSI data is added.
Mode 3, P1=1 and P2=0: Power saving mode. The receiver is in sleep mode and wakes up at a set interval. If a transmission preamble is detected, receiving starts until the transmission is ended.
Mode 4, P1=1 and P2=1, Setup mode. Changing frequency, output power etc is done by sending hexadecimal string in this mode. This is also the setting that takes the least power (2.2uA) as RF and UART as closed. For Vinduino I have the Arduino board in the remote stations toggle between Mode 4 (sleeping) and Mode 1 (transmission). The Vinduino gateway is always on, actively receiving, and remains in Mode 1.
The 915 MHz band has some interesting properties. Radio signals bounce off objects, the Navy used the 915 MHz band for RADAR detection of low flying objects over water.
In the vineyard shown below, there was no direct line-of-sight between the sensor station (circled) and the LoRa gateway which is behind a hill. Nevertheless, a reliable communication path was established by bouncing the radio signal off a nearby mountain (arrow).
Thus far we have successfully installed Vinduino sensor stations at 7 vineyards in the Temecula wine area, and the choice for using LoRa technology for our telemetry has not been a disappointment.
The range of LoRa makes it also an ideal technology for community IoT networks. We think one well located LoRa gateway can support hundreds of IoT stations in a few miles radius, and forward sensor data to -for example- ThingSpeak. Adding a fiberglass omni-directional antenna brings out the best of the module when used in a gateway configuration.
An opportunity for citizen network providers?
The Globalsat LM-210 is available from Embedded Works for $19.99 excl. antenna. For the record: I have no commercial ties with this company.