Close
0%
0%

iPlant

A battery-powered device that sticks into the ground next to your plant and measures important variables related to the plant's health

Public Chat
Similar projects worth following
133 views
iPlant is a probe-like device that is stuck in the ground next to a plant. Temperature, humidity, soil moisture, and light intensity are measured with sensors and sent to a server. The device uses the ESP32 microcontroller to control the sensors and communicate with a tornado server to display the readings on an hourly basis.

In the class ELEC_ENG 327 at Northwestern University run by Prof. Ilya Mikhelson, my partner Alain and myself were tasked with building a product that encompasses a few different requirements, such as server communication and analysis, using an ESP32 module, and using at least 2 sensors. After deliberating on projects for a few days, we decided on iPlant, a device that measures values important to a plant’s growth: temperature, soil moisture, humidity, and light intensity. We then put together a bill of materials, ordered the needed sensors, and individually tested them. Once each sensor was confirmed to work, we interfaced them together and created a device that read out sensor readings to a serial port. Once that was complete, we shifted to the software side of things and developed a Tornado server coded in Python that our ESP32 could communicate with, send arbitrary data, and have it queried in a database using SQLite. These two sides were then linked together and created our initial prototype, which sent sensor readings on a defined time interval to a primitive website. We then split duties as I worked on reducing power consumption by using the ESP32 deep sleep mode in between data transfers as well as powering the device with batteries. Alain worked on improving the user experience with a website that had pleasant styling, an informative home page, and a page where sensor data could be seen. Once these two sides were complete, they were again merged and our first revision was created. We planned on our final prototype including a PCB and 3D printed enclosure, but unfortunately we did not have time for the PCB design and our 3D printed enclosure did not print as expected, and our final product was done. We then worked on fixing bugs, improving sensor accuracy, and finalizing our report.

plant_1.jpg

Image of a plant on the website homepage

JPEG Image - 529.28 kB - 06/13/2022 at 18:50

Preview
Download

plant_2.jpg

Image of a plant on the website homepage

JPEG Image - 21.95 kB - 06/13/2022 at 18:50

Preview
Download

styling.css

Website styling

text/css - 31.25 kB - 06/13/2022 at 18:50

Download

sensor_reading_database.db

Database to store sensor readings (created automatically)

db - 48.00 kB - 06/13/2022 at 18:50

Download

py - 1.25 kB - 06/13/2022 at 18:50

Download

View all 10 files

  • 1 × DHT11 Temperature and humidity sensor
  • 1 × ESP32 Breakout Board Breakout board for Espressif ESP32 chip
  • 1 × Arduino YL-69 SMS Soil moisture sensor
  • 1 × 02-LDR14 Photoresistor for light intensity sensing
  • 1 × Battery Case with On/Off Switch Case to hold two AAA batteries

View all 6 components

  • Timeline of iPlant

    Dylan06/13/2022 at 19:03 0 comments

    4/15/2022: Started iPlant

    5/1/2022: Finished initial prototype of iPlant, able to read data from sensors when powered by computer. Could read data on primitive website with a datatable using SQLite.

    5/20/2022: Revised iPlant, added battery power, hibernation mode, and improved website design

    6/5/2022: Connected new website design to new product, end-to-end testing. Attempted 3D printed enclosure, but failed

    6/10/2022: iPlant design published on hackaday.io

View project log

  • 1
    Connect DHT11

    Connect the DHT11 power and ground to the power/ground rails of the breadboard. Then, connect the data pin to a 300 ohm resistor that goes to power and to a digital input of the ESP32 (pinout of ESP32 and DHT11 can be easily found online).

  • 2
    Connect Photoresistor

    Connect long side of photoresistor to power and the other side to a 10 kohm resistor. Connect that resistor to ground. Connect the high voltage side of the resistor to and ADC input of the ESP32.

  • 3
    Connect Soil Moisture Sensor

    The SMS comes in two parts which must be connected to each other via 2 female-female wires. Connect the PCB side of the SMS to the breadboard, connect power/ground pins, and connect the ANALOG data pin to an ADC pin of the ESP32.

View all 7 instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates