Inspiration

When we were brainstorming ideas we considered our hobbies. One hobby that came up was gardening and keeping plants. As University students, this one's is particularly challenging because of our busy schedules. We wanted to build a tool to help us improve our green thumb.

What it does

Using a small array of sensors which monitor the conditions of the plant (Humidity, Temperature, Light and Soil Moisture), we send that data to a web app which let's the user track the quality of life for the plant over time, and notifies them when the plant's conditions are not good. This prompts them to water it, drain it or even move it, in order to better create an environment suited for the plant.

How we built it

We approached building Basyl by splitting the tasks into three parts: collecting data from the sensors, sending the data to a server, and displaying that data in a meaningful manner. We used Arduino and the Arduino IDE with four different sensors to determine the plant's health. In particular, we used temperature, humidity, photocell and soil moisture sensors. We sent the sensor data from the Arduino to a PC running a python script. The python script batched sensor data and packaged it into a POST request, which we sent to our Rails server. We used Ruby on Rails with bootstrap to provide the user with a meaningful interface for the data.

Challenges we ran into

Architecturally, we thought a lot about how to get the data from the Arduino to the rails server. We decided against using an ethernet shield because of the possible complications getting on the school network. Additionally, connecting to a PC through serial allowed us more control over the data through a Python script.

Accomplishments that we're proud of

We're proud of the way we split up the tasks and brought them together seamlessly.

What we learned

How to work with sensors, design an efficient back end system, and most importantly, how to grow basil.

What's next for Basyl

Improve the user interface.

Share this project:

Updates