Project Concept & Motivation

Plants are difficult to grow and keep alive. There have been countless times when people
forget to water their plants or end up watering them too much. AutoPot is a smart gardening
system that will allow the users to easily raise their plants by having automated plant care.

Soil moisture, soil nutrients, and sunlight exposure are important factors when it comes to
plant growth. AutoPot will not only keep track of plant health and growth by keeping track
of those elements but also automatically refill those resources when they are lacking. AutoPot
will also notify users of the plant status. This leads to a more carefree plant owning experience.

Project Requirements

Functional Requirements:

  • Track soil moisture and sunlight exposure
    • Moisture Sensing
    • Light sensing and plant rotation to accommodate light source
  • Automatically satisfy a lack of a resource:
    • Moisture: waters the plant
    • Sunlight: rotate to seek light source
  • Data collection from the sensors for plant monitoring
  • Customizable settings for different plant needs, controlled via web app
  • Display on plant to notify users of its status as well as a notification system that pings the users with possible concerns through a UX component and a web app
  • Measure temperature and humidity, and alert users when there are unfavorable environments
  • Users receive alerts and notifications via the web application
  • Bluetooth audio allows for music playing to enhance plant-growing environment, both for the user and the plant itself

Non-functional Requirements:

  • Safety:
    • should operate without any major safety concerns to the user or the plant
  • Reliability:
    • should operate with minimal user input (other than tasks that require human interaction)
    • readings should be accurate
    • actions should occur in a timely manner
  • Usability:
    • pot needs to be within certain dimensions

Technical Specifications


Particle P1
$120 w/ STM32F205 120Mhz ARM Cortex M3
Custom PCB
~ $160

TSL2591 HDR Light Sensor
$6.95 w/ 188 uLux sensitivity, up to 88,000 Lux input measurements
BME280 Temp., Humidity, and Press. Sensor
DS18B20 Temperature Sensor
$9.95 w/ temperature range of -55 to 125°C (-67°F to +257°F)
Chirp Soil Moisture Sensor

CSR8630 Bluetooth Audio
1 x TS2012 Audio Amplifier
2 x 4Ω 2W 87dB Speakers

FT800 Display Controller
4.3” LCD Display

2 x Brushed Motor Driver
Brushed High Micro Metal Gearmotors
Peristaltic Pump


The server logs data from the planter periodically depending on the users settings and uses that data to get the health status of the plant.

Web app
The web app provides an easy to use user interface allowing user to customize their settings for their planter, control their planters, and get an update on their health of their plant. Such as plots showing the temperature of the plant throughout the day and features such as switching the plant to sleep mode.



Interaction and System Diagrams

Interaction Diagram

Moisture and Dispensor
Time event sensing of moisture within pot soil. When moisture levels are below the set threshold, dispense water from reservoirs. Water is dispensed directly into the soil. When the water reservoir is below threshold, users are prompted to refill.
Light Sensor and Rotating Base
Time event sensing of sunlight. Reported data is used to compute rotation of the pot, so that the plant receives even amounts of sunlight.

Bluetooth Audio
Music can be played through bluetooth for the plant. Speakers are connected to the pot itself so the vibrations will transfer through the soil to the plant.
LED Display
Allows the user to see the status of their plant. Any immediate worries will be displayed on the screen and the user should be alerted through the web application as well as the display.
Web Application
All data gets compiled and visualized in the web application. User interfaces with the project mainly through this.

System Diagram

Responsible for gathering information from the environment and passing it along to the microcontroller in order to interact with the dispensing systems and rotating base. Our product will include a soil temperature, humidity, pressure, moisture, and sun light sensor and utilize the information gathered from these sensors.

Audio speaker system that allows the user to deliver custom bluetooth audio to the plant. Two speakers have been attached to the interior rim of the pot to deliver equal amounts of audio vibration to the plant from either side.
User Interface
Provides a way for the user to interact with their product through the use of a web app and an OLED Display on the pot itself. The LED display will show something like a smiley face to demonstrate that your plant is currently fine, or a frowny face in order to indicate that something is wrong if for example, the temperature conditions were not suitable for the plant. The background color of the OLED display also changes based on the plant's current statuts.

The web app also has a dashboard that contains current status information on the plant and sends notificationsto the user. The web application also allows the user to configure settings and track long term progress.
Base structure of the project should be able to rotate in order to allow for sunlight to reach all parts of the plant equally.

Subsystem responsible for dispensing the water to the plant through the use of servos and a water pump paired with a motor driver. The water tank will need to be refilled by the user whenever it runs low, and the command to water the plant can be send from the web app.

System has the option to be powered by either battery or outlet. Power can be shut down so that the system runs only on battery, and the system can be put into a sleep mode while on battery power.

Current Progress


Project Proposal Presentation
initial presentation for project

Final Report
final report of the project


Design Proposal
formal design proposal

Demo Poster
poster used during public demo

Project Timeline

February 22 - first demo

Presented our initial idea with the system and interaction diagrams. Decided on which initial parts to order so we could get started.

february 29

Set up the tool chain and started our PCB schematics.

march 7

Got CAN protocol to work between our Nucleo boards. Got Photon to work and integrate with webapp.

march 21

Enabled talking between Nucleo boards and Photon. A MVP of the webapp was done with fake sensor data and visualization of that data. Redesigned the board and schematics were continued to be worked on.

march 28

Integration of Nucleo, RGB sensor, Photon, and the webapp. Demoed the ability to sense RGB values and send the values through Photon to the webapp. Finished board schematics. Working OLED display.

april 4

Cleaned up libraries for the current sensors we have. Bought a pot. Write up and clean up libraries for the current sensors we have.

april 11

Wrote and cleaned up libraries for the current sensors we have. Chose a pot. Researched and populated plant data and set up the database for that. .

april 18

Interfaced BME280 (pressure/temperature/humidity sensor) with MCU. Multiple sensors on one MCU. Started working on communication between the Nucleo boards. Construct PCBs.

april 25

Continued working on PCBs. Wrote up the rest of the libraries for sensors and started writing up a CAN protocol between the MCUs. Web app utilizes database now and allows for different configuration changes.

april 30 - final system demo

Ended up scrapping the PCBs and using a different one because there were some odd problems with our custom PCBs. Connected everything using a particle p1 module and all of the sensors were connected to one PCB that wirelessly sent the values to the webapp. Had a working display, temperature/light/humidity/pressure sensors, and watering mechanism. Communication working between the board and the webapp. Data was populated from the sensors to the web app. Most of what could be done was done by this point.

may 5 - public demo

Repackaged the whole pot to make it more presentable. Added rotating base to the plant so it can now spin from the light sensor readings. Changed water pump as well to make it more sleek. Additional user interaction was added. Demo went well and people seemed to like it!

Photo Gallery

initial pcbs
particle p1 module
initial water pump design
new pcb with bluetooth speakers
final display
inside of final pot