This repository contains a project for creating a Zigbee Plant Sensor end device. The end goal is to create an energy efficient, battery powered solution for monitoring house plants. The device should be battery powered, and ideally last 2 months on a 1200 mAh battery.
When installed and powered, the device will report:
- Soil Moisture
- Illuminance
- Ambient Temperature
- Ambient Humidity
- Remaining Battery
The project is tested and developed for integrating with Zigbee2MQTT and Home Assistant.
The current version of the device uses the following components:
- Custom PCB (Part of this repository)
- XIAO ESP32-C6
- AHT30 breakout module
- Can be subsituted for a BME280 if a barometer is desired
- BH1750 breakout module
- HW390 capacitive moisture sensor
- 2x 200k Ohm resistors
- 2x 4 pin female header
- 2x 7 pin female header
- 2 pin screw terminal
- JST-PH female SMD connector
- LiPo battery with JST-PH connector (I use this)
The current version of the software is developed using the Arduino platform, and is delivered in the form of a single sketch. Required libraries are:
- Zigbee from Espressif's ESP32 Arduino Board
- AHT20 from AHT20
- BH1750 fom BH1750
The current casing can be 3D printed using the STLs in the 3d-prints folder. I have succesfully printed these in PETG, however the casing is hard to assemble without breaking. The design has to be improved. Known issues:
- Lid is hard to attach as the lips on the casing are fragile
- The PCB cannot be angled enough with the PCB through the slit to slide onto the sticks
- Solder the following components onto the PCB:
- 7-pin headers
- 4-pin headers
- Use the horizontal 4-pin header marked temperature if the AHT30 is to be used.
- Use the vertical 4-pin header marked barometer if the BME280 is to be used.
- 2-pin screw terminal
- JST-PH female SMD connector
- HW390 moisture sensor
- Solder a positive and negative wire to the battery pins of the XIAO ESP32-C6
- Connect the wires of the XIAO ESP32-C6 to the screw terminal. Note the polarity!
- Mount the AHT30/BME280 and the BH1750 to the 4-pin headers. The PCB is now ready.
- The battery goes into the bottom of the case. Connect it to the PCB and slide the PCB in. Finally close the lid and install the device in a plant pot.
The onboard LED on the XIAO ESP32-C6 will blink with the following patterns:
- Slow blinking for 3 seconds
- Occurs when the device is connecting to the Zigbee Network
- Slow blinking for 10 seconds
- Occurs when the boot button was pressed and is kept pressed after the Zigbee Connect. This will result in a Zigbee Factory Reset.
- Fast blinking for 45 seconds
- Occurs the first 2 boots, to give the devices time to complete the interview procedure







