Have a green thumb with FlowerDuino 🌼

About This Project

:blossom: Have a green thumb with FlowerDuino :blossom:

FlowerDuino (Flower Power by Parrot hack) monitors and analyzes the four parameters essential to your plant’s health into Cayenne dashboard.

- Temperature
- Brightness
- Soil moisture
- Humidity

I made this Iot project to be able to get data about my plants 24/7 all around the world thanks to Cayenne dashboard & Arduino board.

Inspiration:

Flower Power by Parrot

  • Flower Power by Parrot website
  • Temperature
  • Brightness
  • Soil moisture
  • Fertilizer
  • Bluetooth sync only.
  • No Windows mobile app or responsive design version.
  • 6 month battery only.
  • Water resistant, for indoor and outdoor use.
  • 3 colors and realy nice design.
  • Doesn’t show the soil moisture when watering.
  • A database of over 7,000 plants.
  • IFTTT compatible.
  • Very expensive (+80€)

Flower Power Hack (FlowerDuino)

FlowerDuino: advantages & evolutions

  • Live Wifi sync.
  • Sensor data synchronized in Cayenne dashboard.
  • Get information about your plants all over the world in mobile / tablet / laptop.
  • A LED blinks if the soil is dry.
  • Get the humidity of the room.
  • No batterie required, unlimited battery life.
  • Cayenne IFTTT like.
  • Customizable: If tomorrow you want to add a new sensor (barometric, servo…) and add data to Cayenne dashboard easily.
  • Easy connection to your existing Cayenne projects: If you want to turn on/off the FlowerDuino with a 433MHz power outlet controlled by another arduino board with Cayenne sync. No problem to customize existing .ino project to your home and other Iot projects.
  • Open source.
  • Very affordable price.
  • 100% French DIY :wink:

Improvement: FlowerDuino 2.0 (next step)

  • Fertilizer ? I don’t like fertilizers that’s why I didn’t want this information. My plants are organic and I don’t give fertilizer to my plants. I let nature do the job ^^
  • Outdoor protection case.
  • Improve design / wiring system.
  • Use a Wemos D1 to save space.
  • Community pull request implementation.

What’s Connected

  • 1 LED
  • 1 Photoresistor (for brightness)
  • 1 DHT11 (for temperature + humidity)
  • 1 Water sensor (for soil moisture)
  • 2 Resistors
  • 1 Arduino UNO
  • 1 Ethernet shield
  • 1 9V external power supply
  • Jumpers / Tiny Breadboards
  • 1 Arduino case

I made this Iot project with 2 tiny breadboard to minimize space. It’s not perfect yet but I optimized as much as possible the space.

  • Breadboard #1 used to connect jumpers rather than in Arduino direct connection. Inside my Arduino case.

  • Breadboard #2 used to connect temperature and humidity sensor + brightness sensor + soil moisture sensor + LED. Put that in the ground and enjoy :wink:

Triggers & Alerts

  • I’m cold” trigger: The temperature of the room is below 17 degrees.
  • I’m thirsty” trigger: If soil moisture is below 100.
  • Too much moisture in the air”: Air the room now, too much humidity in the room.

From other Cayenne project:

  • I need light” trigger: Turn on my 433MHz LED strip lamp to have more light in the room for my plant.
  • Turn off FlowerDuino” trigger: Turn off my FlowerDuino from 433MHz power outlet if uptime > 500.

Scheduling

  • Turn on FlowerDuino” alert: Turn on daily at noon to start receiving data from FlowerDuino to Cayenne.

To maximize water sensor service life, FlowerDuino automatically start and stop to have daily data in your Cayenne dashboard. You can override this in sketch easily.

Dashboard Screenshots

###Dashboard animation

###Dashboard 1

###Dashboard 2

###Triggers

###Mobile 1

###Mobile 2

###Mobile 3

Photos of the Project

###Demo 1

###Demo 2

###Wiring 1

###Wiring 2

###Wiring 3

Video

FlowerDuino

