My Final Project Development-Week01
When I heard that our school would be introducing greenhouses and hydroponics this year, I was thrilled—it’s an exciting and an innovative step forward. That’s when I thought, why not take it a step further and create a prototype for a smart automated greenhouse that could have real-world applications?
In Bhutan, Ema Datshi—the beloved chili and cheese stew, a favorite dish among both locals and tourists—is more than just a meal; it’s a cultural staple that holds a cherished place in every household. Chilies[locally known as Aema] and spices are not just ingredients—they’re a crucial part of our culture and daily life. Most Bhutanese dishes are incomplete without a generous addition of chili, which is deeply rooted in our culinary traditions. Recognizing this, I wanted to create a Smart Automated Greenhouse specifically designed to cultivate chili under optimum conditions. This system ensures the ideal temperature, humidity, and soil moisture for the chili plants, allowing them to thrive even in challenging cold mountains.
Thus I came up with my final project idea. My goal is to design a self-sustaining greenhouse that regulates temperature, humidity, and soil moisture through sensor-based automation, solar-powered heating, and smart irrigation. This project allows me to integrate 2D and 3D design, additive and subtractive fabrication, embedded programming, and system integration—pushing my skills across multiple domains.


Week02 Progress
During this week's local session, Rico suggested adding a fun twist to my greenhouse project instead of the typical house-like design. Inspired by this, I decided to create an animal carrying my greenhouse(Aema Chhim) and while exploring I wanted to create a rough model and this link, has been of great help to me. For that I needed to learn the basics of Fusion360.
Week04 Progress-Embedded Programming
During this week we learned circuit simulation and browsed through the datasheet for our micro controllers. To make tiny little baby steps, I followed a tutorial, and simulated a circuit that prints the readings from the LDR[Light Dependent Resistor.]
Firstly go to Wowki and choose Arduino Uno and start from scratch
Then press on the plus button and add an LDR
Connect the following terminals as given in the diagram
Then when you press on the red box that is circled, you can manipulate the illumination so the readings would be different.
We have to connect AO to a GPIO because our data is analogue and is continuous. While coding too, we have to set that GPIO as our INPUT. The code that I wrote after watching the tutorial is given below:
NOTE: I asked AI[chatgpt] to write me the code to enclose the following code into a clickable button. I copied the code and pasted it in the chat and the prompt was "Modify the code to enclose the following in a clickable button that will open and hide it when clicked."
Then i also wanted to try simulating the DHT22 sensor and for that I referred to this tutorial. This time instead of Arduino Uno board, I chose to work on ESP32.
Firstly presss the plus(+) button and then scroll down to inputs and select DHT22 sensor.
Next connect the following.


Then go to the library manager and search up DHT sensor and then download DHT sensor library and then it will be installed. The library provides predefined functions to make communication with the sensor easier.
When you press on the sensor, you will be able to manipulate the humidity and temperatures value.
Then you can simulate it and the temperature and the humidity readings will be displayed.


NOTE: I asked AI[chatgpt] to write me the code to enclose the following code into a clickable button. I copied the code and pasted it in the chat and the prompt was "Modify the code to enclose the following in a clickable button that will open and hide it when clicked."
Week 05 Progress!
This week our local instructor assigned each of us our support instructors[fab academy students who have graduated last year] and I got 2 great mentors for fab academy namely Ngawang Pemo Dukpa and Yangtshel Wangyel. Then I went through their websites and in azhim Ngawang's website, I saw that she created a pseudocode to understand the workflow of her project better and then i thought why not do it myself. Then I gave the AI-Chatgpt this prompt, "Generate a pseudocode for an automated greenhouse using various sensors and actuators, including DHT22, Light Sensor (LDR), Soil Moisture Sensor, and actuators like Heater, Water Pump, and ventilation system. The main loop should read sensor data send the information to the microcontroller and decide whether to activate or deactivate actuators based on sensor thresholds while including a delay for the next cycle.
However then I had to edit some of it myself because I did not find it satisfactory as instead of saying activate fan if the temperature is too high, it said to activate ventilation which was kinda vague. Otherwise it did a great job
BEGIN // Initialization Initialize Temperature Sensor (DHT22) Initialize Light Sensor (LDR) Initialize Soil Moisture Sensor Initialize Actuators (Heater, Water Pump, Fan) Initialize Display/Control Interface // Main Loop WHILE system is running DO // Read Sensor Data temperature <- Read Temperature Sensor (DHT22) humidity <- Read Humidity Sensor (DHT22) light_level <- Read Light Sensor (LDR) soil_moisture <- Read Soil Moisture Sensor // Control Logic IF temperature < MIN_TEMPERATURE THEN Activate Heater ELSE IF temperature > MAX_TEMPERATURE THEN Deactivate Heater Activate Fan ENDIF IF humidity < MIN_HUMIDITY THEN Activate Humidifier (if available) ELSE IF humidity > MAX_HUMIDITY THEN Activate Fan ELSE Deactivate Fan ENDIF IF soil_moisture < MIN_SOIL_MOISTURE THEN Activate Water Pump for IRRIGATION_TIME ELSE Deactivate Water Pump ENDIF // Display Data Display Temperature, Humidity, Light Level, and Soil Moisture on LCD/Interface // Wait for next cycle Delay(SYSTEM_UPDATE_INTERVAL) ENDWHILE END