SX-HEC20

SIGNUX HEC20

Soil moisture, conductivity and temperature probe

Direct-insertion probe that measures volumetric moisture, electrical conductivity and soil temperature. Plastic body sealed in epoxy resin with stainless steel rods, made to stay buried.

The sensor can be calibrated for different soil types, whether in research, irrigation, greenhouses, smart agriculture, among other fields.

Measures
Moisture · Conductivity · Temperature
Output
4-20 mAVoltage
Protection
IP68
Operating
-40 to +85 °C
HEC20 probe on a white background: white rectangular body with cable and three steel rods

What sets it apart

Three parameters at a single point

Moisture, conductivity, and temperature measured in the same soil volume—without the need for three separate installations or boreholes.

Waterproof, IP68

Sealed in epoxy resin with stainless steel rods. Bury it and forget it: it needs no manhole or watertight box.

Low sensitivity to salinity

The moisture reading holds up in saline soils, where ordinary capacitive probes drift.

Multiple integration options

RS485 with Modbus RTU, or analogue output as 0-2 V voltage or 4-20 mA current. No intermediate platform.

Protected against installation mistakes

Reverse-polarity protection and built-in TVS/ESD suppressors, which is what fails in the field.

Calibratable for your soil

Supports soil-specific calibration when the texture strays from the factory default.

Configurations

Cable lengthConnector / outputPart number
2 mPigtailSX-HEC20-2M-PT
2 mM10 connectorSX-HEC20-2M-M10
4 mPigtailSX-HEC20-4M-PT
4 mM10 connectorSX-HEC20-4M-M10

Specifications

General

Measured quantities
Moisture · Conductivity · Temperature
Family
Direct-insertion probe
Output
RS485 · 4-20 mA · Voltage
Rods
3 pcs

Temperature

Range
-40 to +80 °C
Resolution
0.1 °C
Accuracy
±0.5 °C

Soil moisture

Measuring principle
FDRFrequency-domain reflectometry
Range L
0-50 / 0-100 %Depending on the ordered configuration
Resolution
0.03 %In the 0-50 % section
Range H
0-100 %Depending on the ordered configuration
Resolution
1 %In the 50-100 % section
Accuracy
±2 %In the 0-50 % section
±3 %In the 50-100 % section

Electrical conductivity EC

Measuring principle
AC excitation
Range
0-5000 / 0-10000 / 0-20000 µS/cmDepending on the ordered configuration
Resolution
10 µS/cmUp to 10,000 µS/cm
50 µS/cmFrom 10,000 to 20,000 µS/cm
Accuracy
±3 %Up to 10,000 µS/cm
±5 %From 10,000 to 20,000 µS/cm
Temperature compensation
0-50 °C

Output and power

Output interface
RS485 Modbus RTU / 0-2 V / 4-20 mADepending on the ordered configuration
Power supply
3.9-30 VDCRS485 or voltage output
12-30 VDCRequired with 4-20 mA output
Consumption
6 mAAt 12 V DC, RS485 or voltage output
10 mAAt 12 V DC, 4-20 mA output
Protocol
Modbus RTUFunctions 3, 4, 6 and 16
Factory defaults
9600 8N1, address 1Recoverable via the SET wire if lost

Construction

Protection rating
IP68
Operating temperature
-40 to +85 °C
Rods
Stainless steel
Sealing
Epoxy resin
Installation
Surface or buried
Cable length
2 mOther lengths on request
Dimensions
88 × 26 × 71 mm18 mm tall body and 53 mm rods, per the dimensioned drawing

Manual

1Introduction

The SX-HEC20 measures soil moisture content, electrical conductivity (EC) and temperature. It has a resin-sealed plastic body and sensing rods that can be inserted directly into the soil, offering long-term stability. The soil moisture output signal can be RS485, analogue voltage or analogue current. It can also be calibrated for specific soil types.

The sensor is suitable for scientific research, irrigation, greenhouses, smart agriculture, among other applications.

  • •Integrated soil moisture, electrical conductivity (EC) and temperature measurements
  • •Output interface: RS485, voltage and current
  • •Low sensitivity to salinity
  • •Minimal soil disturbance
  • •IP68 protection rating (waterproof); suitable for direct burial in soil
  • •High accuracy and excellent stability
  • •Reverse-polarity protection and built-in TVS/ESD protection

Specifications

