Sensor

Overview →  PCB →  Components →  Sensor →  Enclosure →  Software →  Valve →  Installation

When a temperature/soil-moisture sensor is connected, the following three functionalities become available:

  1. Skip Ice: skip watering if the temperature is lower than the value specified by the user. This functionality protects the plants and the valve from frost (requires a temperature sensor).
  2. Heatwave: when the maximum recorded temperature of the day is greater than the value specified by the user, watering duration is increased of +30% (requires a temperature sensor) .
  3. Skip Humidity: skip watering if the soil moisture level is greater than the value specified by the user. This functionality is really important because it prevents over-watering after the rain or when there is an excess of humidity in the soil. The health of the plants will greatly benefit from it and the waste of water will be cut down. (requires a soil-moisture sensor).
The levels and the sensor type are set from the options.
The sensor must work at 5 Volt and currently Sunfy328 is compatible with the following sensors:

I2C soil moisture and temperature sensor by Catnip Electronics

Functionality n.1, n.2, and n.3 can be achieved with this sensor which has a decent resolution and good price/quality ratio. We are taking in consideration here the rugged version.
https://www.tindie.com/products/miceuz/i2c-soil-moisture-sensor/
The sensor must be connected to the I2C port P3 or P7 of the Control Unit. The pull-up resistors are already present in the Control Unit circuit.

DS18B20 waterproof temperature sensor

The functionalities n.1 and n.2 can be achieved connecting a waterproof DS18B20 sensor to the one-wire port P4 of the control unit. The pull-up resistor is already present in the control unit circuit.

ATMega328 internal temperature sensor

This option doesn't need an external sensor because it uses the ATMega328 internal one.
This sensor is not precise because it has a tolerance of +/-20%, so this cheap solution is deprecated, unless you calibrate it specifying the error compensation from the code (#define INT_TEMP_COMP).
Only functionality n.1 and n.2 can be achieved with this option.

Other sensors

Contact me if you wish to add a sensor to Sunfy328.