A project by Darkscript
PodPal is a smart plant pod that automates plant care through a closed-loop, AI-driven feedback system. It monitors the environment, sends data to a custom-trained AI, and receives adaptive growth plans to ensure your plants thrive.
The PodPal experience is delivered through two distinct applications, each designed for a specific purpose:
- 📊 The Dashboard App (This Repository): This is your command center. Use it for initial setup, monitoring detailed historical data on charts, and generating AI-powered analytical reports.
- 😊 The Companion Display (PodFace): This app provides an at-a-glance, emotional connection to your plant. It runs on a dedicated display (like a tablet) and shows a friendly, animated face that reflects the plant's current state. View the PodFace App Repository Here
![]() |
![]() |
![]() |
![]() |
- 🤖 AI-Powered Analytical Reports: Go beyond raw data. Generate detailed daily health reports that analyze environmental trends, provide an expert assessment of your plant's health, and offer proactive recommendations.
- 🧠 Adaptive Growth Plans: The "AI Guardian" requests a new, optimized growth plan from Gemini every 30 minutes, using 12 hours of historical data to make intelligent, adaptive decisions about light, water, and climate.
- 😊 Emotional Companion Display (PodFace): A secondary app that provides an ambient, at-a-glance emotional connection to your plant, showing if it's happy, thirsty, or sleeping.
- 📈 Historical Data Visualization: Track temperature, humidity, soil moisture, and resource levels over time with clean, easy-to-read charts.
- 🛠️ Full Manual Control: A "Developer Mode" allows for precise manual control over every hardware component, from light thresholds to nutrient dosing schedules.
These instructions will get you a copy of the project up and running on your local machine.
- Flutter SDK: Installation Guide
- Android Studio or Visual Studio Code
-
Clone the repository:
git clone https://github.com/darkscript-dev/PodPal.git
-
Navigate to the project directory:
cd PodPal
-
Install dependencies:
flutter pub get
-
Set up your Gemini API Key:
- Create a new file named
.env
in the root of the project. - Add the following line to the
.env
file, replacingYOUR_API_KEY
with your actual Gemini API key:
- Create a new file named
-
Run the app:
- VS Code: A pre-configured launch profile named "PodPal (.env)" is included. Select it from the "Run and Debug" panel and press the play button.
- Android Studio: A shared run configuration is included. It should be selected by default. Simply press the green "Run" button.
lib/api
: Contains services for interacting with external APIs (Gemini, Pod hardware) and the local database.lib/models
: Defines the data models used throughout the application.lib/providers
: Manages the application's state using the Provider package.lib/screens
: Contains the UI for each screen of the application.lib/widgets
: Contains reusable UI components.
The PodPal hardware operates on a dual-microcontroller architecture to separate tasks efficiently.
This microcontroller is directly connected to all sensors and actuators. Its sole responsibility is to manage the plant's immediate environment based on the active thresholds. The code for the Due can be found in the /arduino/DVE_R3_The_Sensor_Hub
directory.
- Arduino Due (or compatible)
- ESP8266 (for Wi-Fi)
- DHT11 Temperature and Humidity Sensor
- Soil Moisture Sensor
- Light Dependent Resistors (LDRs)
- Servos
- Water Pump
- Fan
- Grow Light
This microcontroller acts as a communication bridge between the Flutter app and the Arduino Due. The project is structured to easily incorporate it in the /arduino/esp8266_wifi_bridge
directory once ready.
We are passionate about the future of PodPal.we plan to evolve our current prototype into a fully integrated, self-contained product.
Our key development goals include:
- ➡️ Integrated Companion Display: Embed a Raspberry Pi and LCD screen directly into the PodPal, creating the elegant, all-in-one device shown in the concept image above.
- 📷 Camera Integration with Gemini Vision: Integrate a camera to allow the AI to visually monitor plant health, detect disease, and identify growth stages automatically.
- ☁️ Cloud Dashboard for Researchers: Create a web platform for the lab/greenhouse market, allowing them to manage and analyze data from a fleet of PodPals in real-time.
- 🌱 Community-Sourced Growth Plans: Allow users to share and download proven AI-generated growth plans for different types of plants.
Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
- A huge thank you to MihirangaDissanayake for developing and providing the complete Arduino code for the sensor hub.
- Special thanks to Gayan Kaushalya and Oshadhi Rathnayake for their valuable assistance.
- This project was built using Flutter, Google Gemini, and Arduino.
Distributed under the MIT License. See LICENSE
for more information.