Output InterfaceAnalog VoltageAnalog Current 4-20mARS485 Modbus
Power Supply3.9-30 VDC12-30 VDC3.9-30 VDC
Consumption6mA@12 VDC10mA@12 VDC6mA@12 VDC
Soil Moisture MeasurementRange:0-50%,0-100% Resolution:0-50%:0.03%,50-100%:1% Accuracy:0-50%:2%,50-100%:3%
EC MeasurementRange: 0-5000µS/cm, 10000µS/cm, 20000µS/cm Resolution: 0-10000µS/cm, 10µS/cm; 10000-20000µS/cm, 50µS/cm Accuracy: 0-10000µS/cm, ±3%; 10000-20000µS/cm, ±5% EC temperature compensation: 0-50°C
Temperature MeasurementRange: -40~80°C Resolution:0.1°C Accuracy:±0.5°C
Measurement TechniqueMoisture by FDR and EC by AC excitation
IP RatingIP68
Operating Temperature-40~85°C
Sensor RodStainless steel
Sensor SealingEpoxy resin
InstallationSurface or buried installation
Cable Length2 metres or custom
Dimensions88*26*71mm
Uses of soil moisture measurement: soil texture and water retention curves, crop maps, irrigation and greenhouse, with the HEC20 probe in a plant pot

2Wiring diagram

TypeWiring diagram
Analog Voltage OutputRed (V+): Power Supply + Black (G): Power Supply - Blue (O1): Analog Output (set at the factory to VWC, EC or Temperature) Brown (O2): Analog Output (set at the factory to VWC, EC or Temperature)
SIGNUX HEC20 0–2 V output wiring: red and black to a 3.9 to 30 V DC supply, blue and brown to two analogue inputs.
Analog Current OutputRed (V+): Power Supply + Black (G): Power Supply - Blue (O1): Analog Output (set at the factory to VWC, EC or Temperature) Brown (O2): Analog Output (set at the factory to VWC, EC or Temperature)
SIGNUX HEC20 4–20 mA output wiring: red and black to a 12 to 30 V DC supply, blue and brown to two analogue inputs.
RS485 ModbusRed (V+): Power Supply + Black (G): Power Supply - Yellow (T+): RS485+/A/T+ White (T-): RS485-/B/T- Green (SET):
SETTING mode. If the sensor is powered up with the SET wire connected to Power Supply +, it uses the setting-mode communication parameters for RS485. If it is powered up with the SET wire connected to Power Supply − or left unconnected, it uses the communication parameters stored in its registers. See the usage below.
SIGNUX HEC20 RS485 wiring: red and black to the supply, yellow to A and white to B on the Modbus master; the green (SET) wire is left loose in normal use.
All RS485 communication parameters (Modbus slave address, baudrate, parity, databits, stopbits) are set in internal registers and kept when the power is off. Factory settings: ADDRESS=1, BAUDRATE=9600bps, PARITY=NONE, DATABITS=8bits, STOPBITS=1bit. If you forget the communication settings, connect the GREEN and RED wires together to Power Supply +, the black wire to Power Supply −, and power the sensor off and on again. It then starts with fixed communication settings (setting mode): ADDRESS=0, BAUDRATE=9600bps, PARITY=NONE, DATABITS=8bits, STOPBITS=1bit. Communicate with the sensor using these parameters and set the ones you want, then disconnect the green wire from Power Supply + and power the sensor off and on again: it will communicate with your settings.

3Dimensions and ordering information

3.1Dimensions

Dimensioned drawing of the HEC20: 88 × 26 × 18 mm body, 6 mm connector and three 53 mm rods

3.2Ordering Information

ParametersCodeComments
Code 1: Product SeriesSX-HEC20Soil Moisture, EC, Temperature Sensor
Code 2: Measuring parametersA B CSoil Moisture, EC, Temperature (Supported Output Interface: RS485) Soil Moisture, EC (Supported Output Interface: RS485 and Analog Voltage, Analog Current) EC, Temperature (Supported Output Interface: RS485 and Analog Voltage, Analog Current)
Code 3: Moisture RangeA B0-50% 0-100%
Code 4: EC RangeA B C0-5000µS/cm 0-10000µS/cm 0-20000µS/cm
Code 5: Power SupplyA B D3.9-30 VDC (not applicable for 4-20mA output) 12-30 VDC (applicable for 4-20mA output) Custom
Code 6: Output InterfaceA B C D EAnalog Voltage 0-2V Analog Current 4-20mA (Power Supply >12 VDC) RS485,Modbus-RTU RS485,Modbus-RTU & Analog Voltage 0-2V RS485,Modbus-RTU & Analog Current 4-20mA (Power Supply >12 VDC)
Code 7: Cable Length002 XXX2 metres XXX is the required cable length, in metres
Ordering Code Example: SX-HEC20 - A B C A C 002
Product Series: SX-HEC20 Soil Moisture, EC, Temperature Sensor;
Measuring Parameters: Soil Moisture, EC, Temperature;
Moisture Range: 0-100%;
EC Range: 0-20000µS/cm;
Power Supply: 3.9-30 VDC;
Output Interface: RS485, Modbus-RTU;
Cable Length: 2 metres;

