PM-WCS-3-LORA LoRaWAN Soil Moisture, Temperature , Electrical Conductivity Sensor

PM-WCS-3-LORA LoRaWAN sensor features built-in transmitter. Which enables low cost, long range, long battery live wireless solution for remote distance soil conditions monitoring. We offer Android application for setup  and online monitoring your sensors via  and The Things Network. By default sensor is factory calibrated and configured to send data with 30 second sleep interval. To get better battery live you must change data reporting frequency to send measurement data with larger sleep time.


  • Dust and water proof, every sensor is tested by submerging it in to the water, battery box grade: IP65.
  • LoRaWAN class A device, may be activated with OTAA or ABP.
  • Setup via USB CDC-ACM virtual COM port.
  • Android application for USB setup and free online monitoring via The Things Network gateways.
  • Tinovi cloud console for graphs and configurable event triggers.



Table 2.2.1

ID Parameter Resolution Range
1 Dielectric permittivity (ε)(Temperature corrected) 0.1ε 1 (air) to 80 (water)
2 Electrical Conductivity(dS/m) 0.01 dS/m 0 to 23 dS/m
3 Temperature (°C) 0.1°C -20 to 60°C
4 Volumetric Water Content (%) calculated from dielectric permittivity by Topp equation (Topp et al, 1980):θ = 4.3 ⋅ 10−6ε3 − 0.00055ε2 + 0.0292ε − 0.053 0.1% 0 – 100% VWC
5 Battery voltage percent:measures battery voltage and calculates percentage from 2v to 5v;

To calculate actual battery voltage use formaula: 2+0.03*battery reading.

for example if battery measurement shows 50% ,then actual voltage is 2+0.03*50=3.5v

1% 2v – 0%…..

5v – 100%



Table 2.3.1

Parameter Min. Typical Max.
Supply voltage (VCC), V 2.5 5 6
Working current(VCC=5V), mA 10
Operating Temperature Range, Celsius -20  



LoRaWAN interface

Sensor model PM-WCS-3-LORA supports LoRaWAN 1.0.2 Class A device.

Supports Over-the-air activation (OTAA / joining) and  Activation By Personalization (ABP). Packed data is sent in binary format and is 9 bytes long. It has 4 parameters 2 byte or 16bit signed integer each and last parameter battery is 1 byte long. After converting to integer they should be divided by 100 to get actual value.

Data format

Data output is in binary format total 9-byte long:

  1. 2-byte short (divide by 100) Dielectric permittivity (ε) (Temperature corrected) resolution: 0.1ε and range 1 (air) to 80 (water)
  2. 2-byte short (divide by 100) Electrical Conductivity (dS/m) resolution: 0.01 dS/m and range: 0 to 23 dS/m
  3. 2-byte short (divide by 100) Temperature (°C) resolution: 0.1°C and range: -20 to 60°C
  4. 2-byte short Volumetric Water Content (%) resolution:0.1% and range: 0 – 100% VWC Note: VWC is calculated from dielectric permittivity by Topp equation (Topp et al, 1980): θ = 4.3 ⋅ 10−6ε3 − 0.00055ε2 + 0.0292ε − 0.053)
  5. 1-byte Battery voltage percent: measures battery voltage and calculates percentage from 2v to 5v; To calculate actual battery voltage use equition: 2+0.03(battery reading). for example if battery measurement shows 50% ,then actual voltage is 2+0.0350=3.5v resolution: 1% and range: 2v – 0% to 5v – 100% (TTN) deconding scrtipt:

var bytesToInt = function(bytes, dev) {

 var sign = bytes[0] & (1 << 7);

 var x = ((bytes[0] & 0xFF) << 8) | (bytes[1] & 0xFF);

 if (sign) {

 x = 0xFFFF0000 | x;


 // var i =  (bytes[0] << 8) | bytes[1];

 // var x=i&0xFFFF;

 return x/dev;


function Decoder(bytes, port) {

 // Decode an uplink message from a buffer

 // (array) of bytes to an object of fields.

 var decoded = {};

 // if (port === 1) decoded.led = bytes[0];




 decoded.bat = bytes[8];

 return decoded;


For linux permissions settings please consult:

LoRaWAN configuration may be done via USB CDC-ACM virtual com port with 115200 baudrate. Before configuration you need to switch off device and then connect to usb port of your computer. On linux it will be detected as /dev/ttyACM0 .

On Linux you may use minicom utility to configure sensor.

For windows PuTTY may be used.

We recommend Android mobile application for sensor setup and data reading/storage described in chapter 5.1.

Table 3.1.1 LoRaWAN device configuration commands


Command Response Explanation
int <val> <interval> OK Setup data sens interval in seconds
appeui <val> OK Sets Device EUI for OTAA activation.
deveui <val> OK Sets Application EUI for OTAA activation.
devkey <val> OK Sets App Key for OTAA activation.
devaddr <val> <val> OK Sets Device Address for ABP activation.
nwks <val> OK Sets Network Session Key for ABP activation.
apps <val> OK Sets App Session Key for ABP activation.
help comand list print this command list.
info config vals print this parameter setup values.
ver <version> print device type and version number



Sensors are already factory calibrated, but in case needed they may be recalibrated using USB terminal interface as described for device specific commands.

Table 3.2.1 USB device interface commands

Command Response Explanation
water OK Put sesnor in to water and issue this command
air OK Hold sesnor in air and issue this command

We recommend Android mobile application for sensor setup and data reading/storage described in chapter  5.1.


Soil Sensor USB configuration and online TTN monitoring application.

This android application allows easy to configure and monitor soil moisture sensors.

The Plantmer PM-WCS-3 family sensors is low-cost accurate moisture sensor for monitoring water content, electrical conductivity and temperature of soil.

To enable online monitoring you should:

  • Click login in application main page, to signup with your google account.
  • Attach LoRaWAN sensor to phone’s USB OTG port, wait for status USB Connected and go to soil sensor application’s settings tab.
  • Click READ to read address data from sensor.
  • Input your device’s name without white spaces and click REGISTER OTAA button, to register device to cloud.
  • Your device should appear on main tabs sensor list. Chose your sensor in list to see data from sensor.

Plantmer Soulsensor Android application receives LoRaWAN sensors data via IoT cloud application. You may login to this dashboard tool using your googles account and create nice dashboards to monitor your sensor data.

For USB sensor modification this application may be used as data logger, because it stores data readings to android flash memory and displays them to graphs. Data displayed in graphs may be copied to clipboard in CSV format and shared or saved to file.

* Online LoRaWAN sensor monitoring via TTN connected gateways.
* Setup USB and LoRaWAN Plantmer soil sensors
* Write USB and LoRaWAN sensor data to phone memory
* View data on charts and export to CSV
* See sensor [specification here] (
* Source code is [located there] (

!WARNING please remove device battery before attaching device to USB port for configuration. Leaving battery with attached USB power supply may damage battery or your device’s USB port.

!WARNING LoRaWAN device waits for 10 seconds after power up for configuration terminal software connection. After terminal connection it remains in configuration mode until terminal software is disconnected.

!WARNING device joining mode OTAA or ABP is switched automatically on configuration when you setup OTAA or ABP parameter.

Legal Notice: Branding and logo icons are property of and should not be used without our permission

Get it on Google Play

source code of mobile application is located on Github there:

Leave a Reply

Your email address will not be published. Required fields are marked *