Arduino Based Autonomous Surface Vessel Asv For Water Surface Plastic Waste Cleanup
An Arduino-based autonomous robotic boat designed to collect floating plastic waste from water bodies. Powered by a battery and controlled via Bluetooth, it uses DC motors with an L298N driver and a conveyor mechanism to provide a low-cost, eco-friendly solution for reducing marine pollution.
🌊 Autonomous Robotic Boat: Plastic Waste Collection & Marine Pollution 📌 Overview An Arduino-based autonomous robotic boat designed to collect floating plastic waste from water bodies. The system uses DC motors, an L298N driver, and a Bluetooth module for navigation and control. Powered by a battery, the boat provides a low-cost, eco-friendly solution to reduce marine pollution with minimal human effort.
✅ Conclusion The robotic boat reduces manual effort in cleaning polluted water bodies. With further optimization, it has strong potential for scalable deployment in lakes, rivers, and coastal areas .
The Aqualink ASV is an open-source reference design for an autonomous surface vehicle. Included in this project are all hardware & electronics designs, software components, and instructions necessary to outfit a generic boat hull to navigate autonomously and collect camera and sensor data.
This project is designed around a collection of existing software projects, such as ROS2, Ardupilot, QGroundControl, and more. All hardware components are off-the-shelf with links to suppliers within the included Bill of Materials document. The construction process has been tailored to require no soldering and minimal, standard tools.
While there is a great deal of flexibility in which order to read and follow the instructions, the order we recommend is:
Here is an image that shows the way all of the nodes connect together via ROS2 topics:
AquaRobo: An AI-Based Autonomous Surface Vehicle for Floating Waste Collection and Waterway Cleaning** is an intelligent water-cleaning system designed to address the growing problem of plastic pollution, floating debris, and invasive aquatic weeds in urban canals and inland water bodies. Conventional barrier-based skimmers primarily trap floating waste and often require manual retrieval, frequent unloading, and labour-intensive maintenance. AquaRobo aims to overcome these limitations through an unmanned surface vehicle (USV) that actively collects floating waste while autonomously navigating waterways.
The vessel uses above-water propulsion motors to reduce the risk of entanglement associated with underwater propellers operating in weed-filled and debris-laden environments. As the vehicle moves through a polluted waterway, floating waste is guided into a trailing net-based collection and packaging mechanism designed to support continuous collection and reduce the need for frequent unloading. An Arduino UNO Q serves as the real-time hardware interface, acquiring sensor data and coordinating peripherals such as the GPS module, inertial measurement unit (IMU), electronic speed controllers (ESCs), and brushless DC (BLDC) propulsion motors. The Arduino UNO Q communicates with a Raspberry Pi 4, which handles the higher-level computational tasks, including AI-based computer vision for waste detection and density estimation, autonomous navigation, route planning, and operational decision-making.
By combining edge AI, autonomous surface mobility, coordinated propulsion control, and continuous waste collection, AquaRobo provides a potential alternative to conventional manual and barrier-based canal-cleaning approaches. The system aims to improve collection efficiency, reduce direct worker exposure to polluted waterways, and support more consistent cleaning operations in narrow or difficult-to-access canals. Future development can incorporate waste-density mapping, collection-capacity monitoring, and performance reporting to help prioritize polluted areas. Practical evaluation under varying water currents, debris loads, and weather conditions will be necessary to validate navigation reliability, collection efficiency, weed-handling capability, and sustained autonomous operation.
*BLDC motor / ESC quantity reflects the twin above-water propulsion layout shown in the prototype photos – confirm final BOM count before submission.
Urban canals and inland water bodies are heavily polluted with plastic waste, floating debris, and invasive weeds. Canals such as the Buckingham Canal (Chennai), Cooum Canal, Agra Canal ,and Indira Canal are frequently choked by fast-spreading weeds like water hyacinth, causing blocked water flow, urban flooding during rains, and degraded water quality that affects irrigation and aquatic life. Existing barrier-based skimmer systems only trap floating waste and still depend on manual retrieval using labour, boats, cranes, or heavy machinery, a process that is slow, costly, unsafe for workers, and limited to narrow-space access. Because collected waste is not removed automatically, such systems require frequent unloading, allow debris to re-accumulate downstream, and leave authorities without continuous monitoring to react to pollution build-up in time.
AquaRobo is an AI-based unmanned surface vehicle that actively collects floating waste instead of merely trapping it. The vessel is propelled by above-water propulsion motors rather than underwater propellers, removing the risk of entanglement with algae, weeds, and other waste while still allowing it to navigate the optimal path for maximum collection efficiency. Waste displaced into the vessel’s path is continuously transferred into a trailing net-based packaging mechanism, enabling uninterrupted cleaning operations without the frequent unloading that manual and barrier-based systems require.
On board, an Arduino Uno Q acts as the real-time hardware interface — integrating and controlling peripherals such as the GPS module, IMU, ESC, and BLDC propulsion motors while handling low-level sensor data acquisition. It communicates with a Raspberry Pi 4, which runs the AI-based computer-vision pipeline for waste detection and density estimation, autonomous navigation, and high-level decision-making.
Through an IoT communication network, AquaRobo shares its GPS location, live video feed, waste-detection data, collection quantity, and system health with a ground control station or mobile application, letting operators remotely monitor missions and recall the vessel in emergencies or adverse weather. The same geo-tagged images and sensor data can additionally support water-body monitoring and ecosystem assessment beyond waste collection. In its current prototype form the vessel weighs approximately 20–22 kg, runs for 1–2 days on solar and battery power, cleans a width of about 1 m per pass, and can cover an estimated 15–50 km per day, with dynamic speed control, AI-based obstacle avoidance, a two-way radio link, and onboard data/image logging.
The AI vision pipeline — floating-waste detection, waste-density estimation, and path optimization — is developed in Python using OpenCV together with YOLO and TensorFlow/PyTorch, running on the Raspberry Pi 4. Navigation and control algorithms are first modelled and validated in MATLAB/Simulink to check propulsion control and overall system behaviour before hardware implementation. The Arduino Uno Q side is programmed in the Arduino IDE using C++ to acquire GPS and IMU data and drive the ESC/BLDC motors from commands issued by the Raspberry Pi. The ground control station and monitoring dashboard are built with HTML, CSS, and JavaScript on a WebSocket architecture, giving the operator real-time video streaming, GPS tracking, and system-status monitoring over standard internet communication protocols.
A companion mobile application serves as AquaRobo’s ground control interface. Its home screen shows the vessel’s assigned area of operation, and a live view lets the operator monitor GPS location and other telemetry as a mission progresses. The app supports the vehicle’s autonomous operation — surfacing AI waste-detection results, autonomous-navigation status, and manual override/recall controls for emergencies or adverse conditions.
The Raspberry Pi 4 and Arduino Uno Q form a two-tier control architecture: the Raspberry Pi handles the camera feed and AI inference and passes navigation/motor commands to the Arduino Uno Q, which interfaces with the GPS module, IMU, ESCs, and the BLDC propulsion motors mounted above the waterline on either side of the hull. The ESCs regulate motor speed from PWM signals issued by the Arduino to steer and drive the vessel. Power is drawn from an onboard solar panel topping up a battery pack, feeding both electronics and motors. The trailing net-based collection assembly is mounted at the rear of the float, in the path of waste displaced during operation, so debris is retained without a separate pump or conveyor.
The complete system is validated through simulation, hardware-in-the-loop testing, and field trials — covering autonomous-navigation accuracy, AI waste-detection performance, propulsion/motor-control response, and overall system reliability, ahead of extended canal deployment.
Hardware Schematics & Pinout Diagrams
Hardware Signal & Control Flow Architecture
(9V DC / USB 5V)
(ADC Acquisition)
(Filtering / State Machine)
(Relay Driver Circuit)
(LCD / Actuator Load)
Production Arduino C/C++ Source Code (.ino)
[*] Initializing Hardware Core for Arduino Based Autonomous Surface Vessel Asv For Water Surface Plastic Waste Cleanup... [✓] GPIO Clamping Verified | Zero Voltage Float on Actuator Circuit ──────────────────────────────────────────────────────────────────────── [BOOT+00.02s] ADC_INIT Calibrated zero-offset = 12 mV (Clean noise floor) [RUN +01.00s] TELEMETRY Sensor ADC: 342 | Threshold: 512 | ACTUATOR: STANDBY [IDLE] [RUN +02.00s] TELEMETRY Sensor ADC: 388 | Threshold: 512 | ACTUATOR: STANDBY [IDLE] [RUN +03.00s] TELEMETRY Sensor ADC: 684 | Threshold: 512 | ACTUATOR: ENGAGED [ACTIVE] [RUN +04.00s] INTERRUPT Optocoupler PC817 saturated | Actuator Active in 4.2 ms [RUN +05.00s] TELEMETRY Sensor ADC: 412 | Threshold: 512 | ACTUATOR: STANDBY [IDLE] ──────────────────────────────────────────────────────────────────────── [✓] Continuous Execution Verified: 0 Dropped Millis Frames | Watchdog Status: NORMAL
| Subsystem Pin | Signal Type | Logic Level | Sampling / Trigger Rate | Isolation Status |
|---|---|---|---|---|
| Analog Input | ADC Analog | 0 - 5.0V / 3.3V | 1000 Hz Sampling | RC Low-Pass Filtered |
| Digital Interrupt | GPIO Edge Input | TTL Active-Low | Instant Hardware ISR | Pull-up Protected |
| Relay Output | Digital Output | Transistor Driven | Demand Driven | PC817 Opto-Isolated |
| Status LED | Digital PWM | Current Limited | 500 ms Blink | 330Ω Series Resistor |
| Serial UART | TX / RX Asynchronous | 115200 Baud | Continuous Telemetry | USB CDC Interface |