4Safety, care and installation

4.1Safety and care

  • •The sensor rods are sharp to make insertion easier. Care must be taken and handling precautions followed.
  • •Avoid touching the rods or exposing them to other sources of static damage, particularly when powered up.
  • •Do not pull the sensor out of the soil by its cable.
  • •If you feel any resistance when inserting the sensor into soil, it is likely you have encountered a stone. Stop pushing and re-insert at a new location.

4.2Installation

  • •Surface installation Clear away any stones. Pre-form holes in very hard soils before insertion.
  • •Push the sensor into the soil until the rods are fully inserted. Ensure good soil contact.
  • •If you feel strong resistance when inserting the sensor, you have probably hit a stone. Stop, and re-insert at a new location.
  • Note: The sensor is suitable for soil surface temperature measurements.
  • Installing at depth
  • •Make a 45 mm diameter hole with an auger, preferably at about 10° to the vertical.
  • •Push the sensor into the soil until rods are fully inserted. Ensure good soil contact.
  • •Fill and repack the hole with soil.
  • Alternatively
  • •Dig a trench, and install horizontally.

5Output signal conversion

Output InterfaceParameters RangeConversion Formula
Analog Voltage Output 0-2VTemperature: -40-80°CTEMP=60.0* VOLTAGE-40. When VOLTAGE=1.0V,then TEMP=60.0* 1.0-40=20.00°C
VWC: 0-50%VWC=25*VOLTAGE. When VOLTAGE=0.3V,then VWC=25*0.3=7.5%
VWC: 0-100%VWC =50* VOLTAGE. When VOLTAGE=0.3V,then VWC =50*0.3=15%
EC: 0-5000µS/cmEC=2500*VOLTAGE. When VOLTAGE=0.3V,then EC=2500*0.3=750µS/cm.
EC: 0-10000µS/cmEC =5000* VOLTAGE. When VOLTAGE=0.3V,then EC=5000*0.3=1500µS/cm
EC: 0-20000µS/cmEC =10000* VOLTAGE. When VOLTAGE=0.3V,then EC=10000*0.3=3000µS/cm.
Analog Current Output 4-20mATemperature: -40-80°CTEMP=7.5*CURRENT-70. When CURRENT=10mA, then TEMP=7.5*10-70=5.00°C.
VWC: 0-50%VWC= 3.125 *( CURRENT -4). When CURRENT=6.4mA, then VWC= 3.125*(6.4-4)=7.50%
VWC: 0-100%VWC = 6.25 *( CURRENT -4). When CURRENT=6.4mA, then VWC=6.25*(6.4-4)=15%
EC: 0-5000µS/cmEC = 312.50 *( CURRENT -4). When CURRENT=6.4mA, then EC= 312.50*(6.4-4)=750µS/cm
EC: 0-10000µS/cmEC = 625 *( CURRENT -4). When CURRENT=6.4mA, then EC=625*(6.4-4)=1500µS/cm
EC: 0-20000µS/cmEC = 1250 *( CURRENT -4). When CURRENT=6.4mA, then EC=1250*(6.4-4)=3000µS/cm
RS485 Modbus-RTUTemperature: -40-80°CTEMP=(REGISTER VALUE)/100. When REGISTERVALUE=2013, then TEMP= 2013/100=20.13°C.
VWC for all rangesVWC=(REGISTER VALUE)/100. When REGISTERVALUE=2013, then VWC= 2013/100=20.13%.
EC for all rangesEC=(REGISTER VALUE). When REGISTERVALUE=1568, then EC= 1568µS/cm.
CustomContact support for customized sensor interface

NOTE: The unit of VOLTAGE is (V), The unit of CURRENT is (mA).

NOTE: VWC is Volumetric Water Content, EC is Electrical Conductivity.

6RS485 Modbus protocol

6.1Modbus protocol

  • Modbus Protocol is widely used to establish master-slave communication between intelligent devices or sensors. A MODBUS message sent from a master to a slave contains the address of the slave, the function code (e.g. 'read register’ or 'write register’), the data, and a check sum (LRC or CRC).
  • The sensor has an RS485 interface with Modbus protocol. The default serial settings are slave address 1, Modbus RTU, 9600 bps, 8 data bits and 1 stop bit. All communication settings can be changed with Modbus commands and take effect after the sensor is powered off and on again.
  • The sensor supports the following Modbus function codes.
  • •Modbus function code 0x03: reading holding registers.
  • •Modbus function code 0x04: reading input registers.
  • •Modbus function code 0x06: writing a single holding register.
  • •Modbus function code 0x10: writing multiple holding registers.

6.2Modbus registers

