Vinduino LoRa LAN Gateway

A project log for Vinduino, a wine grower's water saving project

Monitoring soil moisture at different depths to determine when to irrigate, and - more importantly - how much water is needed. Save 25%!

Reinier van der LeeReinier van der Lee 09/24/2016 at 22:200 Comments

This project log entry covers the LoRa gateway that receives and forwards data from Vinduino sensor stations to the ThingSpeak website where it can be displayed as graphs.

The gateway is based on the Electric Imp 1 and the matching April development board. Other components include a Globalsat LM-210H LoRa radio module, antenna, and Vinduino Gateway PCB. The unit works fine with a regular 5V USB wall adapter as power supply.

During this year's field trials we were able to make reliable data connections over a distance of up to 7 miles (10 km) under line of sight conditions.

As the Vinduino gateway is only receiving data, range can significantly be increased by using directional antennas without violating FCC regulations. The sensor stations (transmitting) only use the FCC approved antennas.

The Vinduino sensor stations are default set to 15 min transmission intervals. This allows for a max of 300 sensor stations to be supported by one single gateway, provided there is collision avoidance in the software.

We tested with multiple gateways and multiple stations this Summer in Temecula wine country, and found no issues with multiple gateways simultaneously receiving data from the same sensor station. The ThingSpeak network server accepts the first message and rejects identical messages coming within 15 seconds.

The gateway is based on the Electric Imp 1 and its matching April development board, available at for around $20.
Other components include a Globalsat LM-210H LoRa radio module, antenna (available at as add-on option for the Vinduino sensor station board), and Vinduino Gateway PCB, available at OSHPark at this link: Order board
The unit works fine on a 5V USB wall adapter as power supply.

Before you can program the unit, you will need to set up an account at electric imp and connect the electric imp using their interesting "Blink Up" procedure. The Electric Imp website has an excellent tutorial, so no need to elaborate here.

The editor is on line. You can change the software on-line and then activate it to run without physical access to the unit. There is a programming section that runs on the host system of electric imp (Agent), and there is a programming section for the device itself.

The latest code can be copied and pasted from the Vinduino Github page: Vinduino-GW
Luke Beno ( was the original author, and he kindly agreed to release it to the public domain.
I modified his code to make it work with ThinkSpeak.

Testing the gateway and monitoring
The Electric Imp editor has a logging window that is very useful for the initial bring-up and monitoring of the gateway and stations data. As shown below, the device section displays the data as it is received from the sensor stations.
The sensor data comes in readable format. After the channel ID (blurred out in the picture below, there are 4 data fields for soil sensor 1-4, battery voltage, temperature, and

When received and processed correctly by the ThingSpeak server, there is a response from ThinkSpeak with an incrementing number representing the number of correct data lines received for that particular ThinkSpeak channel.

We tested during a full growing season in the Temecula wine region this year with 20 Vinduino sensor stations and 10 gateways, all operating at 915 MHz. Most of the issues encountered were related to the soil moisture sensors and their installation, not the sensor stations or the gateway. Although the 915 MHz ISM band is heavily used, we have not experienced interference from other users.

The use of LoRa technology without the overhead of the full LoRaWAN stack can be sufficient for use cases that only need monitoring of non-confidential sensor data over longer distance. For secure bi-directional communications, LoRaWAN may be a better option, but -as always- this comes at higher cost and complexity.