Buff Plants: How we built an IoT device that keeps our plants alive

Stuart Heap
Motius.de
Published in
9 min readApr 1, 2020
Office plant
Ever seen such a beautiful plant in an office? No, us neither.

What do all offices have in common? Plants which everybody likes to see, but nobody takes care of.

Remember the “SEP field” in Douglas Adams’ Life, the Universe and Everything? Our brains do not let us see Somebody Else’s Problem.

A while ago, that was exactly what our office plants were going through. That is, until we developed Buff Plants — an IoT device that keeps our plants alive.

How everything started

Walking through our office, again and again I noticed that lots of our office plants looked fairly unhappy. But what were we supposed to do? Their way of telling us this was not very nuanced. They simply started to die, without letting us know what is wrong.

At some point, I could not stand that situation any longer. So, I figured that we needed an automatic solution to (1) keep our plants alive for a long period of time and (2) let people know how they can help. The idea for Buff Plants was born.

What I had tried at home

A lot of motivation and inspiration came from my home plants: when I go on holiday, it is difficult to keep them watered. I had previously attempted a low-tech solution using pieces of old cloth to wick water out of a reservoir and into the soil. To my surprise, it seemed promising.

home-made solution to automatic plant watering
My previous home-made solution. It did not just look bad, it also did not work.

But eventually, the weight of the water caused the cloth to bend, the water dripped all over my table, and left the soil dry — what a chaos.

Thing is, even if it had worked, it could have never been a long-term solution, as the cycle of wet/dry soil is important to allow the plant roots to breathe.

Here is a better way to do it

When it came to our recent Discovery Session, where we invest 10% of our working time in non-operational projects, I shared my idea with other Motees. Luckily, I was not alone in my pity for our plants.

A couple of others had similar ideas, and even more people took an interest after we presented the problem. All in all, there were nearly 10 people involved in the project at one point or another.

We agreed on a simple concept: keep plants alive with minimal human intervention and alert humans when intervention is required before it is too late for the plant. And what was the tech solution for that? An IoT system that would monitor the plants’ conditions, water them automatically and give feedback to humans.

With our clear concept, it was time to start our mission: we, a bunch of motivated, dedicated and plant-loving Motees, set out to save our plants.

But wait — each project needs a systematic plan to actually work. So, before we started, we had to ask ourselves the right questions and understand what we want as an outcome:

  1. Which sensors do we need to understand how happy the plants are?
  2. What sort of interaction would buff plants have and how would it give the information to the user?
  3. What can be done automatically and what should be handed off to humans?
Cheat Sheet Embedded Systems Teaser

How to choose the right sensors

There are two basic things that plants need to be happy: sunlight and water. To measure the amount of light falling on plants, we used a lux sensor and to track whether the soil is moist enough, we used a soil moisture sensor.

Surprisingly, most sensors on the market corrode over time, meaning they will only last so long and need constant recalibration. Hence, we decided for the pricier, capacitive sensor.

Since we wanted the plant to water itself from an internal tank, we also needed a water-level sensor to tell us when a human is needed to refill the tank. In addition, we got a humidity and a temperature sensor. Why? Obviously, because we really care about our plants and want them to feel good on every level.

What should be handed off to humans?

Obviously, if the plant does not get enough sunlight, even our cyborg plant cannot do anything about it (yet) — so it should just tell people to move the plant somewhere brighter.

initial questions before we built our IoT device Buff Plants
The initial questions that we had to answer.

Same with the temperature: if it is getting too cold for the plant, humans should be informed and fix it.

But for the soil moisture, the plant can actually mostly take care of itself. How? It monitors the moisture over time, and ensures that it cycles through periods of wet and dry, allowing it to breathe and drink without drowning. When the water level gets low, it asks people for help. Just a side note: does anyone else think that plants are pretty awesome?

We tackled all our initial questions during the first design phase. After that, we had to decide what our prototype should look like. Then we started building the board, connecting the sensors to each other, and writing the software to control it all.

How we iterated towards a perfect design and enraged Motees

The first iteration of our prototype was quite bulky, as we simply built a box around all of the components which we had loosely assembled. As a result, it could not actually fit neatly into a plant pot next to the plant, and had to have its own stool nearby. This obviously would not do, so we had to make it smaller.