ParametersRegister Addr. (HEX/DEC)Data TypeModbus Function Code(DEC)Range and CommentsDefault Value
TEMPERATURE0x0000/0INT16 RO3/4-4000-8000 for -40.00~80.00°CN/A
VWC-Volumetric Water Content0x0001/1UINT16 RO3/40-10000 for 0-100%N/A
EC-Electrical Conductivity0x0002/2UINT16 RO3/40-20000 for 0-20000µS/cmN/A
SALINITY0x0003/3UINT16 RO3/40-20000 for 0-20000mg/LN/A
TDS0x0004/4UINT16 RO3/40-20000 for 0-20000mg/LN/A
EPSILON0x0005/5UINT16 RO3/40-30000 for 0.00-300.00N/A
RESERVED0x0006/6UINT16 RO3/4N/A0
VWC_RAWAD0x0007/7UINT16 RO3/40-4096 for 0-4096N/A
RESERVED0x0008/8UINT16 RO3/4N/A0
POREEC0x0009/9UINT16 RO3/40-32000 for 0-32000µS/cmN/A
SOILTYPE0x0020/32UINT16 R/W3/6/160-5 0:Mineral 1:Sand 2:Clay 3:Organic 4:User Defined Curve 5:Soilless(Rockwool, etc)0:Mineral
TEMPUNIT0x0021/33UINT16 R/W3/6/160:°C 1:°F0
ECTEMPCOFF0x0022/34UINT16 R/W3/6/160-100 for 0.0%-10.0%20(2%)
SALINITYCOFF0x0023/35UINT16 R/W3/6/160-100 for 0.00-1.0055(0.55)
TDSCOFF0x0024/36UINT16 R/W3/6/160-100 for 0.00-1.0050(0.5)
MEASURE METHOD0x0025/37UINT16 R/W3/6/160: Continuous Meas. 1: Request Meas.1
EPSILON OFFSET0x0026/38UINT16 R/W3/6/16Epsilon Value when Substrate VWC is 0% 0-200 for 0-20.0058(5.8)
SLAVEADDRESS0x0200/512UINT16 R/W3/6/160-2551
BAUDRATE0x0201/513UINT16 R/W3/6/160-6 0:1200bps 1:2400bps 2:4800bps 3:9600bps 4:19200bps 5:38400bps3:9600bps
PROTOCOL0x0202/514UINT16 R/W3/6/160-1 0:Modbus RTU 1: Modbus ASCII0:Modbus RTU
PARITY0x0203/515UINT16 R/W3/6/160-2 0:None 1:Even 2:Odd0:None Parity
DATABITS0x0204/516UINT16 R/W3/6/161 1:8 databits1:8 databits
STOPBITS0x0205/517UINT16 R/W3/6/160-1 0:1 stopbit 1:2 stopbits0:1 stopbit
RESPONSE DELAY0x0206/518UINT16 R/W3/6/160-255 for 0-2550 milliseconds0
ACTIVEOUTPUT INTERVAL0x0207/519UINT16 R/W3/6/160-255 for 0-255 seconds0

4-byte floating point WITH THE LOW WORD FIRST (CDAB order). Despite the «FLOAT» name, they are NOT standard IEEE 754: for that, use the 0x1100 block below.

ParametersRegister Addr. (HEX/DEC)Data TypeModbus Function Code(DEC)Range and CommentsDefault Value
TEMPERATURE FLOAT0x1000/4096FLOAT RO3/4-40.00-80.00 (°C)N/A
VWC_FLOAT0x1002/4098FLOAT RO3/40.00-100.00 (%)N/A
EC_FLOAT0x1004/4100FLOAT RO3/40-20000 (µS/cm)N/A
SALINITY FLOAT0x1006/4102FLOAT RO3/40-20000(mg/L)N/A
TDS_FLOAT0x1008/4104FLOAT RO3/40-20000(mg/L)N/A
EPSILON FLOAT0x100A/4106FLOAT RO3/40.00-300.00N/A
RESERVED FLOAT0x100C/4108FLOAT RO3/4RESERVED0
VWC_RAWAD FLOAT0x100E/4110FLOAT RO3/40.00-4096.00N/A
RESERVED FLOAT0x1010/4112FLOAT RO3/4RESERVED0
POREEC FLOAT0x1012/4114FLOAT RO3/40-32000 (µS/cm)N/A
RESERVED FLOAT0x1014/4116FLOAT RO3/4RESERVED0
RESERVED FLOAT0x1016/4118FLOAT RO3/4RESERVED0
RESERVED FLOAT0x1018/4120FLOAT RO3/4RESERVED0
RESERVED FLOAT0x101A/4122FLOAT RO3/4RESERVED0
RESERVED FLOAT0x101C/4124FLOAT RO3/4RESERVED0
RESERVED FLOAT0x101E/4126FLOAT RO3/4RESERVED0

