A smart device connected to a plant, which measures the soil moisture level, the ambient temperature and humidity and based on the data collected it waters the plant to meet its needs. The data is published online and a web interface allows direct interaction with the gardening station.
This project is open-source and designed to be built and deconstructed, learned and re-appropriated.
See the repository on Github
- Seeed Studio XIAO ESP32C3
- Grove Shield for Seeed Studio XIAO
- Watering Unit with Mositure Sensor and Pump
- AHT20 Temperature and Humidity Sensor
- Break the XIAO ESP32 at the divider to reduce its size
- Attach the XIAO ESP32 to the top of the watering unit with a plastic collar
- Connect the antenna to the XIAO ESP32 and stick it on the side of the water unit
- Connect the sensor to the board with a Grove cable to pin 4 and 5
- Connect the water unit to the board with a Grove cable to pin 1 and 2
- Tape the sensor to the base of the watering unit using double-sided tape
- 3D print the cap and place it on the unit to cover everything
Arduino allows us to program our board so that it acts as desired. Create a new arduino project and paste the code from
iot-gardening-station-arduino.ino into it. It will most likely be necessary to install the few libraries used.
An instance of Node-red allows us to connect our devices to a dashboard. The easiest way is to have Node-red installed on a Raspberry Pi. Or on another computer that can stay on. Import the code from iot-gardening-station-node-red.json into the Node-red dashboard to configure the dashboard and its connections as desired.
Nodes: http://127.0.0.1:1880/ Interface: http://127.0.0.1:1880/ui
Links and references
- Getting Started with Seeed Studio XIAO ESP32C3
- Grove - AHT20 I2C Industrial Grade Temperature&Humidity Sensor
- Arduino IDE - Importing a .zip Library
- Raspberry Pi Install
- Raspberry Pi Remote Access
- Running Node Red on the RPI
- Configuring Node Red
- MQTT Publish Multiple Sensors to Node Red
- ESP32 MQTT – Publish and Subscribe with Arduino IDE
- Setting up a Mosquitto-MQTT Broker on a Raspberry Pi
- Grove Shield Pinout
- Watering Unit example
- Remote Access with remote.it
The code is under the MIT LICENSE, the assets are BY-NC-SA 4.0.