Before starting development, of course, we looked at similar technologies:
1. Chirp! - plant watering alarm by Catnip electronics
2. Plant Environment Monitor - track light, humidity, temperature, soil nutrition (uS), and moisture by ALab Technology
3. Plant Watering Alerter Soil Sensor (8861) by ICStation
and many others.
But each of them had different limitations for us - small amount of data, impractical design, or high price. Most importantly, we didn’t like that for these prices we couldn’t buy a bunch of them and stick in every pot. And that's considering our number of plants is relatively low (15-20) - a lot of plant parents on YouTube and instagram that we follow have literally dozens (sometimes hundreds) of plants! To track all of them, with current sensors they would have to spend hundreds (and even thousands) of dollars - and still end up with often rather bulky sensors that don’t inform them in a convenient way. Shouldn’t there be a simpler, cheaper solution for that?
Also, it was not enough for us just to keep track of the plants - we wanted to communicate with them! Many happy plant owners already talk to plants during care process. Therefore, we decided to organize communication using a bot in the Telegram messenger - so that correspondence with plants is in the same place as family, friends and colleagues.
Process
We changed the board design three times during development process. First prototype was based on Atmega328, resistive measurement and had only an LED as an indicator. Second one was also Atmega328-based, but had a IR LED - IR receiver pair for communication and was capacitive. In the third one we finally gave up and put our trusty BLE on it (nRF52832). It also became smaller and much more low power.
Design considerations
Shape of the device: at some point, we realized two things:
1. uPlant probe can cut the roots of plants. Therefore, it must be made as thin and narrow as possible and without sharp corners.
2. Plant pots are of different sizes, so the soil moisture would be measured at different depths. We decided to make uPlant in two parts - main PCB and removable probes in several lengths so they could be matched individually.
Functions: we want to collect the maximum amount of data about the plant to optimize its care - this is soil moisture, indoor temperature, light ...
Communication: we are developing communication using Telegram bot. We want to be able to give the plant a name, choose its “character” and also the ability to ask questions. We also want to set up feedback so that the plants tell you what mood they are in now - whether the soil is wet enough, whether there is enough light, and so on.
uPlant not only solves the problem of plant monitoring. Many people are afraid to start plants because they had negative past experiences or think that they will not cope, that the plants may die. Plants themselves make living in our homes comfortable and cozy, and caring for plants often becomes an inspiring and fulfilling hobby that you can do without leaving your home. Our goal is to make this process more interesting and efficient, so plants and humans can enjoy living as companions.
Firmware:
uPlant nRF52 firmware: https://github.com/ultimaterobotics/uplant_firmware
Telegram bot for ESP32: https://github.com/ultimaterobotics/uplant_base