4-byte floating point in STANDARD IEEE 754 (ABCD order). Despite the «FLOAT INVERSE» name, these are the ones a PLC or a gateway expects.

ParametersRegister Addr. (HEX/DEC)Data TypeModbus Function Code(DEC)Range and CommentsDefault Value
TEMPERATURE FLOAT_INVERSE0x1100/4352FLOAT_INVERSE RO3/4-40.00-80.00 (°C)N/A
VWC_FLOAT_INVERSE0x1102/4354FLOAT_INVERSE RO3/40.00-100.00 (%)N/A
EC_FLOAT_INVERSE0x1104/4356FLOAT_INVERSE RO3/40-20000 (µS/cm)N/A
SALINITY FLOAT_INVERSE0x1106/4358FLOAT_INVERSE RO3/40-20000(mg/L)N/A
TDS_FLOAT_INVERSE0x1108/4360FLOAT_INVERSE RO3/40-20000(mg/L)N/A
EPSILON FLOAT_INVERSE0x110A/4362FLOAT_INVERSE RO3/40.00-300.00N/A
RESERVED FLOAT_INVERSE0x110C/4364FLOAT_INVERSE RO3/4RESERVED0
VWC_RAWAD FLOAT_INVERSE0x110E/4366FLOAT_INVERSE RO3/40.00-4096.00N/A
RESERVED FLOAT_INVERSE0x1110/4368FLOAT_INVERSE RO3/4RESERVED0
POREEC FLOAT_INVERSE0x1112/4370FLOAT_INVERSE RO3/40-32000 (µS/cm)N/A
RESERVED FLOAT_INVERSE0x1114/4372FLOAT_INVERSE RO3/4RESERVED0
RESERVED FLOAT_INVERSE0x1116/4374FLOAT_INVERSE RO3/4RESERVED0
RESERVED FLOAT_INVERSE0x1118/4376FLOAT_INVERSE RO3/4RESERVED0
RESERVED FLOAT_INVERSE0x111A/4378FLOAT_INVERSE RO3/4RESERVED0
RESERVED FLOAT_INVERSE0x111C/4380FLOAT_INVERSE RO3/4RESERVED0
RESERVED FLOAT_INVERSE0x111E/4382FLOAT_INVERSE RO3/4RESERVED0

The following registers hold the same values as registers 0x0000-0x0009, only in a different order.

ParametersRegister Addr. (HEX/DEC)Data TypeModbus Function Code(DEC)Range and CommentsDefault Value
TEMPERATURE0x1200/4608INT16 RO3/4-4000-8000 for -40.00~80.00°CN/A
VWC0x1201/4609UINT16 RO3/40-10000 for 0-100%N/A
EC0x1202/4610UINT16 RO3/40-20000 for 0-20000µS/cmN/A
POREEC0x1203/4611UINT16 RO3/40-32000 for 0-32000µS/cmN/A
EPSILON0x1204/4612UINT16 RO3/40-30000 for 0.00~300.00N/A
SALINITY0x1205/4613UINT16 RO3/40-20000 for 0-20000mg/LN/A
TDS0x1206/4614UINT16 RO3/40-20000 for 0-20000mg/LN/A
RESERVED0x1207/4615UINT16 RO3/4N/A0
VWC_RAWAD0x1208/4616UINT16 RO3/40-4096 for 0-4096N/A
RESERVED0x1209/4617UINT16 RO3/4N/A0
  • UINT16:16 bit unsigned integer
  • INT16:16bit signed integer
  • RO: Register is Read Only
  • R/W: Register is Read/Write
  • HEX: Hexadecimal (data with 0x/0X prefix)
  • DEC: Decimal
  • FLOAT: If IEEE754 little-endian byte order is [A,B,C,D], the FLOAT format is [B,A,D,C]
  • FLOAT_INVERSE: If IEEE754 little-endian byte order is [A,B,C,D], the FLOAT_INVERSE format is [D,C,B,A]

6.3Detailed description of Modbus registers

TEMPERATURE — Temperature Value
Data Range-4000-8000 For -40.00~80.00(°C)Default: N/A
Parameter StorageN/A
  • Note: Temperature value (Binary complement).
  • Example: When REGISTER = 0x0702 (HEX format), then
  • VALUE=(0x07*256+0x02)/100=17.94°C. When REGISTER=FF05H (HEX format), then
  • VALUE=((0xFF*256+0x05)-0xFFFF-0x01)/100 =(0xFF05-0xFFFF-0x01)/100=-2.51°C.
TEMPERATURE_FLOAT — Temperature Value, FLOAT Format TEMPERATURE_FLOAT_INVERSE — Temperature Value, FLOAT_INVERSE Format
Data Range-40.00-80.00Default: N/A
Parameter StorageN/A
VWC — Volumetric Water Content
Data Range0-10000 For 0-100%Default: N/A
Parameter StorageN/A
  • Note: Volumetric Water Content value.
  • Example: When REGISTER = 0x0702 (HEX format), then VALUE=(0x07*256+0x02)/100=17.94%