We first targeted the bulky watering system. Actually, we had preferred a gravity fed system in principle. But we had a simple small pump lying around the office, and no valves, so we went with a pumped solution. However, with the bulk of the pump now an issue, we needed to change.

Luckily, we had plenty of servos lying around, and with a bit of wood and heat shrink, we were able to turn one servo into a rudimentary valve, saving precious cubic centimeters.

Keeping the board itself small was also a significant concern. In a previous Discovery session, a colleague had built “Mosense” — a general-purpose sensor board with a number of the sensors we would need. As it was compatible with the tiny Adafruit feather form factor, it made our decision easy.

However, the sheer number of sensors we had posed problems. We had to cut a few of the connections on the Mosense board’s unused components to avoid overlapping pins and to free up pins for our own use (luckily for us, the designer of the board was in our office, and happy to help).

Motius Tech-Dosis Subscription Teaser

Since Buff Plants is designed to sit next to a plant, and needs to sometimes draw attention to itself, the appearance is a pretty important concern. So we had to give it an attractive look.

The case was designed in-house, and produced with our 3D printer. To attract attention to plants in need, we included LED-strips which would let people know the mood at a glance. More nuanced information about the plant’s mood (or sometimes, a face) is given by a low power E-ink display. Together with solar panels, it makes Buff Plants extra friendly to the plants we are trying to save.

The final Buff Plants IoT device
Buff Plants claims attention with its bright and shiny look.

An early version of the device would scream when attention was required too, but in fear of our colleagues destroying it as soon as it turned on, we regretfully removed this feature. As a consolation, we could save even more space by pulling out the speaker and sound board.

Are we having fun yet?

Discovery is meant to be a playful way of learning. So it was crucial for our team to let everybody do the things they have always wanted but were unable to try in their normal day-to-day.

For example, as a web developer, I wanted to play around with embedded systems. Why? Because it offers a significantly different environment, and seeing your code do things in meat space (the real world) is always fun.

But playing around also comes with challenges. For me personally, the biggest challenge was the reliability of information coming from sensors. For example, the data from the moisture sensor is very noisy and it is difficult to get a handle on when the soil actually needs to be watered again.

But that is the fun part: we were constantly learning new things, either from more experienced colleagues of this area, or by our own experimentation.

Why Buff Plants is more than just a sensor

We are not just playing buzzword bingo when we call Buff Plants an IoT device: it can accomplish tasks and transfer data online without human intervention. For the latter, we developed an app that would show the current conditions and the plant’s attitude towards it.

The Buff Plants mobile app interface
Our Buff Plants mobile app interface.

To build a mobile app, we used a framework called Vue Native which easily allows building native applications using the lovely Vue framework. It was developed within the Expo ecosystem with a backend by Firebase.

Additionally, we also built a web app using the Rust framework yew. While this is far from a production-ready way to build web apps, Rust is the new hotness, and I wanted to see what it would be like to use it to make a website.

While these apps let anybody see the current conditions of the plant from anywhere, they do not let us track data over time. For this, we also integrated with Motius IO.

Motius IO is another previous Discovery project which provides a common platform for different devices to publish data.
It enables us to simply publish the data as we collect it, and produces graphs of historical data in real time.

Actually, we will talk more about Motius IO soon — make sure to follow this blog, our Instagram or subscribe to our biweekly Tech-Dosis if you do not want to miss out (#ShamelessSelfPromotion).

Dashboard of integration of Buff Plants with Motius IO
Integration of Buff Plants and Motius IO

Why you need Buff Plants in your office

To get to the final product, it took us approximately eight days of active development. During these days, we achieved a lot: we developed a working IoT device for a common good, learned new skills from each other, and about technologies none of us had ever used before.

Of course, we could have just decided to take a better care of our plants, but instead we ended up over-engineering and creating an innovative solution to this problem. Why? Because we can. Because it’s fun. And because that’s the idea of Discovery.

Is Buff Plants a useful innovation? To an extent, for sure. It is a great IoT-solution for any office environment where people do not want to take care of plants but still want to have them. And hey: our plants have happy faces now.

But let’s be honest: the coolest part is having an IoT device that tracks a variety of aspects (you could add many other sensors to it) and the real-time data visualization and analysis. We could easily integrate it in any other field. Just use your phantasy and you will find many more helpful use-cases ;)

Join Motius Teaser

--

--