Bio Bubble
Environment Care without Human care
The problem Bio Bubble solves
The Problem It Solves
Indoor plants die easily because most people have no idea what’s happening inside the soil or the air around the plant.
Watering schedules are guesswork, humidity goes unchecked, temperature fluctuates, and people only notice problems after the plant is already damaged.
This system eliminates that guesswork by giving real-time visibility + predictive alerts.
What People Can Use It For:
- Prevent Plants From Dying
Most plants die from overwatering, underwatering, or humidity stress.
Your system tracks these conditions continuously and warns the user before the plant is harmed.
- Monitor Plant Health Remotely
People can check:
Temperature
Humidity
Soil moisture
Current stress
Future predicted stress
from anywhere via a cloud dashboard (ThingSpeak).
No need to manually check the plant every day.
- Get Predictive Notifications Instead of Guessing
Instead of reacting when a plant starts drooping, users get:
“Soil will dry out soon”
“Plant stress predicted to increase in 30 minutes”
It’s proactive plant care — not reactive.
- Helps Beginners Who Don’t Understand Plant Science
Most people don’t know ideal moisture/humidity ranges.
The system translates raw data into simple actions:
Move plant to shade
Give more light
Water soon
Stable condition
This removes the need for plant expertise.
- Reduces Maintenance Effort
No more:
Sticking fingers in soil
Overwatering
Checking humidity manually
Guessing light levels
The pod handles monitoring and decision logic.
- Makes Indoor Gardening Safer
For office buildings, elderly users, or students:
Prevent fungus from overwatering
Avoid dead plants that attract pests
Keep indoor air quality healthier through healthy plants
- Useful for Research & Education
Students can use the real-time data to study:
Plant stress behavior
Microclimate patterns
Soil moisture decay curves
Predictive AI models
It’s a mini environmental lab.
Challenges we ran into
Challenges I Ran Into
- Sensor Values Were Inconsistent and Unstable
The DHT11 and soil moisture sensor initially gave values that fluctuated heavily.
This made the AI model and stress detection unreliable.
How I solved it:
Added a pull-up resistor for the DHT11 data pin.
Averaged multiple sensor readings before sending to ThingSpeak.
Calibrated soil readings by comparing dry/normal/wet states manually.
This stabilized the data enough for meaningful analysis.
- ESP8266 Analog Pin Caused Wrong Soil Moisture Readings
The ESP8266 has only one analog pin (A0) and it accepts only 0–1V, but the soil sensor output is up to 3.3V.
How I solved it:
The module fortunately has an internal scaling resistor, so I tested readings in water, air, and soil to find the correct raw ranges.
Then I applied a custom mapping formula to derive reliable percentages.
- DHT11 Failed Randomly During Early Tests
Sometimes the serial monitor showed:
DHT read failed
Why it happened:
The sensor is slow
Needs correct timing
Requires a strong signal
Fix:
Increased delay between readings
Ensured solid wiring
Used the recommended DHT library with retries
Once corrected, readings became stable.
- ThingSpeak 404 / No Data Issue
My ESP8266 code sent data, but ThingSpeak didn’t update and kept returning “0” or “404”.
Cause:
Wrong API key
Wrong field order
Sending requests faster than 15 seconds
Fix:
Replaced incorrect key with the Write API key
Added a 20-second delay
Printed the final URL in Serial Monitor to debug
This immediately resolved the issue.
- Predictive AI Model Was Not Accurate at First
The initial model predicted stress poorly because the dataset was too small and sensors were noisy.
How I improved it:
Collected data continuously for hours
Cleaned outliers
Added features like “previous stress”, “hour of day”, and rate of change
Switched to Random Forest instead of simple regression
Prediction accuracy increased significantly.
- Vercel Deployment Gave 404 Errors
Frontend didn't load because the entry file was named App.html, not index.html.
Fix:
Renamed file to index.html
Completed Git commit properly
Pushed changes
Vercel redeployed automatically
After that, the dashboard loaded cleanly.
Technologies used