VWC_FLOAT — Volumetric Water Content, FLOAT Format VWC_FLOAT_INVERSE — Volumetric Water Content, FLOAT_INVERSE Format
Data Range0.00-100.00 (%)Default: N/A
Parameter StorageN/A
  • Note: Volumetric Water Content value.
EC — Electrical Conductivity
Data Range0-20000 For 0-20000 (µS/cm)Default: N/A
Parameter StorageN/A
  • Note: Electrical Conductivity.
  • Example: When REGISTER = 0x0702 (HEX format), then VALUE=(0x07*256+0x02)=1794µS/cm
EC_FLOAT — Electrical Conductivity, FLOAT Format EC_FLOAT_INVERSE — Electrical Conductivity, FLOAT_INVERSE Format
Data Range0-20000 (µS/cm)Default: N/A
Parameter StorageN/A
  • Note: Electrical Conductivity.
SALINITY — Salinity
Data Range0-20000 For 0-20000 (mg/L)Default: N/A
Parameter StorageN/A
  • Note: Salinity
  • Example: When REGISTER = 0x0702 (HEX format), then VALUE=(0x07*256+0x02)=1794mg/L.
  • Salinity is derived from EC: SALINITY=EC*SALINITYCOFF, where SALINITYCOFF is a coefficient (see SALINITYCOFF).
SALINITY_FLOAT — Salinity, FLOAT Format SALINITY_FLOAT_INVERSE — Salinity, FLOAT_INVERSE Format
Data Range0-20000 (mg/L)Default: N/A
Parameter StorageN/A
  • Note: Salinity
TDS — Total Dissolved Solids
Data Range0-20000 For 0-20000 (mg/L)Default: N/A
Parameter StorageN/A
  • Note: Total Dissolved Solids
  • Example: When REGISTER = 0x0702 (HEX format), then VALUE=(0x07*256+0x02)=1794mg/L.
  • TDS is derived from EC: TDS=EC*TDSCOFF, where TDSCOFF is a coefficient (see TDSCOFF).
TDS_FLOAT — Total Dissolved Solids, FLOAT Format TDS_FLOAT_INVERSE — Total Dissolved Solids, FLOAT_INVERSE Format
Data Range0-20000 (mg/L)Default: N/A
Parameter StorageN/A
  • Note: Total Dissolved Solids
EPSILON — Epsilon
Data Range0-30000 for 0.00-300.00Default: N/A
Parameter StorageN/A
  • Note: Epsilon
  • Example: When REGISTER = 0x0702 (HEX format), then VALUE=(0x07*256+0x02)/100=17.94.
  • VWC is derived from EPSILON (VWC is a function of EPSILON). This value is used for self-calibration.
EPSILON_FLOAT — Epsilon, FLOAT Format EPSILON_FLOAT_INVERSE — Epsilon, FLOAT_INVERSE Format
Data Range0.00-300.00Default: N/A
Parameter StorageN/A
  • Note: Epsilon
VWC_RAWAD — VWC Raw AD
Data Range0-4096 for 0-4096Default: N/A
Parameter StorageN/A
  • Note: Water Content Raw AD value
VWC_RAWAD_FLOAT — VWC Raw AD, FLOAT Format VWC_RAWAD_FLOAT_INVERSE — VWC Raw AD, FLOAT_INVERSE Format
Data Range0-4096.00Default: N/A
Parameter StorageN/A
  • Note: Water Content Raw AD value
POREEC — Pore EC
Data Range0-32000 (µS/cm)Default: N/A
Parameter StorageN/A
  • Note: Pore EC
POREEC_FLOAT — Pore EC, FLOAT Format POREEC_FLOAT_INVERSE — Pore EC, FLOAT_INVERSE Format
Data Range0-32000 (µS/cm)Default: N/A
Parameter StorageN/A
  • Note: Pore EC
SOILTYPE — Soil Type
Data Range0-5 0:Mineral 1:Sand 2:Clay 3:Organic 4:User Defined Curve 5:Soilless(Rockwool, etc)Default: 0:Mineral
Parameter StorageYES
  • Note: Soil Type.
TEMPUNIT — Temperature Unit
Data Range0:°C 1:°FDefault: 0
Parameter StorageYES
  • Note: Temperature Unit.
ECTEMPCOFF — EC Temperature Compensation Coefficient
Data Range0-100 for 0.0%-10.0%Default: 20(2%)
Parameter StorageYES
  • Note: EC Temperature Compensation Coefficient
SALINITYCOFF — Salinity Coefficient
Data Range0-100 for 0.00-1.00Default: 55(0.55)
Parameter StorageYES
  • Note: Salinity Coefficient.