Configuration

Update this line with your custom values

char token[] = "XXXXXXXXXXXXXXXX";   // /!\ Enter your Cayenne token here

and create this virtal pins in your Cayenne dashboard

#define VIRTUAL_PIN_1 V1   //temperature
#define VIRTUAL_PIN_2 V2   //uptime
#define VIRTUAL_PIN_3 V3   //water sensor
#define VIRTUAL_PIN_4 V4   //humidity
#define VIRTUAL_PIN_12 V12 //brightness

Shopping list

  • 1 LED = 0.20 €
  • 1 Photoresistor (for brightness) = 0.59 €
  • 1 DHT11 (for temperature + humidity) = 2.20 €
  • 1 Water sensor (for soil moisture) = 2.50 €
  • 2 Resistors = 0.20 €

Hardware total price: 5.69 €

  • 1 Arduino UNO “like”
  • 1 Ethernet shield
  • 1 9V external power supply
  • Jumpers / Tiny Breadboards

##Enable 433MHz power outlets control

I made another Cayenne project fully compatible with FlowerDuino and allow you to get values from your plants every X minutes depending your weather constraints and Cayenne custom user alerts / triggers. Please read my first comment for more information about implementation.

Alt Video

8 Likes

This is an excellent writeup and idea for a project, thank you for sharing!

I need to set something up like this, my wife likes to grow big succulent plants like aloe and cactuses in Colorado, where the weather changes every 15 minutes. We’ve lost a few making silly assumptions like thinking the winter is over in May. :slight_smile: How cool would it be if the plant could text message me and say “actually, I need to go back inside”.

4 Likes

Thanks for you feedback! The interest of this IoT project is to adapt according to its location. We don’t have the same climatic constraints here in France. It’s a bad location for cactuses :wink:

First of all, my FlowerDuino 1.0 isn’t water resistant, not for outdoor use because there is no protection for sensors. This is why it is necessary to use inside only as long as there is no protection case.

Then you have to know “the event” that will lauch the trigger “actually, I need to go back inside”. If the weather suddenly changes (storm, cloud, snow…). What is the best metric to monitor :

  • Temperature is lower than X value ?
  • Brightness is lower than X value ?
  • Soil moisture is lower than X value ?
  • Humidity is lower than X value ?

At last, you can tweak my code to turn on FlowerDuino every 15 minutes to get values for few minutes and automaticaly turn off after few seconds. I’ve connected my FlowerDuino to a 433MHz power outlet and another Arduino board synchronized with Cayenne turn on/off with dashboard button, trigger, alerts or scheduling events. Thanks to Cayenne dashboard, implementation is very easy with Virtual pin and very efficient.

[Read more information about my project “How to make a simple Cayenne dashboard for your 433Mhz power outlets ?” on my GitHub to add 433MHz feature to enable FlowerDuino wireless control with Cayenne.] (GitHub - ibenot/Arduino: Arduino tutorials for beginners 🤘)

This project is fully compatible with FlowerDuino and allow you to get values from your plants every X minutes depending your weather constraints and Cayenne custom user alerts / triggers

Personal usage: I’ve plugged my FlowerDuino in avocado in Chacon 4 power outlet and Cayenne turn on/off depending my custom triggers.

Here a simple demo of this project :wink:

or better video here I like to hear power outlets clicks when I press the Chacon All from Cayenne dashboard :wink:

Alt Video

Enjoy!

Ben

I need to make my wife one of these…

1 Like

I just updated my post with Hardware & Wiring images to improve your own implementations :wink:

What’s the best feature for FlowerDuino 2.0 ?

Thanks guys, you :metal:

  • Add fertilizer sensor
  • Add camera sensor
  • Add pH meter sensor
  • Add outdoor protection case
  • Other (can you explain to me?)

0 voters

Hi @benjamin.notteghem ,

I hope things are going well for you! I was trying to create a project very similar. Do you think you can post your full code file that I can use? :slight_smile: Would save me some time.

Cheers,

~Benny