Pick-a-plant

About the project

Choose the right plant for you, using Pick-A-Plant. This IoT device will help you find the best match for every location, using Microchip's AVR-IoT WG Development Board.

Microchip IoT Contest WinnerMicrochip IoT contest winner

Project info

Items used in this project

Hardware components

Avr-iot Wg Evaluation Board Avr-iot Wg Evaluation Board x 1
2xAAA Battery Holder w/ Cover & Switch 2xAAA Battery Holder w/ Cover & Switch x 1

Software apps and online services

Google Cloud Platform Google Cloud Platform

Hand tools and fabrication machines

3D Printer 3D Printer x 1

Story

Choose the right plant for you, using Pick-A-Plant. This IoT device will help you find the best match for every location, using Microchip's AVR-IoT WG Development Board.

Full project video

Story

We're notoriously bad at taking care of our plants. We buy one, we put it somewhere in our house and then it dies. So maybe we're just putting the plant in the wrong place? This is why we decided to create the Pick-A-Plant, to help us choose which plants we should buy for our house. 

Setup

To start off, let’s set up our AVR IoT WG Development Board using these two tutorials to setup the board and connect it to your own Google CloudAfter following these steps, we will have a working chip with a premade frontend, hurray!

Sensor data

We’ve set everything up on our own Google Cloud Platform meaning we can access the data directly on our Firebase app. We used the following URL for our API call.

https://<YOUR_PROJECT_NAME>.firebaseio.com/avr-iot/data/<YOUR_UID>.json

You can check your Firebase database under “Database” in your Firebase project.

Plant data

Based on the light and temperature data collected with our board, we want to select the ideal plant for the chosen location. We gathered data about ten common houseplants from the website House Plants Expert  and saved in a JSON file. For each of the plants, we saved data about their ideal condition in the following format:

"name":"African Violet",

"description": "The African violet is one of the most popular flowering house plants from the saintpaulia genus. The genus has about 20 species and thousands of varieties. These have become easier for the average home grower to produce perfect blooms, although they need to be provided with some special care and attention." ,

"url": "https://www.houseplantsexpert.com/african-violet-care-information.html",

"min-temp": 16,

"max-temp": 24,

"min-light": 150,

"max-light": 600

Dashboard

With both our datasets available we can move on to creating the dashboard. In this case we’ve chosen for Bootstrap to make an slick looking dashboard and used JavaScript for the logic. You can find the full code in the attachments.

Flow

At first we do an initial load of the sensor data to fill our chart, we’ve limited it to the last ten data points in our API url.

limitToLast=10

Once the initial load is done, we update the chart every two seconds, removing the oldest of the ten records and adding the new one.

When you click on the search icon, the last ten data points are summarized, calculating the minimum, maximum and average for both light intensity and temperature. We show these statistics in the designated tiles. Using this sensor data and the JSON file about our plants, we find the best match. If a match is found,  we display the name of the plant and a short description with a link to the House Plants Expert website with more information.

Device

With the software taken care off, we can start on our device. A bright orange casing will make the Pick-A-Plant stand out for sure. So after finding this LEGO flower model on Thingiverse, we added an opening in the top to allow the sensors to do their work, and a hole in the bottom to hold the chip and batteries.

With the model done, we print it and viola, our flashy casing is done.

Assembly

We hot glued a 2x AAA battery holder to the back of the board and installed it into our designated hole finishes this short assembly step.

Done!

Everything is ready, looks neat and is portable. The Pick-A-Plant is ready to help with the next green decision! From now on, only happy plants in our house!

CAD, enclosures and custom parts

3D Print

A 3D printable flower-shaped holder for the AVR IoT WG Development Board for the Pick-A-Plant project.

Code

JavaScript logic

Plants JSON

Index.html

Credits

Photo of 8BitsAndAByte

8BitsAndAByte

We’re Dane & Nicole, two makers that create tremendously terrible tech, which we happily share with you on our channel! https://www.youtube.com/c/8bitsandabyte

   

Leave your feedback...