TDSCOFF — TDS Coefficient
Data Range0-100 for 0.00-1.00Default: 50(0.50)
Parameter StorageYES
  • Note: TDS Coefficient.
MEASUREMETHOD — Measure Method
Data Range0: Continuous 1: RequestDefault: 1
Parameter StorageYES
  • Note: In Continuous mode, the sensor keeps converting VWC, EC and temperature and updating its internal data, so it is always ready to be read. In Request mode, it converts the VWC, EC and temperature data when it receives the data request command from the master.
EPSILON_OFFSET — Epsilon Offset
Data Range0-200 for 0-20.00Default: 58(5.8)
Parameter StorageYES
  • Note: Epsilon Value when Substrate VWC is 0%
SLAVEADDRESS — Serial Comm Slave Address
Data Range0-255Default: 1
Parameter StorageYES
  • Note: power the sensor off and on again for the new setting to take effect.
BAUDRATE — Serial Comm Baudrate
Data Range0-5 0:1200bps 1:2400bps 2:4800bps 3:9600bps 4:19200bps 5:38400bpsDefault: 3
Parameter StorageYES
  • Note: power the sensor off and on again for the new setting to take effect.
PROTOCOL — Serial Comm Protocol
Data Range0-1 0:Modbus RTU 1: Modbus ASCIIDefault: 0
Parameter StorageYES
  • Note: power the sensor off and on again for the new setting to take effect.
PARITY — Serial Comm Parity
Data Range0-2 0:NONE 1:EVEN 2:ODDDefault: 0
Parameter StorageYES
  • Note: power the sensor off and on again for the new setting to take effect.
DATABITS — Serial Comm Databits
Data Range1:8 databitsDefault: 1
Parameter StorageYES
  • Note: power the sensor off and on again for the new setting to take effect.
STOPBITS — Serial Comm Stopbits
Data Range0-1 0:1 stopbit 1:2 stopbitsDefault: 0
Parameter StorageYES
  • Note: power the sensor off and on again for the new setting to take effect.
RESPONSEDELAY — Serial Comm Response Delay
Data Range0-255 for 0-2550 milliseconds, 0 for disabledDefault: 0
Parameter StorageYES
  • Note: power the sensor off and on again for the new setting to take effect.
  • Note: The sensor waits this delay before answering a request from the master.
  • Example: when set to 5, the sensor waits 5*10ms=50ms before answering.
ACTIVEOUTPUTINTERVAL — Serial Comm Active Output Interval time
Data Range0-255 for 0-255 seconds, 0 for disabled
Parameter StorageYES
  • Note: power the sensor off and on again for the new setting to take effect.
  • Note: The sensor sends its data on its own, without any request from the master.
  • Note: Only ONE sensor may be on the RS485 bus in this mode, otherwise the data will collide and be corrupted.
  • Note: Refer to SETTING mode to exit the Active Output Mode.
  • Example: when set to 5, the sensor sends its data every 5 seconds without any request from the master.

6.4Modbus function codes

In the descriptions below, values starting with 0X/0x are hexadecimal.

6.4.1Function Code 3 Protocol Example

Master Request:AA 03 RRRR NNNN CCCC

AA1 byteSlave Address, 0-255
0x031 byteFunction Code 3
RRRR2 byteStarting Register Addr
NNNN2 byteQuantity of Register to read
CCCC2 byteCRC CHECKSUM

Slave Response:AA 03 MM VV0 VV1 VV2 VV3... CCCC

AA1 byteSlave Address, 0-255
0x031 byteFunction Code 3
MM1 byteRegister Data Byte Count
VV0,VV12 byteRegister Value (High8bits first)
VV2,VV32 byteRegister Value (High8bits first)
.........
CCCC2 byteCRC CHECKSUM
Example: read registers 0x0200-0x0201, i.e. the slave address and baudrate.

Master Request:01 03 0200 0002 C5B3

Slave Addr.1 byte0x01
Function Code1 byte0x03
Starting Register Addr.2 byte0x0200
Quantity of Register to read2 byte0x0002
Checksum2 byte0xC5B3

Slave Response:01 03 04 00 01 00 03 EB F2

Slave Addr.1 byte0x01
Function Code1 byte0x03
Register Data Byte Count1 byte0x04
Register Value: Address2 byte0x00 (HIGH 8 Bits) 0x01 (LOW 8 Bits)
Register Value: Baudrate2 byte0x00 (HIGH 8 Bits) 0x03 (LOW 8 Bits)
Checksum2 byte0xEB F2

6.4.2Function code 4 – protocol example

Master Request:AA 04 RRRR NNNN CCCC

