RAYBOT was inspired by a simple but important question: Can we send a robot to investigate water-quality conditions before asking people to enter or closely approach a potentially unsafe environment?

Water-quality monitoring is often dependent on manual sampling, which can be time-consuming and provides information from only specific locations and moments. We wanted to build a system that could move through a water body, collect measurements from multiple locations, identify unusual changes, and present the information in a form that communities and public-safety personnel could understand and act upon.

Our solution is RAYBOT, an AI-enabled autonomous aquatic robot that combines biomimetic propulsion, multi-parameter water-quality sensing, GPS, ESP-CAM visual monitoring, and onboard edge AI using the Arduino UNO Q.

🌊 From Inspiration to Propulsion

One of the most interesting parts of the project was developing the robot's movement. Instead of using a conventional propeller, we were inspired by the undulatory motion of aquatic animals. We designed a flexible fin driven by multiple servo motors. By introducing a phase difference between adjacent servos, a traveling wave can be produced along the fin:

$$ \theta_i(t)=A\sin(2\pi ft+(i-1)\phi) $$

where $A$ represents the oscillation amplitude, $f$ is the wave frequency, $\phi$ is the phase difference, and $i$ represents the position of each fin section.

This approach taught us that successful biomimetic robotics requires both mechanical design and precise control algorithms. Small changes in servo orientation, phase, amplitude, and frequency can significantly affect the resulting wave and propulsion.

💧 Building the Water-Quality System

RAYBOT measures pH, TDS, turbidity, and temperature to build a multi-parameter picture of water conditions. GPS coordinates and timestamps are associated with the measurements so that individual readings can become meaningful spatial observations.

Rather than treating a reading such as Turbidity = 12 NTU as an isolated value, RAYBOT can ask:

Where was it measured? When was it measured? How has it changed recently?

This enables the system to identify potential water-quality hotspots and changing environmental conditions.

🧠 Bringing AI Onboard

A major part of our development was understanding how AI could be integrated into a physical robot rather than relying entirely on cloud computing.

The Arduino UNO Q provides two computing environments. The STM32 MCU handles real-time sensor and actuator operations, while the Linux MPU can perform higher-level processing and AI inference.

Our planned AI pipeline is:

Sensor Data → Filtering → Feature Extraction → Anomaly Detection → Trend Analysis → Risk Prediction → Alert

For example, if turbidity and TDS are continuously increasing while pH is moving away from its recent baseline, the AI can identify this as an unusual trend and assign a higher risk level.

The AI output is intended as decision support, not as a replacement for laboratory testing. A predicted high-risk condition would trigger additional sampling or expert verification rather than being treated as definitive proof of contamination.

📷 Adding Visual Intelligence

We also incorporated an ESP-CAM to provide visual context during the survey. This can support future computer-vision capabilities such as identifying floating debris, plastic waste, or obstacles.

Combining visual information with sensor measurements gives RAYBOT a more complete understanding of its environment.

📊 Turning Data Into Action

One challenge we identified was that collecting sensor data alone is not enough. The information needs to be understandable and actionable.

We therefore designed a dashboard that brings together:

Live water-quality measurements GPS-based sampling maps Water-quality trends AI anomaly detection Risk prediction Contamination-risk hotspots Robot and battery status ESP-CAM monitoring Alerts Community reports Historical survey data

The goal is to transform raw measurements into a simple workflow:

Sense → Locate → Analyze → Predict → Alert → Respond

🔧 What We Learned

Building RAYBOT has taught us that developing an autonomous robot involves much more than connecting sensors and writing code. We had to consider:

Mechanical stability in water Servo torque and power requirements Synchronization and phase control Sensor calibration and noise Waterproofing electronics Power management GPS and wireless communication Real-time control Edge-AI deployment Reliable interpretation of sensor data

We also learned an important lesson about AI: a prediction is only as reliable as the data and validation behind it. Therefore, our approach is to first collect representative data, establish reliable baselines, validate the models, and only then deploy AI inference onboard the robot.

🚧 Challenges We Faced

The most challenging aspects were integrating the mechanical propulsion system with electronics while maintaining reliable sensor measurements. Servos can draw significant current, water resistance affects their movement, and small mechanical differences can change the shape of the traveling wave.

Another challenge was designing the system so that real-time control and AI processing do not interfere with each other. The UNO Q's dual-computing architecture provides a natural way to separate these responsibilities.

We are approaching RAYBOT as an iterative system: prototype, test, measure, improve, and validate.

🌍 Our Vision

Our long-term vision is to move from a single robotic prototype to a scalable environmental monitoring platform. Multiple RAYBOT units could eventually survey larger water bodies, share GPS-tagged observations, identify developing hotspots, and help communities and public-safety teams prioritize locations requiring further investigation.

Ultimately, RAYBOT aims to make preliminary water-quality monitoring safer, more mobile, more intelligent, and more accessible.

Instead of sending people first, send RAYBOT first — so we know where attention is needed.

Built With

Share this project:

Updates