My colleague @dansku and I have been throwing ideas around for a smart houseplant monitor on and off for a few weeks, and we’ve gradually collected a few parts to prototype it. I thought why not document our progress on the forums; hopefully some of you will be inspired to join the project and build something too, if not you can always follow along and any ideas/feedback are welcome!
I’ve got a few things in mind I’d like to achieve:
Monitor soil moisture
Monitor temperature & humidity
Automatic watering for when you’re away
Alerts (maybe via Twilio)
Physically small and tidy - the goal is to use a Pi Zero W, eventually with a custom HAT for compactness
Low cost, around $30 - I’d like people to be able to have a few units in the house (and take advantage of the fleet management part of balenaCloud!) without spending a fortune
Reliability - it needs to be robust and last well, the monitor shouldn’t need more maintenance than the plant!
Visual status indicator - an 8x8 LED matrix, or RGB LED if we run out of budget
Pretty charts with Grafana
How we actually satisfy the above is yet to be determined, but we’ve started getting hardware together. Note: Please don’t take this list as a required list of components as things may change as we develop the project, it’s more for documentation and prototyping purposes. Most of these links are from AliExpress for price reasons.
5V 3A PSU - testing will show if this is enough ($3.74)
I think that’s all the hardware we’ll need, aside from a 3D printed case and maybe some cable. That brings us to $35.34. Some items, particularly the LED matrix can be had cheaper if you buy a 3 pack so this isn’t too far off the goal.
I’ll start putting stuff together and see what happens!
The plant we’re experimenting with uhh looking after. It’s a snake plant (we named it Python), which is apparently one of the best plants for improving indoor air quality.
This plant doesn’t need a lot of watering anyway and is easy to care for so should be perfect to test with. After that I’ll look at something that requires more maintenance, maybe a bonsai tree, or an orchid.
We’ve chosen the capacitative soil moisture sensor for its resiliency against corrosion, but I noticed the upper part of the board still has components that are unprotected. To address this I bought a can of this spray rubber coating to try. Hopefully it will protect the components without rendering the sensor unusable, but we’ll see!
Only electronics coated
I then stripped back the coating from the sensor portion of the board, leaving only the electronics coated, which returned the readings back to their original level.
Hopefully this provides enough protection for the electronics to last for a long time in that environment - time will tell. As for the moisture readings, we’ll have to set up some method of setting a target moisture level by getting the soil moisture content to the level you want it then taking a reading.
I’m following this with interest!
How are you planning to deliver auto-watering? From a reservoir or mains water supply?
Would you need a mains plug socket per plant?
So the auto-watering was planned to be from a reservoir hidden away somewhere - perhaps in a cupboard or underneath a desk. I’ve got the float switch to monitor when the reservoir is empty and needs attention, and the peristaltic pump to push the water up to the plant.
With the current plan you’d need a 5V power supply per plant, which could either come from a mains adapter, or a good USB battery bank would do the trick, although I’m not sure how long the battery would last until we can complete a prototype and take current measurements.
I did some testing with the pump, as I wanted to see how much water it moved both under no head and with a head (when pumping from a reservoir on the ground up to the plant on the table). With this type of pump there should be no difference with/without a head - the motor would just draw more current.
I found that this was true. The 6V pump (driven at 5V) moved ~50ml of water in 60 seconds regardless of the height it was pumping. I tested at a height of 700mm (0.7m). Its quite a slow pump but this speed should work well as it will give us good control over the amount of water being added.
I’ve been testing the moisture sensor for a while as I’m getting some strange readings; I found that the moisture content of the soil is actually rising…
I’ve pulled the sensor and tested it in water and it seems to be working OK, so I think I just need to let this plant dry out and monitor it. In the mean time I’m thinking we might ditch the LED matrix as it seems unnecessary - an RGB LED for status would do a good job I think.
Anyone still trying this project out (@chrisys@Oliviageorge8234@RowanM)? Here’s my rough version so far in an attempt at keeping a bamboo alive (EZ mode haha). I’m using the soil moisture sensor incorrectly here and it’s more like a waterline indicator. Everything else works solidly.
I’m starting to write a how-to guide on this project for other folks to try out. Wish me luck!
Hello, I have a problem with my build as shown in the logs. The dashboard isnt syncing and I cant figure it out where the problem is. My build is with a raspberry pi 4 and all connectors are checked! Help would be very appriciated!
Have a nice day
@tomamam Thanks for trying this out. Let me rebuild my project and see if things are working as they should. To be honest, mine has been offline for a bit so I’d also like to make sure things are working as intended. Thanks for the logs as well. I’ll get in touch soon.