Enchanted Pot

Made by svitoora

Owning a plant is a great reminder to take care of yourself, but sometimes life gets too busy and we neglect our responsibilities. Enchanted Pot helps remind you to take care.

Created: February 2nd, 2017



Plants are physical reminders of our responsibility to take care of things, relationships, and ourselves. Unfortunately, sometimes life gets too busy and we neglect to care for our plants. A wither up and dead plant communicates to others our incapability to take care of our plants and thereby ourselves. In order to prevent plants from dying, Enchanted Pot serves as a gentle reminder to care for our plants and ourselves.



As a reaction against IoT purely becoming a method to increase our lives' efficiency, I argue that efficiency without certain responsibilitie is undesirable. An important part of being human is caring for others; be it things, human beings, or plants. Without care, we are no different machines, and therefore making a plant pot that removes the caring element from us is desirable. Instead of making a self-water IoT device attached to a water pump, I seek to animate the plant and re-emphasis the human-plant relationship. Currently your plant will text you when it needs more water, and fades back into background when its happy.

Most current indoor plant growing product seeks to make efficient the process of growing plants by reducing human intervention. This means that humans no longer are required to directly water the plants (Aerogarden, Click and Grow, etc).



//Moisture Read
int sensorPin = A0;
int Moisture_Feed = D0;

int Temp_Read = A2;
int Temp_Feed = D2;

//Light_Value = A1
int PR_Read = A1;
int PR_Feed = D1;

int Blue_LED = D6;
int Green_LED = D5;

void print_every_second()
    static int count = 0;

Timer timer(1000, print_every_second);


void setup(){
//Creating feed for PR

//Moisture Feed
pinMode(Moisture_Feed, OUTPUT);

//Temperature Feed
pinMode(Temp_Feed, OUTPUT);

//Temperature Feed
pinMode(Temp_Feed, OUTPUT);

//LED Feed
pinMode(Blue_LED, OUTPUT);
pinMode(Green_LED, OUTPUT);


//Setting up Monitor
  Serial.begin(9600); // set up serial port for 9600 baud (speed)

  delay(500); // wait for display to boot up


void loop(){
//Mositure FEED
    digitalWrite(Moisture_Feed, HIGH);

//Sesnor Readins

  int Moisture_Value;
  Moisture_Value = analogRead(sensorPin);

if (Moisture_Value < 2500) {
     digitalWrite(Blue_LED, HIGH);}
if (Moisture_Value > 2500) {
     digitalWrite(Blue_LED, LOW);}

  int Light_Value;
  Light_Value = analogRead(PR_Read);

if (Light_Value < 300) {
     digitalWrite(Green_LED, HIGH);}
if (Light_Value > 400) {
     digitalWrite(Green_LED, LOW);}

  int Temp_Value;
  Temp_Value = analogRead(Temp_Read);

//Converts to Signal to Voltage
  //sensorValue = ((analogRead(D1)/40));
  //sensorValue = sensorValue/100;
  //sensorValue = sensorValue*3.3;

//Publish Moisture
//Took between if  function from:

    if (0 <= Moisture_Value && Moisture_Value <= 2500){ // between
    Spark.publish("Moisture", String("Ready to be water.") + "");

    //Timer Non-nagginess

    if (2501 <= Moisture_Value && Moisture_Value <= 3500){ // between
    Spark.publish("Moisture", String("Still moist.") + "");

    if (3501 <= Moisture_Value && Moisture_Value <= 5000){ // between
    Spark.publish("Moisture", String("Wet.") + "");

    //Spark.publish("Moisture", String(Moisture_Value) + " fq");

//Publish Light

    if (0 <= Light_Value && Light_Value <= 200){ // between
     Spark.publish("Light", String("Too dark.") + "");

     if (251 <= Light_Value && Light_Value <= 380){ // between
     Spark.publish("Light", String("Dim.") + "");

    if (381 <= Light_Value && Light_Value <= 600){ // between
     Spark.publish("Light", String("Well Lit.") + "");

     if (601 <= Light_Value && Light_Value <= 1000){ // between
     Spark.publish("Light", String("Bright") + "");

//SERIAL DEBUG--------------------------------------------------------------––––––––––––––––––––––––––––––––––––––––––––––––

//Debugging Serial




Click to Expand


Enchanted Pot makes your plants text you when it needs water. A Photon Particle board is used in collaboration with IFTT to make the plant text used. An ambient light sensor is used to detect brightness, and two prongs of wires are used to convert the ground into variable resistor thereby a moisture sensor.



Within this project, I learnt how to connect my Particle Board to IFTT and brushed up on rusty coding skills. This project also demonstrates to me that I lack the fundamental of computer science. My goal between now and the next project is to learn how to utilize a boolean in collaboration with an if function to fix my plant from texting me every 30 seconds when it needs water. In terms of packaging, I hope that if I had more time I want my packaging to blend into one with the vessel.

Share this Project

Focused on

Owning a plant is a great reminder to take care of yourself, but sometimes life gets too busy and we neglect our responsibilities. Enchanted Pot helps remind you to take care.