Urban trees are vital for cities, but maintaining them is time-consuming and inefficient. Our team designed a system using IoT sensors, AI analysis, and mobile/web apps to remotely monitor tree health in real time. This project won the Gold Medal at the 1 Idea 1 World Competition 2025 in Turkey
Back in February, there was this huge storm — like heavy rain, crazy winds, nonstop thunder. It was called Yagi, and it caused a lot of trees to fall over, damaging roads and even leading to some deaths. What really shocked me was that even after the storm ended, trees kept collapsing because their roots were already weak or the soil was too loose. That’s when my friends and I started thinking: “What if there’s a way to monitor trees and warn people before this happens?” And that’s how this idea began.
I helped design, build, and test a smart alert system using sensors and the ESP32 microcontroller. We used components like the DHT11 (temperature & humidity) and MPU (tilt) to collect data, which is sent to ThingSpeak. I trained an AI in Python to spot patterns and trigger alerts, then built a mobile app with MIT App Inventor to display warnings. The app currently works only on Android due to a specific extension, but I’m learning to expand it. I also earned a certificate in C++ while programming the ESP32 (check it out on my "Certificates" page!).
I trained the AI in Python to analyze patterns and give smart alerts. This was exciting because I’ve studied Python before, and it felt great to apply it here.
The app? I built it using MIT App Inventor. Just drag and drop — fun and frustrating at the same time 😂. It connects to ThingSpeak, pulls sensor data, and shows warnings.
Limitation: For now, it only works on Android because of an extension, but I’m learning more to improve that!
I also earned a certificate while studying C++ to program the microcontroller ESP32 and the sensors.(see it in the "Certificates" page).
Real-time data of temperature, humidity, soil moisture, and alerts from smart sensors.
Sensor coder, mobile app designer, and AI programmer behind the system.
Live map tracking of 4 monitored trees in our local area.
At first, our goal was to display everything on a website. But here’s the problem: the site only worked on LAN (local network), which means only devices connected to the same Wi-Fi could see it. Not practical at all. So, we tried to explore other options — Java, JavaScript, CSS, and HTML — but honestly, they were too hard for us. None of us had ever touched those before, and learning them from scratch would’ve taken way too long.
That’s when I suggested using MIT App Inventor. I had learned it back in secondary school, and it’s super beginner-friendly — kind of like Scratch, where you just drag and drop blocks to build stuff. Since I already knew how it worked, I was assigned to design the app. I made it connect to ThingSpeak, an online platform that stores our sensor data. This way, the app could pull live data from the cloud and display it on any phone, anywhere — no LAN problems!
This was also how we divided tasks as a team: everyone took on what they were best at or most comfortable with. We each had different strengths, and we made it work together.
We met each other in an online coding class and decided to join this competition as a team. We had already learned about AI, so we divided the work based on each person's strengths—AI, sensors, mobile app, and hardware. The hardest parts were definitely the physical circuits and the coding. There was a lot of code, and it had to work smoothly with the real-world sensors and wiring, so syncing everything was quite a challenge. But thanks to teamwork (and a lot of testing), we made it through!
So I was wiring the DHT11 sensor — it’s super cheap but sensitive — and I accidentally flipped the power and ground wires. The thing got HOT and basically melted ☠️. I panicked, ran to my coach, and he just laughed and said it was cheap and replaceable. Lesson learned! Now I double-check everything.
At the competition, I faced my first challenge: soldering a single sensor. What should have taken a few minutes stretched into half an hour of shaky hands, trial, and error. But that struggle was where I learned the most. By the next parts, I was faster, steadier, and more confident. That 30-minute battle turned into the foundation for the skills I carried through the whole build.
At first, some teammates wanted to use Java since they were familiar with it, but I preferred Python. In the end, we decided to use C++ for the sensors and Python for the AI parts—which meant I had to learn some C++ too!
We met monthly on Google Meet from January to late April. Usually, we worked on our own for a week, then asked for feedback or help from our mentor if needed. Thankfully, with our mentor’s support, we didn’t face any big issues—we always had a way to solve things.
I plan to build an improved version of the app, possibly with iOS support. I also want to train smarter AI models using more sensor inputs, test the system on more trees — especially in urban heat zones — and eventually explore how it could scale for smart city applications.
This was my first real step into combining code, sensors, and purpose. I'm proud of how far we came, and I can't wait to keep building tech that helps the environment. One tree at a time 🌳✨