Project tutorial
Thirsty Flamingo Soil Moisture Sensor

Thirsty Flamingo Soil Moisture Sensor © GPL3+

The Thirsty Flamingo uses a soil moisture sensor and piezo speaker to help you monitor your plant's environment.

  • 14 respects

Components and supplies

Necessary tools and machines

3D Printer (generic)

Apps and online services
Click on the link to go to the pre-defined parts selection for this project on
Ide web
Arduino IDE

About this project

Moisture sensors are used in a variety of different projects. You can use them to test the moisture levels of different materials and even test the moisture levels in the walls of your home if you suspect they're damp. In the thirsty flamingo project, we're going to use a soil moisture sensor to monitor the humidity levels in our plants' environment. Every beginner gardener knows that it's not enough to water your plants, you also need to monitor the levels of moisture in the soil in order for your plants to stay healthy. The build we're about to show you is based on a soil moisture sensor that alerts you when the soil moisture in your plant dish changes.

Monitor your soil moisture levels with the Thirsty Flamingo

Note: in the video, you'll see an older version of

The Electronics

We used two main components in this build - a soil moisture sensor and a Piezo speaker. The speaker starts playing a tune when the soil moisture levels reach below the pre-set threshold.

After testing the circuit, we also made a custom PCB for it so that it would fit nicely into the 3D printed casing we designed.


Main Components

  • Arduino Pro Mini 328 - 5V/16MHz
  • 9V Alkaline Battery
  • SparkFun Soil Moisture Sensor
  • Piezo Speaker - PC Mount 12mm 2.048kHz

Secondary Components

  • Transistor - NPN BC337 Diode
  • Rectifier - 1A 50V
  • Resistor 1k Ohm 1/6 Watt PTH

Wiring the Circuit

Click here or the image below for a detailed wiring.

Now you can test the circuit to see if it works properly.

Testing your circuit


You can find the code for the project on our Github repo.

After downloading the code, upload it to your Arduino using the Arduino IDE. Make sure to set the correct board and the correct port before you upload.

The main logic of the code uses the function. If the soil moisture level reaches below 400 (or whichever value you decide to set), it triggers the piezoSpeaker to start playing a melody, in the case - piezoSpeakerHooray.


We designed a flamingo-shaped casing for the soil moisture sensor circuit. You can go wild and design different shapes and sizes of casings according to your liking.

There are two main parts to this design, and you can download and print them from Thingiverse.

Putting it Together

After printing, you’ll need to place the circuit into the housing and screw together the using the screw holes in the design. Afterward, place the battery into place - and you're done!

Let us know how everything goes. You’re welcome to share your experience with us in the comments below or on our community forum.


Custom parts and enclosures

Thirsty Flamingo casing


Thirsty Flamingo Schematics


Similar projects you might like

Soil Moisture Sensor With LCD Display

Project tutorial by Patel Darshil

  • 89 respects

The Quantified Cactus: An Easy Plant Soil Moisture Sensor

Project tutorial by Jen Looper

  • 34 respects

Moisty v2 - a Plant Moisture Sensor

Project showcase by Mitch K

  • 1 comment
  • 16 respects

How to Use a Soil Moisture Sensor

by MisterBotBreak

  • 67 respects

Wireless Soil Moisture Probe with Helium and DFRobot

Project tutorial by Mark Phillips and Peter Main

  • 38 respects
Add projectSign up / Login