Inspiration

The inspiration for Aeropont stems from the urgent need to optimize renewable energy infrastructure. Solar farms are often located in remote, harsh environments where manual inspection is not only dangerous but economically inefficient. We realized that even a thin layer of dust or a minor micro-crack can reduce energy output by up to 25%. We wanted to build an "autonomous inspector" that could live on the edge, providing instant feedback without needing constant human oversight or high-bandwidth cloud connections.

What it does

Aeropont is an intelligent monitoring system that performs a localized health check on solar arrays. Using a camera feed, it:

  • Identifies: Precisely locates every solar panel in the field of view using a custom-trained object detection model.

  • Analyzes: Isolates each panel and passes it through an Anomaly Detection engine.

  • Flags: Rather than just saying "dirty," the system compares the current state against a learned "optimal" state, flagging anomalies like cracks, bird droppings, or heavy soiling that require human intervention.

How we built it

We leveraged the Arduino UNO Q and the App Lab ecosystem to create a Python-based edge application. The architecture relies on a "Reconstruction Logic" approach:

  • Object Detection: We utilized the objectdetection Brick to generate bounding boxes $(B)$ defined by coordinates: $$B = [x_{min}, y_{min}, x_{max}, y_{max}]$$

  • Anomaly Detection: We trained our model using a Generative Adversarial Network (GAN) logic, but only on images of "clean" panels. The model learns a mapping function $G$ that attempts to reconstruct any input image $x$ as a clean version.

  • The Math: We calculate the Residual Map ($R$) to find defects: $$R = |x - G(x)|$$

If the mean of $R$ exceeds a specific threshold $\tau$, an alert is triggered.

Challenges we ran into

The biggest hurdle was Computational Constraints. Running a detection model followed by a deep reconstruction model on edge hardware is demanding. We had to optimize our image tensors to ensure that the hand-off between the objectdetection Brick and the anomalydetection Brick didn't cause a memory overflow.

We also faced "False Positives" caused by Specular Reflection. Sunlight hitting the glass at a specific angle can look like a crack to a naive AI. We had to implement a preprocessing normalization layer to "flatten" the lighting before the anomaly check.

Accomplishments that we're proud of

Zero-Defect Training: We successfully implemented a system that doesn't need to see "broken" panels to know something is wrong. By only learning what "perfect" looks like, the AI is prepared for unexpected types of damage it has never seen before.

Real-time Latency: We managed to get the full pipeline (Detection + Anomaly + Web UI update) running with minimal latency on the UNO Q.

What we learned

We learned that Data Quality > Data Quantity. Training on 100 high-quality, perfectly clean solar panel images yielded a much more reliable anomaly detector than training on 1,000 noisy images of different types of dirt. We also gained a deep appreciation for the Arduino App Lab’s ability to bridge complex AI backends with accessible Web UI frontends through Socket.IO.

What's next for Aeropont

The next step is Temporal Analysis. Instead of just looking at a single frame, we want Aeropont to track the rate of degradation over time. By calculating the derivative of the anomaly score $S$ with respect to time $t$: $$\frac{dS}{dt}$$ we can predict exactly when a panel will drop below a specific efficiency threshold, moving from reactive maintenance to true Predictive Maintenance.

Built With

Share this project:

Updates

Submission history