Building a smart houseplant monitor (and waterer)

@Oliviageorge8234 thank you! It’s been some time as I’ve been busy on other projects but hope to get this moving again soon!

1 Like

Finally got all the hardware to setup a version of the smart plant monitor.

Working on my own branch, as I am using different hardware than @chrisys.


  • Developing on a Raspberry Pi 3 B+ as it is faster than the PiZero.
  • For temperature & humidity using a DHT22
  • To control the pump, the Automation Hat from Pimoroni.

To waterproof the soil sensor I am using nail polish :slight_smile:

Also working on the case for it, with a hook to attach to the pot.

1 Like

Just a couple more photos.

Added new pump tubes for the plan. Started analyzing the soil moisture values.


1 Like

Created a small support with space for weight so that it will keep the water level sensor stuck to the bottom of the container.

1 Like

Adding some more pictures to the project:

Also last week I did a live streaming of putting everything together, you can check it here:


1 Like

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! :smiley:

Boa sorte Chrisys!!
ja encomendei o material para acompanhar seu projeto.

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 :smiley:

balena-plant-saver_rough-dawn-05.05.21_11_10_38_(+0200).txt (135.0 KB)


Obrigado por tentar este projeto. Queremos saber como isso funciona para você! :slight_smile:

@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.

1 Like

@tomamam , sorry for the lag here. I just booted my project up with a fresh build and it looks like the dashboard and mqtt blocks are not playing nice. I’m going to go see what kind of updates have been made and maybe I’m missing something to update in the main build. Will check back in soon.

1 Like

@tomamam Sorry for another late response here, but I got it working again :stuck_out_tongue:

I don’t think you’re a part of my Fleet (where everyone will get the automated update). You might want to pull the latest from the repo, and repush to your application/devices. Let me know if you need any help!

1 Like

If you are seeing a compilation error please try the following steps to
[plantsaver] successfully install cryptography:
[plantsaver] 1) Upgrade to the latest pip and try again. This will fix errors for most
[plantsaver] users. See: This page has moved - pip documentation v21.3.1
[plantsaver] 2) Read Installation — Cryptography 36.0.0.dev1 documentation for specific
[plantsaver] instructions for your platform.
[plantsaver] 3) Check our frequently asked questions for more information:
[plantsaver] Frequently asked questions — Cryptography 36.0.0.dev1 documentation
[plantsaver] 4) Ensure you have a recent Rust toolchain installed:
[plantsaver] Installation — Cryptography 36.0.0.dev1 documentation
[plantsaver] Python: 3.7.12
[plantsaver] platform: Linux-5.4.0-72-generic-armv6l-with-debian-10.11
[plantsaver] pip: n/a
[plantsaver] setuptools: 58.3.0
[plantsaver] setuptools_rust: 0.12.1
[plantsaver] =============================DEBUG ASSISTANCE=============================
[plantsaver] error: can’t find Rust compiler
[plantsaver] If you are using an outdated pip version, it is possible a prebuilt wheel is available for this package but pip is not able to install from it. Installing from the wheel would avoid the need for a Rust compiler.
[plantsaver] To update pip, run:
[plantsaver] pip install --upgrade pip
[plantsaver] and then retry package installation.
[plantsaver] If you did intend to build this package from source, try installing a Rust compiler from your system package manager and ensure it is on the PATH during installation. Alternatively, rustup (available at is the recommended way to download and update the Rust compiler toolchain.
[plantsaver] This package requires Rust >=1.41.0.
[plantsaver] ----------------------------------------
[plantsaver] ERROR: Failed building wheel for cryptography
[plantsaver] ERROR: Could not build wheels for cryptography which use PEP 517 and cannot be installed directly
[plantsaver] WARNING: You are using pip version 21.2.4; however, version 21.3.1 is available.
[plantsaver] You should consider upgrading via the ‘/usr/local/bin/python3.7 -m pip install --upgrade pip’ command.
[plantsaver] Removing intermediate container cd5c835cfdc6
[plantsaver] The command ‘/bin/sh -c pip3 install --upgrade pip setuptools wheel smbus2 RPi.GPIO balena-sdk automationhat paho-mqtt’ returned a non-zero code: 1

Have you guys encountered this error during build?

@andrewnhem I remember you mentioned you needed to have a look at the plantsaver project again - was this a known issue?

Thanks @chrisys and @olorenz – I’ll take a look.

@olorenz : Thanks for trying the project out. I just reinstalled it onto a Pi 4 and it worked. May I please ask what your setup is? Which Raspberry Pi model are you using?

Hi Andrew,
I haven’t deployed it on physical device yet as I can’t get past deployment to the fleet

@olorenz Thanks for the additional context here. I was looking at it from my open fleet perspective. I’ll take a look at the standalone version now. Updates soon!

@olorenz : I just reinstalled the project on a new fleet via the latest on the GitHub repo, used the latest balenaCLI, and via balena push, it works (I’m using a Pi4, hooked up to my test rig for the project). I wasn’t able to replicate that installation error that you posted previously.

I’d like to try and replicate your situation so that I can try and figure out what’s going on. Are you also using balenaCLI? Or are you using the Deploy with balena button?