In this project I've designed from scratch functional PCB to measure the soil moisture, temperature, humidity and light intensity around the plant. The data is sent to the cloud and displayed on a web page. The system is powered by 3.7 Li-pol battery. The system is designed to be used in a greenhouse or a garden to monitor the plant's health and alert the user when plant needs water, light or temperature is too low.
For sending the data, I am using the free tier of Grafana Cloud, which allows for 50 GB of data with a retention period of 14 days. This is suitable for this application because we do not need to see historical data if we are not that curious.
Tip
To increase the runtime change the sending interval to a higher value.
After measurements I've conducted, I measured that the deep sleep amperage is around 0.7mA and peak amperage of sending is 110mA when the average sending time is 3 seconds.
I've designed the PCB using EasyEDA software and manufactured and assembled it using JLCPCB. You can see the project's details and order your own PCBs from the following link:
Caution
Check the polarity of the battery before connecting it to the PCB. The connector negative pin is marked with a white dot. The battery is connected to the PCB with a JST-PH-2 2mm connector. As there is no uniform standard for colour marking, the colour fitting of this cable may be different in some cases!
- Use standardised battery connector to not get the battery polarity wrong.
- RGB LED is constantly powered from BAT+. It should be powered from battery via transistor activated by GPIO pin to save power.
- Add holes for mounting the PCB to the 3D printed case.
- Use a bigger SMD components to make the PCB easier to solder by hand.