WeatherDuino Soil / Leaf Interface


The WeatherDuino Soil / Leaf Interface was designed for users who want to have data from Soil moisture and/or Leaf Wetness sensors, as well as Soil Temperature. It allows the use of up to four Soil Moisture and/or Leaf Wetness sensors and four Soil Temperature sensors.
It works connected to any existing Transmitter unit with a pcb v3.xx onwards. There is no need for any extra power supply, as the sensors and board are powered from the Transmitter power supply.

Generically the WeatherDuino Soil / Leaf Interface is composed by an I²C to 1-Wire® bridge chip, and a four channel 12 bit analogue to digital converter (Texas Instruments ADS1015).
Communication between the Soil / Leaf interface and the Transmitter unit is done by using I²C protocol. Due to the existence of special I²C range extender chips at both ends of the connections, the cable between both units can reach considerable lengths (30 meters or more).
For cables lengths up to 8 meters the default configuration works perfectly. For greater cable lengths, the value of four pull-up resistors (two on the Transmitter board, two on the Soil / Leaf interface) should be calculated for every single case. To calculate the value of these resistors, please refer to this document, starting at page 8:
Always use Cat5 cables and make sure you have GND / SDA in one twisted pair and Vcc / SCL in another twisted pair.


Theoretically, since you know the minimum and maximum output voltage (shouldn't be more than 5V) of a sensor, and if it correlates linearly to VWC (Volumetric Water Content) you could use any “sensor” you wish, however in practice, things aren't so easy. Cheap sensors rarely have an output voltage that is linear with VWC. However, if you know the curve response, you can modify the software and use them too!

For Soil Moisture readings, we recommend the use of the Vegetronix VH400 sensor. The voltage output of this sensor also isn't linear with VWC, but being an sensor from a reputable brand, its curve response is available from the manufacturer. Based on that information, we have implemented in software the required calculations to get reliable and accurate readings from this sensor.

For Soil and Leaf temperatures, any DS18B20 or DS18S20 1-wire sensors can be used. They are cheap, and can easily be found with waterproof encapsulation suitable to be used in the soil.

This device is intended for experienced WeatherDuino users.
Users without a good knowledge about how the WeatherDuino system works, namely about how the sensors mapping schema works, may have some difficulties correctly configuring the software.

Soil Moisture / Leaf Wetness Sensors

  • Up to four analogue Soil Moisture / Leaf Wetness sensors.

e.g. 2 Soil Moisture and 2 Leaf Wetness, or 3 Soil Moisture and 1 Leaf Wetness. Usage definition is done in the software.

Supported Models

Soil Moisture: Vegetronix VH400

Leaf Wetness: Decagon Leaf Sensor (current name is METER PHYTOS 31)

Temperature sensors:

  • Up to four 1-Wire Dallas temperature sensors (DS18B20 or DS18S20).

e.g. Four sensors for Soil Temperature or three for Soil and one for Leaf Temperatures. Usage definition is done in the software.

User Instructions

For using the Soil/Leaf Interface it is recommend to install the P82B715 chip on the TX board.
Its recommended to connect the Soil/Leaf Interface to the LSCL and LSDA lines on the TX board (active only when the P82B715 chip is installed), however, it will also work if connected to the regular SCL and SDA lines, but in this case the cables should be very short.
If the cables between the your Soil/Leaf Interface and the TX unit don't exceed seven to eight meters you can safely leave R1 and R2 empty, and just install R9 and R10 on the TX board (v3.12), 4.7K is a good value for cables up to eight meters.

If you plan to use the Soil / Leaf Interface, when you start to assemble your Transmitter board don't install R9 and R10 until you know the cable length that you are going to use. The value of these resistors will depend on the length of the cable.

Example: If you need a 20 meter long cable, use UTP (STP, FTP, SFTP) Cat5E cable, and for the resistors, use the values shown in the picture below (documentation - Fig 9.), i.e. 4.7 kΩ for R8 and R9 on the TX board, and 470 Ω for R1 and R2 on the Soil / Leaf interface.

i2c pull-up resistors calculation

The Soil / Leaf interface can be installed in the same box as an existing Transmitter unit, although it makes more sense to place it in a separate small waterproof box (e.g. junction box) near the point where the sensors will be installed, rather than have it the TX box. Why? Because it's easier to use a single UTP cable from the Transmitter unit to the Soil / Leaf interface, than have all the cables from the sensors running up to the Transmitter box.


The Soil / Leaf interface and all the sensors connected to it are powered from the TX unit via the 4 wire connection.
The interface supports 3.3V and 5V analogue sensors. Voltage for each one is selected by a jumper on the interface.

The VH400 sensor doesn't require any calibration, however for the Decagon LWS (Leaf Wetness sensor) you will need to determine the minimum and maximum output voltage at dry and wet condition (fully immersed in water). Those values should then be placed in user configuration options of the receiver software. See example below:

// Max and Min output voltage of the analog sensors connected to Soil / Leaf Interface
// Default value for Decagon Devices LWS Leaf Wetness Sensor (3.3V power): Max. Output Voltage - 1395mV (max wetness), Min Output Voltage - 530mV (dry)

//                                              ADC1  ADC2  ADC3  ADC4  
const uint16_t AnalogSensor_MaxVoltOut[4]   = { 3000, 1395, 5000, 5000 };    // Values in miliVolts
const uint16_t AnalogSensor_MinVoltOut[4]   = {    0,  530,    0,    0 };

For the Decagon LWS, power should be set to 3.3 V

QR Code
QR Code soil_leaf_interface (generated for current page)