Me
  • Home
  • About
  • Projects
  • Resume
  • connect
Connect
Copyright © wan@proline. All rights reserved.
Back
— Dec 31, 2025 · 4 Min read

Smart Weeding Robot Control System

Overview

This project is an agricultural robotics solution designed to automate weeding operations. Developed by a team of students from Makerere University, the system consists of a 4-wheel drive rover equipped with a 6-degree-of-freedom robotic arm, all controlled via a custom-built Flutter mobile application.

The goal was to create a precise, safe, and user-friendly interface for agricultural automation that integrates real-time video monitoring and collision avoidance.

Project Site Link

Gallery

App Dashboard Interface App Dashboard Interface App Dashboard Interface App Dashboard Interface

The Development Team

  • Wangoda Francis
  • Mujuni Innocent
  • Namuli Angel Rebecca
  • Bwanika Robert
  • Nalugo Linda

Key Features

Precision Control

The core of the project is the ability to switch seamlessly between driving the rover and manipulating the arm.

  • 4WD Movement: Tank-drive steering with variable speed control.
  • 6-DOF Arm: Inverse kinematics (simplified) for precise gripper placement.
  • Dual Modes: An intuitive UI that switches context between "Drive Mode" and "Arm Mode."

Safety Systems

Safety is critical in autonomous robotics. We implemented a multi-layered safety protocol:

  • Collision Avoidance: Ultrasonic sensors override user commands if an obstacle is detected within 15cm.
  • Emergency Stop: A hardware-interrupt based kill switch immediately halts all motors.
  • Connection Monitoring: The robot automatically stops if the Bluetooth link is lost.

System Architecture

The system follows a Master-Slave architecture where the Mobile App acts as the central command unit.

1. The Frontend (Flutter)

I built the mobile app using Flutter to ensure cross-platform compatibility. It handles:

  • Bluetooth Serial Communication: Sending byte-packets to the robot.
  • Video Streaming: Rendering MJPEG streams from the onboard Raspberry Pi camera.
  • State Management: Tracking sensor data and arm position in real-time.

2. The Firmware (Arduino C++)

The robot runs on an Arduino Mega 2560. We used C++ to write code for:

  • Pulse Width Modulation (PWM): Controlling the speed of the 4 DC motors via L298N drivers.
  • Servo Management: Synchronizing the movement of 6 MG996R servos.
  • Memory Optimization: We implemented custom buffer handling to prevent stack overflow on the limited microcontroller memory.
  • Custom API: This was used to send data remotely via bluetooth to the custom built app

Future Improvements

We are currently working on integrating Computer Vision (OpenCV) to allow the robot to autonomously identify weeds versus crops, removing the need for manual remote control.

Machine Learning Model Analysis

App Dashboard Interface


View the Full Source Code on GitHub

Avatar 01Avatar 02Avatar 03Avatar 04Avatar 05
Never miss an update!

connect and join 100K+ developers.

*Sponsor
Build The Site You Want!

Your website should be an asset, not an engineering challenge.

Popular Posts
  • — SPI LCD Interface
  • — Smart Weeding Robot Control System
  • — IoT Petrol Tank Monitor