Smart plant watering assistant, battery-powered

Manuel Fegerl 23/10/2019
Wifi plant sensor flower sensor watering reminder to build yourself (DIY) with iOS and Android App for ESP12f ESP12e ESP12e ESP12s ESP8266

Introduction

With the help of this guide, you can build a battery-operated moisture meter for your plants that measures the moisture of the plant soil every 30 minutes and transmits the measured data to the Sensate platform. The two AA batteries that are used for the project should allow several months of operation. Also rechargeable batteries can be used for the operation of the smart flower watering assistant.

For this project, you should be able to use a soldering iron. The result of this project is a compact unit with integrated sensor. The mentioned housing can be printed by yourself (if a 3D printer is available) or ordered from one of the many online 3D printing providers. The link to the model for the housing can be found on this page.

Typical applications for this project:
– You want to be able to see how much water your plant needs
– You want to see when your plant absorbs water
– You want to be reminded when your plant needs water


Component list

1
ESP12 (e.g. ESP12e, ESP12f, ESP12s) (Bridge)
1
ESP12 Adapter Plate
1
Step-Up Voltage Regulator
1
Stripboard
1
330 Ohm Resistor
1
10 kOhm Resistor
1
100 kOhm Resistor
1
220 kOhm Resistor
1
Pin header (1x2 pin)
2
Pin headers (1x3 pin)
1
P-Channel MOSFET (e.g. TP2104N3-G)
1
Wires
1
Capacitive Moisture Sensor
1
2*AA Battery Holder

Best used with

Quick configure with

Tools and skills


Cut board to size and prepare tracks

The first step is to cut the board to the right size (34x84mm) . If you are using a board with prepared tracks as shown, make sure that the tracks are cut as shown (crosswise to the long side).

If you use a “strip grid board”, the tracks must be cut through as shown. It is best to use a cutter knife and cut several times along a row of holes with medium pressure until the tracks are cleanly cut. To avoid short circuits, check the conductivity with a multimeter if necessary.


Cable bridges

In this step, all cable connections are soldered in. The colour is not relevant here, but it should indicate the functions of the individual cables.

A total of 10 cable bridges are soldered in:
– 3 x 1-pin bridges
– 2 x 2-pin bridges
– 1 x 3-pin bridge
– 1 x 5-pin bridge
– 2 x 7-pin bridges
– 1 x 8-pin bridge

Again, check the conductivity against adjacent traces if necessary.


Place resistors

In this step a total of 4 resistors are placed:

The voltage adjustment of the moisture sensor:
– 1 x 100 kOhm (1)
– 1 x 220 kOhm (2)

The wiring of the MOSFET (necessary for the complete deactivation of the sensor when the bridge switches to sleep mode):
– 1 x 330 Ohm (3)
– 1 x 10 kOhm (4)


Place programming port

These two sockets are only needed if you have to flash the Sensate firmware on your ESP8266 microcontroller.

If you already purchased the chip pre-programmed or did it yourself, you can skip this step.


Place MOSFET

Now the MOSFET (P channel) is placed. Make sure that it does not get too hot during soldering as these parts can be very sensitive.

If you use an other P-channel MOSFET than the one listed above, pay attention to the pin assignment. In order to ensure proper operation, a small gate threshold voltage and a very low RDS (drain-to-source resistance when switched through) are important!


Place Bridge

Now you have to solder in the bridge. If your ESP12 microcontroller is not connected to the adapter board yet, you have to do this first. To minimize the heat stress on the chip, solder the pin strips to the adapter first and then the chip. Place the bridge onto the adapter board and solder all pins to the adapter.

Then solder the adapter to the PCB as shown. In this tutorial, we do not use any sockets in order to keep the design more compact.


Place voltage regulator

The voltage regulator is a step-up converter with as little standby current as possible (this is very important for the battery life of the sensor as the remaining components in standby require hardly any current).

Depending on the model, the voltage regulator must first be soldered to a pin header and then to the board. Please pay attention to the correct sequence of VIN (battery), GND (ground) and V+ (3,3V VOUT).


Place moisture sensor

Depending on the supplier, there are variants of the moisture sensor where the pins of the (white) connector socket are long enough to be soldered directly onto the board, i.e. without removing the white socket.

If this is not the case, the socket must be replaced by a pin header. Simply bend the socket slightly upwards and separate the contacts with a side cutter. Then pull out the pins and insert a new 3-pin header.


Place battery holder

Depending on the desired voltage supply, a suitable battery holder can be soldered on. It is important not to fall below the minimum input voltage of the voltage regulator used (0.5V for the voltage regulator used here). Also note the typical discharge curve of the batteries you use so that the limit value may not be undershot early.

In this case, a battery holder for 2x AA batteries is soldered in. This fits perfectly into the case you can (3D) print yourself. Since the holder is soldered to the copper side of the circuit board in this design, the underside of the holder must be insulated with two strips of insulating tape to avoid a short circuit.


Result

If your microcontroller (bridge) has not yet been loaded with the Sensate firmware, follow this guide. After that, the device is fully functional and can now be configured and used with the Sense App.

Important: The bridge does not switch to deep sleep mode until the microcontroller has been completely configured with the app, i.e. the battery life is very limited. Be sure to configure the sensor as soon as possible after inserting the batteries, otherwise the battery will be exhausted after a few days.

With the help of the Sense App, you can then view the current measurement data as well as the time history. If you want to be informed automatically about the exceeding or falling below of limit values (e.g. if the plant needs water), you can do this with the help of the IFTTT integration.

Have fun!