Skip to content

ManDon5/Lotus-HomeKit-Monitoring

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lotus HomeKit Monitoring

Compile check License

This project is about monitoring my Lotus plant which is located in a 90 litres bucket in my garden.

Cultivating a Louts plant is not that easy. This plant needs clear water and if you want to get a blossum, a specific time of water temperature above 20 degrees Celsius. In the Winter it also must not freeze. Therefor I decided to build a small ESP32 project which monitors the water temperature and gives me the possibility to control a aquarium pump to filter out the dirt.

For outside useage I build everything in an splashproof electric plastic case with external ports for power supply and the temperature sensors.

To get my monitoring project smart I am using the HomeSpan library for full native Apple HomeKit integration.

Used Hardware

  • NodeMCU ESP 32S Dev Kit (AZ-Delivery Link) - the heart of the project.
  • DS18B20 water resistant (AZ-Delivery Link) - for measuring the water temperature.
  • GY-21 HTU21D (AZ-Delivery Link) - for measuring the environmental air temperature and humidity.
  • IRL 1004 Mosfet (Infineon product link) - for controling the water pump.
  • 2x Pushbutton NO - one for switching on/off the water pump without using an app and one for controling the HomeSpan device (e. g. reset, enable access point, ...).
  • USB 5V water pump - for filtering the water.
  • Waveshare 2.13 inch e-paper display HAT 250x122 (V3) (Waveshare Wiki) - displays all information.
  • 4,7 kΩ resistor - for water temperature DATA pull up.

Wiring

Power supply ESP32 Control button 4,7 kΩ resitor DS18B20 HTU21D IRL 1004 Pushbutton Water pump Display
5V 5V VIN VIN 5V
GND GND 3 GND GND SOURCE 3 GND
P32 4
P13 R2 DATA
P22 SCL
P21 SDA
P16 GATE
P4 4
DRAIN GND
3V3 R1 VCC
P23 DIN
P18 CLK
P26 CS
P25 DC
P33 RST
P27 BUSY

Fritzing breadboard

Lotus breadboard

Construction

Building everything into such a small case was quite challenging.

The power supply port for the ESP32 and the water pump is on the bottom right of the case. The environmental sensor is located in the middle. The left port is for connecting the water temperature sensor. The HomeSpan control button is located on the board which can be used for unpairing the device, creating a local access point, ... . For switching the water pump on/off a magnetic contact switch is used. You can use of course a simple pushbutton instead.

Lotus construction 1 Lotus construction 2 Lotus construction 3 Lotus construction 4 Lotus construction 5

Used Arduino libraries

I created my own internal LotusDisplay library for displaying the data much easier and better modularization. It uses the GXEPD2 library.

Useful links

Acknowledgements

A big thank you to my dad who always supports me with my Arduino projects and who is doing all the electronic and hardware stuff.

Icons