AA1 byteSlave Address, 0-255
0x041 byteFunction Code 4
RRRR2 byteStarting Register Addr
NNNN2 byteQuantity of Register to read
CCCC2 byteCRC CHECKSUM

Slave Response:AA 04 MM VV0 VV1 VV2 VV3... CCCC

AA1 byteSlave Address, 0-255
0x041 byteFunction Code 4
MM1 byteRegister Data Byte Count
VV0,VV12 byteRegister Value (High8bits first)
VV2,VV32 byteRegister Value (High8bits first)
.........
CCCC2 byteCRC CHECKSUM
Example: read registers 0x0000-0x0002, i.e. temperature, soil moisture and EC.

Master Request:01 04 0000 0003 B00B

Slave Addr.1 byte0x01
Function Code1 byte0x04
Starting Register Addr.2 byte0x0000
Quantity of Register to read2 byte0x0003
Checksum2 byte0xB00B

Slave Response:01 04 06 08 90 0E 93 02 4E D2 57

Slave Addr.1 byte0x01
Function Code1 byte0x04
Register Data Byte Count1 byte0x06
Register Value: Temperature2 byte0x08 90
Register Value: Soil Moisture2 byte0x0E 93
Register Value: EC2 byte0x02 4E
Checksum2 byte0xD2 57

Temperature = (0x08*256+0x90)/100 = 2192/100 = 21.92 °C Soil Moisture = (0x0E*256+0x93)/100 = 3731/100 = 37.31% EC = 0x02*256+0x4E = 2*256+78 = 590 µS/cm

6.4.3Function code 6 – protocol example

Master Request:AA 06 RRRR VVVV CCCC

AA1 byteSlave Address, 0-255
0x061 byteFunction Code 6
RRRR2 byteRegister Addr (High8bits first)
VVVV2 byteRegister Value (High8bits first)
CCCC2 byteCRC CHECKSUM

Slave Response:AA 06 RRRR VVVV CCCC

AA1 byteSlave Address, 0-255
0x061 byteFunction Code 6
RRRR2 byteRegister Addr (High8bits first)
VVVV2 byteRegister Value (High8bits first)
CCCC2 byteCRC CHECKSUM
Example: write register 0x0021 to set the temperature unit to °F.

Master Request:01 06 0021 0001 1800

Slave Addr.1 byte0x01
Function Code1 byte0x06
Register Addr.2 byte0x0021 (High8bits first)
Register Value2 byte0x0001 (High8bits first)
Checksum2 byte0x1800

Response:01 06 0021 0001 1800

Slave Addr.1 byte0x01
Function Code1 byte0x06
Register Addr.2 byte0x0021 (High8bits first)
Register Value2 byte0x0001 (High8bits first)
Checksum2 byte0x1800

6.4.4Function code 16 – protocol example

Master Request:AA 10 RRRR NNNN MM VVVV1 VVVV2 ...CCCC

AA1 byteSlave Address, 0-255
0x101 byteFunction Code 0x10
RRRR2 byteStarting Register Addr
NNNN2 byteQuantity of Register to write
MM1 byteRegister Data Byte Count
VVVV12 byteRegister Value (High8bits first)
VVVV22 byteRegister Value (High8bits first)
.........
CCCC2 byteCRC CHECKSUM

Slave Response:AA 10 RRRR NNNN CCCC

AA1 byteSlave Address, 0-255
0x101 byteFunction Code 0x10
RRRR2 byteStarting Register Addr
NNNN2 byteQuantity of Register to write
CCCC2 byteCRC CHECKSUM
Example: write registers 0x0200-0x0201 to set the slave address to 1 and the baudrate to 19200bps.

Master Request:01 10 0200 0002 04 0001 0004 BACC

Slave Addr.1 byte0x01
Function Code 0x101 byte0x10 (HEX)
Starting Register Addr2 byte0x0200 (High8bits first)
Quantity of Register to write2 byte0x0002 (High8bits first)
Register Data Byte Count1 byte0x04
Register Value: Slave Address2 byte0x0001
Register Value: Baudrate2 byte0x0004
Checksum2 byte0xBACC

Slave Response:01 10 0200 0002 4070

Slave Addr.1 byte0x01
Function Code 0x101 byte0x10
Starting Register Addr2 byte0x0200 (High8bits first)
Quantity of Register to write2 byte0x0002 (High8bits first)
Checksum2 byte0x4070

Gallery

The SX-HEC20 soil moisture sensor
Installed in the ground
Dimensions in millimetres
Wiring for the 4-20 mA current output
Wiring for the 0-2 V voltage output
Wiring for RS-485 Modbus
Where soil moisture measurement is used

Documentation

Does it fit your case?

Tell us where the SX-HEC20 is going and what you need to integrate it with. We’ll tell you whether it’s the right device — and if not, which one is.

See the catalogue