I have recently completed an IoT project called OpenGrow which I want to share. This open-source project gives you an automated system to water your plants while tracking soil moisture and light availability.
View data and update control settings anytime!
Users create an account on the web application where they can then add, remove and rename plants. OpenGrow will water your plants by pumping water when the soil moisture deviates from a user configured set-point. Users can view their plant’s health metrics as well as update the soil moisture setpoint and tolerance from the web-application.
OpenGrow circuit assembled and web-application.
The STM32 firmware is running on FreeRTOS while the ESP8266 runs on NodeMCU. The Web application is made using the MERN stack. This project also features its own MQTT broker which was made using NodeJs and the Aedes framework.
I have made the project easy to set-up with readily available parts and a detailed guide!
Medium article on the full system
The system has been working well for over a week in my home and I hope others will be able to replicate or modify it. This project touches on all the important components for a full IoT solution so I think it can also be a great learning resource for those interested in IoT!
If anyone encounters issues or finds problems, please raise an issue on the github repo and I will address it.