Arduino-Based Ocean Cleaning Boat Robot with Dual IBT-2 Motor Drivers and Conveyor Belt System

Arduino Ocean Cleaning Boat Robot | Smart Plastic Waste Collector
🌊 Environmental Robotics

Arduino Boat Robot for Ocean Cleaning

Smart autonomous plastic waste collector using dual BTS7960 motor drivers, a relay-controlled conveyor belt, and IoT-ready ESP32 expansion.

Arduino UNO BTS7960 IBT-2 Conveyor Belt ESP32 IoT PWM Control

Smart Ocean Cleaning Robot

The Arduino-based boat robot navigates water surfaces autonomously while an onboard conveyor belt continuously scoops floating plastic waste and stores it in an onboard compartment. Designed for lakes, rivers, and coastal prototype testing — it's an ideal final-year engineering or IoT project.

What Makes This Robot Special

🎛️

Arduino UNO Control

Embedded control with digital HIGH/LOW logic and PWM motor speed management.

Dual BTS7960 Drivers

IBT-2 modules handle up to 43A per channel — ideal for high-torque DC motors.

🔄

Conveyor Belt System

Relay-activated conveyor scoops floating waste and transfers it into a storage bin.

📡

IoT-Ready (ESP32)

Optional ESP32 upgrade enables Wi-Fi monitoring and remote control.

🔋

Battery Powered

Portable rechargeable battery system for standalone water deployment.

🧭

Full Navigation

Forward, reverse, left and right steering for complete water surface coverage.

System Block Diagram

The diagram below shows how all components interconnect — from the Arduino UNO brain to motor drivers, relay, and optional IoT module.

Arduino Ocean Cleaning Boat — System Architecture
🔋 BATTERY Rechargeable 12V / Li-ion Power Arduino UNO ATmega328P Pin 5 → Motor 1 DIR Pin 6 → Motor 2 DIR Pin 7 → Relay (Belt) PWM IBT-2 / BTS7960 Motor Driver #1 43A · Left Motor ⚙️ DC Motor L High-Torque Propulsion PWM IBT-2 / BTS7960 Motor Driver #2 43A · Right Motor ⚙️ DC Motor R High-Torque Propulsion Signal 🔌 Relay Module 5V Switching Control ♻️ Conveyor Belt Plastic Waste Collection 📡 ESP32 IoT Upgrade (Optional) Wi-Fi · Remote Monitor — Optional Module — UART / Serial LEGEND Motor / Power Signal PWM Control Signal Relay / Conveyor Optional IoT Link

How the Robot Works

1

Propulsion System

  • Two high-power DC motors driven by dual BTS7960 modules
  • Forward and reverse motion via HIGH/LOW logic on pins 5 & 6
  • Differential speed for left/right directional steering
  • PWM support for variable speed control
2

Waste Collection Mechanism

  • Relay on pin 7 activates conveyor belt motor
  • Belt scoops floating plastic from the water surface
  • Debris transfers into an onboard storage compartment
  • Collection runs continuously during navigation cycles
3

Arduino Control Logic

  • Timed movement cycles: move → stop → reverse → stop
  • Digital pin outputs control all motor directions
  • Relay switching manages conveyor operation
  • Expandable to autonomous AI-based navigation via ESP32

Hardware Components

🎛️
Arduino UNO
Main controller
IBT-2 BTS7960 ×2
High-current motor drivers
⚙️
High-Power DC Motors
Propulsion (×2)
🔌
Relay Module
Conveyor belt control
📡
ESP32 (Optional)
IoT / Wi-Fi monitoring
🔄
Conveyor Belt
Plastic collection mechanism
🔋
Rechargeable Battery
12V / Li-ion pack
🚤
Waterproof Chassis
Boat hull / frame

Robot in Action

Arduino Ocean Cleaning Boat Robot — Full Project View
Arduino Ocean Cleaning Boat Robot — Click to view full project guide on MakeMindz

Arduino Sketch

Upload this sketch to your Arduino UNO. Pins 5 and 6 connect to the BTS7960 motor drivers; pin 7 switches the relay for the conveyor belt.

boat_ocean_cleaner.ino
/*
 * Arduino Sketch — Boat Robot for Cleaning Oceans
 * Controls propulsion motors via BTS7960 and
 * the conveyor belt via relay.
 */

// Pin definitions
const int motorControlPin1 = 5;  // BTS7960 Pin 8 (Left Motor DIR)
const int motorControlPin2 = 6;  // BTS7960 Pin 4 (Right Motor DIR)
const int relayPin         = 7;  // Relay — Conveyor Belt

void setup() {
  pinMode(motorControlPin1, OUTPUT);
  pinMode(motorControlPin2, OUTPUT);
  pinMode(relayPin, OUTPUT);

  // Initial state: stopped, belt off
  digitalWrite(motorControlPin1, LOW);
  digitalWrite(motorControlPin2, LOW);
  digitalWrite(relayPin, LOW);
}

void loop() {
  // Activate conveyor belt
  digitalWrite(relayPin, HIGH);

  // Move forward for 2 seconds
  digitalWrite(motorControlPin1, HIGH);
  digitalWrite(motorControlPin2, LOW);
  delay(2000);

  // Stop for 1 second
  digitalWrite(motorControlPin1, LOW);
  digitalWrite(motorControlPin2, LOW);
  delay(1000);

  // Move backward for 2 seconds
  digitalWrite(motorControlPin1, LOW);
  digitalWrite(motorControlPin2, HIGH);
  delay(2000);

  // Stop for 1 second
  digitalWrite(motorControlPin1, LOW);
  digitalWrite(motorControlPin2, LOW);
  delay(1000);

  // Repeat the cycle…
}

Why This Project Matters

🌊

Ocean Plastic

Removes floating plastic before it breaks into microplastics

🏞️

River & Lake Clean-up

Deployable in freshwater bodies for debris removal

🤖

Smart Automation

Reduces human exposure to polluted water environments

🏙️

Smart City Ready

Aligned with green technology and smart city development goals

Built with ♻️ for a cleaner planet · MakeMindz · Arduino & IoT Project Guides

Comments

try for free