Weed Cutter Robot
Weed Cutter Robot
Automation is rapidly growing in the present technology. So, automation plays a vital role in the
agricultural field which is helpful for the farmers. In the earlier days, the gr cutters used were manually
handheld devices. Because of this, there was pollution and loss of energy as they used gas and petrol engines.
So, the old weed cutters need to be replaced by automated ones, where the system will work for guidance and
obstacle detection using battery as a power source. And it used Arduino UNO microcontroller board as the
main controller of the system, ESP32 cam for monitoring and building a connection through Wi-Fi, a linear
blade for cutting the weeds, and a motor drive for the wheels of the Robot.
In this project, we introduce the semi-automatic weed cutter for cutting weed. Weed cutter can be able
to decrease the workload of cutting weeds in the field; also, the operating force is given by the rechargeable
battery that is fixed to the cutter, sensors, and the esp32 cam is used to monitor the weeds. The weed-cutter
and motors used in the vehicle will be frontier with the Arduino nano, the entire motors’ management. The
vehicle will be in boundary with the esp32 cam used to observe and guide the robot. On obstacle detection, the
robot can be manually controlled through an application which has camera screen and remote controls. This
project aims to develop a semi-autonomous weed-cutting robot that helps reduce the work load in the
agricultural fields.
TAABLE OF CONTENTS
CHAPTTER 1: INTRODUCTION
1.1 INTRODUCTION 01
1.2 PROBLEM IDENTIFICATION 02
1.3 PROBLEM FORMULATION 02
1.4 LITERATURE REVIEW 03
CHAPTER 1
INTRODUCTION
1.1 INTRODUCTION
From the dawn of the human civilization, agriculture has played a pivotal role in ful-filling the demand
for the food. With the human population on the rise, the demand for the food has also increased and so is the
dependency on the agriculture industry. But the present situation suggests otherwise. There is a dearth of
manpower created in the agricultural sector and people are moving to live in the cities, and villages are
becoming more and more urbanized because of the irregularities in the rainfall, less yield, etc. At the current
growth rate of the world population, it is important to address the issue of the dwindling agricultural sector.
The field of Robotics on the other hand evolved exponentially during the past few decades. Robotics deals
with the construction, design, operation, and use of robots, and apart from that it also deals with their computer
systems for the processing of information and for obtaining the sensory and control feedback. The emerging
area of applications for the robots or drones in the agriculture are weed-control, seed planting, soil analysis,
environmental monitoring, and harvesting.
Through the utilization of IoT and robotics technology, this innovative project not only enhances the
effectiveness of weed-cutting operations but also mitigates the physical strain imposed on the workforce. The
primary objective is to usher in a new era of empowerment for users, granting them the ability to exercise
remote oversight and control over the intricacies of weed-cutting operations. At the core of this technological
marvel is the integration of IoT, which enables seamless communication between the weed Cutter Robo-Car
and an intuitive Android application. This integration allows users to remotely monitor and manage various
aspects of the weed-cutting process, providing a level of control unprecedented in traditional lawn
maintenance.
This innovative solution not only enhances operational efficiency but also contributes to resource
conservation by utilizing data-driven decision-making for optimal resource utilization. Through the integration
of IoT, the project addresses environmental concerns by minimizing the ecological impact associated with
traditional agricultural practices. The Android application serves as a central hub, allowing users to receive
real-time updates, set preferences, and even initiate weed-cutting operations from the comfort of their
smartphones.
Remote oversight empowers users to make informed decisions, adjusting the weed Cutter Robo-Car's
course or operation parameters based on the real-time feedback received through the IoT platform. The
paradigm shift introduced by this project extends beyond mere technological innovation; it signifies a
commitment to redefining the relationship between humans and the maintenance of agricultural fields. As the
Weed Cutter Robot 2
demand for efficient and eco-friendly lawn maintenance solutions grows, the IoT-enabled weed Cutter Robo-
Car emerges as a pioneering force in reshaping the landscape of traditional practices.
2. By framing the objectives within this comprehensive context, the IoT-enabled weed Cutter Robo-Car
aspires to redefine the benchmarks for efficiency and accessibility in weed-cutting operations. The
focus on minimizing manual labor aligns with contemporary demands for automation and efficiency
in landscaping practices.
3. The integration of remote operation through an Android application not only enhances user
convenience but also aligns with the evolving landscape of smart technology. Ultimately, this project
endeavors to establish a new standard in weed-cutting methodologies, incorporating advanced
Weed Cutter Robot 3
technologies to create a solution that is not only effective but also adaptable to the changing needs of
crop maintenance.
In this paper, they develop an electric based battery-operated grass cutter. An electrical Grass Cutter is
more suitable & easier to use than the Grass Cutter with an engine, they select an electrical Grass Cutter with
an electric motor, which will provide the high-speed rotation to the blades. Cordless electric Cutters are
powered by 12-volt rechargeable batteries.
2. Design and Fabrication of Hybrid Operating Grass Cutter. Aditya S. Rajmani, Appaji N. Gaonkar,
Ajay Darak, Akshay Joshi Prof. Vinay M. Murgod.
In this research paper due to the cost of fuel and the effect of emission of gases from the burnt fuel into
the atmosphere. This necessitude the abundant solar energy from the sun as a source of power to drive a lawn
mower. A solar powered lawn mower was designed and development, based on the general principle of
moving. The designed solar powered lawnmower comprises of direct current (D.C) motor, a rechargeable
battery, solar panel, a stainless-steel blade, and control switch. Mowing is achieved by the D.C motor which
provides the required torque needed to drive the stainless-steel blade which is directly coupled to the shaft of
the D.C motor. The solar powered lawnmower is operated by the switch on the board which closes the circuit
and allows the flow of current to the motor which in turn drive the blade used for mowing. The battery
recharges through the solar charging controller. Performance evaluation of the developed machine was carried
out with different types of grasses.
3. Automated Solar Grass Cutter (February 2017) Ms. Rutuja A. Yadav, Ms. Nayana V. Chavan, Ms.
Monika B. Patil, Prof. V.A. Mane
In this paper they are trying to make a daily purpose robot which is able to cut the grasses in lawn. The
system will have some automation work for guidance and other obstacle detection and the power source that
is battery and a solar panel will be attached on the top of the robot because of this reduces the power problem.
Automated solar grass cutter is increasingly sophisticated, are self –docking and some contain rain sensors if
necessary, nearly eliminating human interaction. It works much the same as the Robomow with a boundary
wire implanted at the border of your lawn. The system is switched to automatic mode in which the robot’s
infrared sensors make a comparison between, cut and uncut grass. The mower continues this process until it
Weed Cutter Robot 4
completes the job. The system uses 12v batteries to power the vehicle movement motors as well as the grass
cutter motor. They also use a solar panel to charge the battery so that there is no need of charging it externally.
The grass cutter and vehicle motors are interfaced to an 8051-family microcontroller that controls the working
of all the motors. It is also interfaced to an ultrasonic sensor for object detection. The microcontroller moves
the vehicle motors in the forward direction in case no obstacle is detected. If in case obstacle is detected by the
sensor then the microcontroller stops the grass cutter motor so as to avoid any damage to the
object/human/animal coming.
4. Design and Fabrication of Hybrid Operating Grass Cutter. Aditya S. Rajmani, Appaji N. Gaonkar,
Ajay Darak, Akshay Joshi Prof. Vinay M. Murgod.
In this research peper due to the cost of fuel and the effect of emission of gases from the burnt fuel into
the atmosphere. This necessited the abundant solar energy from the sun as a source of power to drive a lawn
mower. A solar powered lawn mower was designed and development, based on the general principle of
moving. The designed solar powered lawnmower comprises of direct current (D.C) motor, a rechargeable
battery, solar panel, a stainless-steel blade and control switch. Mowing is achieved by the D.C motor which
provides the required torque needed to drive the stainless-steel blade which is directly coupled to the shaft of
the D.C motor. The solar powered lawnmower is operated by the switch on the board which closes the circuit
and allows the flow of current to the motor which in turn drive the blade used for mowing. The battery
recharges through the solar charging controller. Performance evaluation of the developed machine was carried
out with different types of grasses.
5. Solar bases wireless grass cutter (IJSTE - International Journal of Science Technology & Engineering
, May 2016)
According to the author, the idea of autonomous machine used to reduce man power with efficient
work has given. Mainly this project explains application of green energy. This knowledge can be used in
agricultural field as a future scope.
Weed Cutter Robot 5
CHAPTER 2
PROJECT MECHANISM
ESP32 CAM
Mobile
Application
Arduino Nano
Relay Module
L298N
Motor 4 - Gear
Driver Motors
Weed Cutter
Power supply
The Wi-Fi remote-controlled car robot with a weed-cutting mechanism operates by combining real-
time video streaming, remote control, and motorized weed cutting. The primary components include the
ESP32-CAM for video streaming, the Arduino Nano for motor control, and a weed-cutting mechanism driven
by a motor.
The ESP32-CAM captures live video from the robot's surroundings and streams it over Wi-Fi to a
mobile application. This allows the user to view what the robot "sees" in real time, even when it is out of sight.
The mobile app not only displays the video feed but also provides control buttons to navigate the robot.
When the user sends movement commands through the app, they are transmitted via Wi-Fi to the
ESP32-CAM. These commands are then relayed to the Arduino Nano, which processes them and controls the
robot's motors. The motors drive the wheels, allowing the robot to move forward, backward, and turn left or
right.
In addition to movement control, the robot features a motorized weed-cutting mechanism. This cutting
blade is activated by the user through a command sent from the mobile app. The Arduino Nano receives this
signal and triggers the motor responsible for spinning the cutting blade. The robot can then be maneuvered
over areas with weeds, where the spinning blade cuts through the vegetation effectively.
The combination of video feedback, remote control, and a cutting mechanism enables the robot to
navigate uneven terrains and cut weeds efficiently, even in hard-to-reach or hazardous areas. By using Wi-Fi,
the robot can operate over longer distances compared to traditional remote-control systems, allowing for both
navigation and weed cutting from a safe, remote location.
Weed Cutter Robot 9
CHAPTER 3
HARDWARE REQUIREMENTS
This board has many functions and features like an Arduino Duemilanove board. However, this Nano
board is different in packaging. It does not have any DC jack so that the power supply can be given using a
small USB port otherwise straightly connected to the pins like VCC & GND. This board can be supplied with
6 to 20volts using a mini-USB port on the board.
FEATURES
ATmega328 Microcontroller
Power
Sleep Modes
• Idle
• ADC Noise Reduction
• Power-save
• Power-down
• Standby
• Extended Standby
I/O
• 20 Digital
• 8 Analog
• 6 PWM Output
The primary processor in the Nano board is the high-performance and low-power 8-bit ATmega328
microcontroller that runs at a clock frequency of 16 MHz. The ability to interface external devices through
serial communication supported by the chip with UART TTL (5V), I2C (TWI) and SPI. Nano can be
programmed with Arduino software reducing the entry barriers for new users. Smallest dimension embedded
hardware makes it a perfect choice for breadboard-friendly projects from the maker community.
Weed Cutter Robot 11
The Nano can be powered by either the USB port or alternatively via VIN. The input supply of VIN is
regulated by an LDO so the supply is limited to 5 V for the optimal functioning of the board. There is also
another regulator which limits the voltage to 3.3V for powering the components with low voltage requirements.
Weed Cutter Robot 12
Power Pin (Vin, 3.3V, 5V, GND): These pins are power pins
• Vin is the input voltage of the board, and it is used when an external power source is used from 7V to
12V.
• 5V is the regulated power supply voltage of the nano board and it is used to give the supply to the
board as well as components.
• 3.3V is the minimum voltage which is generated from the voltage regulator on the board.
Analog Pins (A0-A7): These pins are used to calculate the analog voltage of the board within the range of
0V to 5V
Weed Cutter Robot 13
I/O Pins (Digital Pins from D0 – D13): These pins are used as an i/p otherwise o/p pins. 0V & 5V
Serial Pins (Tx, Rx): These pins are used to transmit & receive TTL serial data.
External Interrupts (2, 3): These pins are used to activate an interrupt.
PWM (3, 5, 6, 9, 11): These pins are used to provide 8-bit of PWM output.
SPI (10, 11, 12, & 13): These pins are used for supporting SPI communication.
IIC (A4, A5): These pins are used for supporting TWI communication.
AREF: This pin is used to give reference voltage to the input voltage.
The communication of an Arduino Nano board can be done using different sources like using an
additional Arduino board, a computer, otherwise using microcontrollers. The microcontroller using in Nano
board (ATmega328) offers serial communication (UART TTL). This can be accessible at digital pins like TX,
and RX. The Arduino software comprises of a serial monitor to allow easy textual information to transmit and
receive from the board.
The TX & RX LEDs on the Nano board will blink whenever information is being sent out through the
FTDI & USB link in the direction of the computer. The library-like SoftwareSerial allows serial
communication on any of the digital pins on the board. The microcontroller also supports SPI & I2C (TWI)
communication.
The Arduino Nano board is like an Arduino UNO board including similar microcontroller like Atmega328p.
Thus, they can share a similar program. The main difference between these two is the size. Because Arduino
Uno size is double to nano board. So, Uno boards use more space on the system. The programming of UNO
can be done with a mj USB cable whereas Nano uses the mini-USB cable.
The L298N Motor Driver module consists of an L298 Motor Driver IC, 78M05 Voltage Regulator,
resistors, capacitor, Power LED, 5V jumper in an integrated circuit. 78M05 Voltage regulator will be enabled
only when the jumper is placed. When the power supply is less than or equal to 12V, then the internal circuitry
will be powered by the voltage regulator and the 5V pin can be used as an output pin to power the
microcontroller. The jumper should not be placed when the power supply is greater than 12V and separate 5V
should be given through 5V terminal to power the internal circuitry.
• Logic Voltage: 5V
• Driver Current:2A
• Logical Current:0-36mA
3.3 RELAY
A Relay is a simple electromechanical switch. While we use normal switches to close or open a circuit
manually, a Relay is also a switch that connects or disconnects two circuits. But instead of a manual operation,
a relay uses an electrical signal to control an electromagnet, which in turn connects or disconnects another
circuit.
Relays can be of different types like electromechanical, solid state. Electromechanical relays are frequently
used. Let us see the internal parts of this relay before knowing about working of relay. Although many
different types of relays were present, their working is same.
1. Electromagnet
2. Mechanically movable contact
3. Switching points and
4. Spring
Electromagnet is constructed by wounding a copper coil on a metal core. The two ends of the coil are
connected to two pins of the relay as shown. These two are used as DC supply pins.
Generally, two more contacts will be present, called as switching points to connect high ampere load.
Another contact called common contact is present in order to connect the switching points.
These contacts are named as normally open (NO), normally closed (NC) and common (COM) contacts.
We can use a Relay either in a AC circuit or a DC Circuit. In case of AC relays, for every current zero
position, the relay coil gets demagnetized and hence there would be a chance of continues breaking of the
circuit.
So, AC relays are constructed with special mechanism such that continuous magnetism is provided in order
to avoid above problem. Such mechanisms include electronic circuit arrangement or shaded coil mechanism.
Working Principle
There are also such relays, whose contacts are initially closed and opened when there is supply i.e.
exactly to opposite to the above shown relay.
Solid state relays will have sensing element to sense the input voltage and switches the output using opto-
coupling.
A DC Gear Motor is an electrical device that converts electrical energy into mechanical energy. Going
by the DC motor full form, the device uses Direct Current (DC) for its operation. A rotary component called
an armature coil rests inside the motor’s casing, surrounded by strong permanent magnets. When a current is
applied to the armature through a rotary electric switch called a commutator, the magnetic field created by the
armature interacts with the magnetic field of the stationary magnet to apply a torque on the armature, causing
it to rotate.
Depending on the number and type of gears, different combinations of output RPM and torque can be
achieved. With fewer gears, the result is higher RPM and lower torque and vice versa. It can be mounted in
any position.
The gear motor structure regulates whether the gear motor is suitable for light, medium or heavy loads
and short or long operating periods. Depending on the internal gear structure and the reduction stages, the gear
motor varies the speed on the output shaft. The reduction ratio is the ratio between the input speed and the
output speed; therefore, it is one of the most important characteristic values of the gearbox. The power and
load capacity of a gearbox depends on the maximum torque it is capable of transmitting and it is measured in
the physical unit Newton meter [Nm].
Weed Cutter Robot 18
Jumper wires are simply wires that have connector pins at each end, allowing them to be used to connect
two points to each other without soldering. Jumper wires are typically used with breadboards and other
prototyping tools to make it easy to change a circuit as needed. Fairly simple. In fact, it doesn’t get much more
basic than jumper wires.
Though jumper wires come in a variety of colors, the colors don’t actually mean anything. This means
that a red jumper wire is technically the same as a black one. But the colors can be used to your advantage to
differentiate between types of connections, such as ground or power.
Jumper wires typically come in three versions: male-to-male, male-to-female and female-to-female.
The difference between each is in the end point of the wire. Male ends have a pin protruding and can plug into
things, while female ends do not and are used to plug things into. Male-to-male jumper wires are the most
common and what you likely will use most often. When connecting two ports on a breadboard, a male-to-male
wire is what you will need.
Weed Cutter Robot 19
3.6 9V BATTERY
The 9V battery is an extremely common battery that was first used in transistor radios. It features a
rectangular prism shape that utilizes a pair of snap connectors which are located at the top of the battery. A
wide array of both large and small battery manufacturers produces versions of the 9V battery. Possible
chemistries of primary (non-rechargeable) 9V batteries include Alkaline, Carbon-Zinc (Heavy Duty), Lithium.
Possible chemistries of secondary (rechargeable) 9V batteries include nickel-cadmium (NiCd), nickel-metal
hydride (NiMH), and lithium ion. The performance and application of the battery can vary greatly between
different chemistries, meaning that some chemistries are better suited for some applications over others.
Length: 17.5 mm
Height: 48.5 mm
Width: 26.5 mm
3.7 ESPCAM
ESP32-CAM is a low-cost ESP32-based development board with onboard camera, small in size. It is
an ideal solution for IoT application, prototypes constructions and DIY projects. The board integrates WiFi,
traditional Bluetooth and low power BLE, with 2 high-performance 32-bit LX6 CPUs.
It adopts 7-stage pipeline architecture, on-chip sensor, Hall sensor, temperature sensor and so on, and
its main frequency adjustment ranges from 80MHz to 240MHz. Fully compliant with WiFi 802.11b/g/n/e/i
and Bluetooth 4.2 standards, it can be used as a master mode to build an independent network controller, or as
a slave to other host MCUs to add networking capabilities to existing devices ESP32-CAM can be widely used
in various IoT applications. It is suitable for home smart devices, industrial wireless control, wireless
monitoring, QR wireless identification, wireless positioning system signals and other IoT applications. It is an
ideal solution for IoT applications.
SPECIFICATION
A chassis consists of an internal vehicle frame that supports an artificial object in its construction and
use, can also provide protection for some internal parts. An example of a chassis is the underpart of a motor
vehicle, consisting of the frame (on which the body is mounted)
In an electronic device, the chassis consists of a frame or other internal supporting structure on which the
circuit boards and other electronics are mounted.
It can either be used in skid steel configuration (4 motors) or differential configuration (2 rear wheels + 1
front castor wheel). The body contains perforated holes for easy mounting of various size circuit boards and
other mechanical components.
Wheels can control robots easily, spin on the spot, or turn around in small places and they help in steering
compared to tracks. These wheels have a 6mm hole for a shaft with the screw for fitting making it very easy
to mount on motors.
CHAPTER 4
SOWFWARE REQUIREMENTS
4.1 ARDUINO IDE
IDE stands for Integrated Development Environment‖: it is an official software introduced by
Arduino.cc, that is mainly used for editing, compiling and uploading the code in the Arduino Device. Almost
all Arduino modules are compatible with this software that is an open source and is readily available to install
and start compiling the code on the go.
Arduino Sketch
Arduino sketch is the name that Arduino uses for a program. It's the unit of code that is uploaded to,
and run on an Arduino board. A basic Arduino sketch consists of two functions:
setup() loop()
Writing Sketch
Programs written using Arduino Software (IDE) are called sketches. These sketches are written in the
text editor and are saved with the file extension.ino. The editor has features for cutting/pasting and for
searching/replacing text. The message area gives feedback while saving and exporting and also displays errors.
The console displays text output by the Arduino Software (IDE), including complete error messages and other
information. The bottom righthand corner of the window displays the configured board and serial port. The
toolbar buttons allow you to verify and upload programs, create, open, and save sketches, and open the serial
monitor.
The two required parts or functions enclose blocks of statements are: void setup()
statements;
void loop()
Weed Cutter Robot 25
Statements;
Where setup() is the preparation, while loop() is the execution. Both functions are required for the program
to work. The setup function should follow the declaration of any variable at the very beginning of the program.
It is the first function to run in the program, it runs only once and is used to set pin Mode or initialize serial
communication. The loop function follows next and includes the code to be executed continuously - reading
inputs, triggering outputs, etc. This function is the core of all Arduino program and does the bulk of the work
The Arduino Integrated Development or Arduino software contains a text editor for writing code. A
message area, a text console, a tool bar with buttons for common functions and a series of menus. It connects
to Arduino hardware to upload programs and communicate with them.
Weed Cutter Robot 26
By using MIT app inventor, we build this application. MIT App Inventor is an intuitive, visual
programming environment that allows everyone even children to build fully functional apps for smartphones
and tablets. The main goal of MIT App Inventor is to make app development accessible to a wider audience,
including students, hobbyists, and non-programmers. It uses a block-based programming approach, where
users can drag and drop visual blocks that represent different programming concepts and components to create
their applications.
Some key features of MIT App Inventor include:
1. Visual Programming: The platform uses a visual programming language based on blocks, making it
easy for users to create apps by arranging and connecting blocks that represent different functions and
behaviors.
2. Emulator: MIT App Inventor provides an emulator that allows users to test their apps directly on their
computers without needing an Android device. This enables users to see how their apps will behave on
a mobile device before deploying them.
3. Component Library: The platform offers a wide range of pre-built components and features that users
can utilize in their apps. These components include buttons, text boxes, sensors, media players, and
more, allowing users to add functionality to their apps without needing to write code from scratch.
4. Community and Support: MIT App Inventor has a vibrant community of users who share resources,
tutorials, and projects. Additionally, there are forums and documentation available to assist users in
learning and troubleshooting.
We have used the MIT app inventor to develop the application because it is very easy to use and also
understandable. We can easily rectify our errors and find new ways to develop the app. It is a drag and drop
programming language, so everyone can easily adopt to it.
CHAPTER 5
RESULTS AND DISCUSSIONS
Integrating features of all the hardware components used have been developed in it. Presence of every
module has been reasoned out and placed carefully, thus contributing to the best working of the unit. Thus, the
project has been successfully designed and tested. This weed cutter robot will meet the challenge of
environmental production and low cost of operation since there is no cost for fueling.
Weed Cutter Robot 29
CHAPTER 6
ADVANTAGES AND CHALLENGES
6.1 ADVANTAGES
1. Remote Operation: The robot can be controlled wirelessly through a mobile app, which eliminates
the need for physical labor in hazardous or hard-to-reach areas.
2. Live Video Monitoring: The inclusion of the ESP32-CAM allows the user to monitor the robot's
surroundings and position it with precision.
3. Energy-Efficient: The system runs on a small battery, making it power-efficient and suitable for
longer usage times in small areas.
4. Versatile Control: The user can move the robot in all directions and activate the cutting blades only
when necessary, providing flexibility.
5. Safe and Effective: By remotely controlling the cutting blades, the operator can avoid direct contact
with the cutting mechanism, enhancing safety.
6.2 CHALLENGES
1. Limited Battery Life: The 9V battery may not provide enough power for extended operation,
especially in larger fields, which may require frequent recharging or replacement.
2. Manual Control: While the robot is remotely controlled, it still requires manual operation to position
and activate the cutting mechanism.
3. Limited Range: Depending on the strength of the Wi-Fi signal, the control range may be limited,
making it less effective for large open areas.
Weed Cutter Robot 31
CHAPTER 7
7.1 CONCLUSION
In this project, we successfully built a weed cutter car robot with real-time video streaming and a
functional weed-cutting mechanism using the ESP32-CAM and Arduino Nano. The robot performed well in
both navigation and weed-cutting tasks. The live video feed provided reliable remote monitoring and control,
The robot effectively navigated different terrains, and the weed-cutting blade cleared small weeds
efficiently. However, the performance depended on Wi-Fi signal strength, which limited its range in larger
areas. Challenges included maintaining video stability under varying conditions and optimizing power
Overall, the project demonstrated the potential for remote weed management and monitoring, offering
The project of weed control car robot with video streaming and a weed-cutting mechanism offers several
1. Autonomous Navigation: Integrating sensors such as ultrasonic or infrared sensors for obstacle
detection would allow the robot to navigate autonomously, reducing the need for manual control. This
2. Enhanced Power Management: Improving the robot's power system by incorporating solar panels or
a more efficient battery management system would increase its operational time, making it more
adjustable cutting heights or a more powerful motor, enabling the robot to handle tougher or denser
vegetation. Additionally, integrating a system to detect and target weeds automatically would improve
its efficiency.
4. AI Integration: Implementing artificial intelligence (AI) algorithms, such as image recognition, could
allow the robot to identify specific weeds or areas that require cutting, improving its functionality and
accuracy.
5. Increased Range and Connectivity: By using long-range Wi-Fi modules or cellular network
connectivity (such as 4G/5G), the robot could operate over larger distances, making it more versatile
6. Modular Design for Multiple Functions: The robot could be designed with modular attachments,
allowing it to perform various tasks beyond weed cutting, such as soil monitoring, pesticide spraying,
These future enhancements would make the robot more autonomous, efficient, and capable of handling more
complex tasks, making it an ideal tool for agriculture, remote exploration, and surveillance applications.
Weed Cutter Robot 33
CHAPTER 8
REFERENCES
[1] Deshmukh P., Bhajibhakre A., and Gambhire S. (2018). Survey of geofencing algorithms, International
[2] Kodavati B., Raju V. K., Rao S. S., Prabu A. V., Rao T. A., and Narayana Y. V. (2011). GSM and GPS
based vehiclel location and tracking system, International Journal of Engineering Research and Application,
1, 616-625
[3] Koyuncu B and Özdemir Z. (2016). Real time localization and leaflet map geofencing by using Sim900
based real time localization and leaflet map geofencing by using Sim900 based GPS / GSM / GPRS, IFRSA
[4] Adafruit.com, ‘Adafruit FONA808 - Mini Cellular GSM + GPS Breakout', 2015. [Online]. Available:
[5] Verma P. and Bhatia J. S. (2013). Design and development of GPS-GSM based tracking system with
Google Map based monitoring, International Journal of Computer Science, Engineering and Applications, 3,
33–40
[6] Blynk.io, 'Blynk IoT Platform', 2019. [Online]. Available: https://blynk.io/. [Accessed: 4 - 10 - 2019]
[7] U. Bareth, A. Kupper, and P. Ruppel, “Geoxmart-b market-place for geofencebased mobile service,” in
2010 IEEE 34th Annual Computers-Software & Application-Conference, 2010, pp. 101–106.
[8] A. Küpper, U. Bareth, and B. Freese, “Geofence and back-ground track the next-feature in LBSs devices,”
in "Proceedings of the 41th Annual Conference-of the Gesellschaft für Informatik"eV, 2011.
[10] M. Alsaqer, B. Hilton, T. Horan, and O. Aboulola, “Performance-assessment of geo-trigger in small geo-
fence: accuracy, reliabilitys, and batteries drain in different-track profiles to trigger directions,” Procedia Eng.,
[11] C. Guo, G. Cao, J. Zeng, J. Cui, and R. Peng, “Stop-accident before it happen: "perceiving lane-level
moving vehiclesdanger region to warn surround drivers & pedestrians,” J. Sensors, vol. 2016, 2016.
[12] P. Verma and J. S. Bhatia, “Design & development of GPSs/GSMs based-track-system with Google,map
based monitor,” Int. J. Comput. Sci. Eng. Appl., vol. 3, no. 3, p. 33, 2013.
Weed Cutter Robot 35
CHAPTER 9
APPENDICES
SOURCE CODE
void setup() {
bt.begin(9600);
Serial.begin(9600);
void loop() {
// Read data from Bluetooth
if (bt.available()) {
char c = bt.read(); // Read each character one by one
Serial.println(c); // Print each command on a new line
Weed Cutter Robot 36
Bluetooth Code
#include <SoftwareSerial.h>
void setup() {
bt.begin(9600);
Serial.begin(9600);
pinMode(relayPin, OUTPUT);
digitalWrite(relayPin, LOW); // Ensure relay is initially OFF
}
void loop() {
// Read data from Bluetooth
while (bt.available()) {
delay(10);
char c = bt.read();
readvoice += c;
}
if (readvoice.length() > 0) {
Serial.println(readvoice);
digitalWrite(5, HIGH);
digitalWrite(6, LOW);
} else if (readvoice == "R") {
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(5, LOW);
digitalWrite(6, HIGH);
} else if (readvoice == "S") {
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(6, LOW);
}
//
// WARNING!!! PSRAM IC required for UXGA resolution and high JPEG quality
// Ensure ESP32 Wrover Module or other board with PSRAM is selected
// Partial images will be transmitted if image exceeds buffer size
//
// You must select partition scheme from the board menu that has at least 3MB APP space.
// Face Recognition is DISABLED for ESP32 and ESP32-S2, because it takes up from 15
// seconds to process single frame. Face Detection is ENABLED if PSRAM is enabled as well
// ===================
// Select camera model
// ===================
//#define CAMERA_MODEL_WROVER_KIT // Has PSRAM
//#define CAMERA_MODEL_ESP_EYE // Has PSRAM
//#define CAMERA_MODEL_ESP32S3_EYE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_PSRAM // Has PSRAM
//#define CAMERA_MODEL_M5STACK_V2_PSRAM // M5Camera version B Has PSRAM
//#define CAMERA_MODEL_M5STACK_WIDE // Has PSRAM
//#define CAMERA_MODEL_M5STACK_ESP32CAM // No PSRAM
//#define CAMERA_MODEL_M5STACK_UNITCAM // No PSRAM
//#define CAMERA_MODEL_M5STACK_CAMS3_UNIT // Has PSRAM
//#define CAMERA_MODEL_AI_THINKER // Has PSRAM
//#define CAMERA_MODEL_TTGO_T_JOURNAL // No PSRAM
//#define CAMERA_MODEL_XIAO_ESP32S3 // Has PSRAM
// ** Espressif Internal Boards **
Weed Cutter Robot 41
//#define CAMERA_MODEL_ESP32_CAM_BOARD
//#define CAMERA_MODEL_ESP32S2_CAM_BOARD
//#define CAMERA_MODEL_ESP32S3_CAM_LCD
//#define CAMERA_MODEL_DFRobot_FireBeetle2_ESP32S3 // Has PSRAM
//#define CAMERA_MODEL_DFRobot_Romeo_ESP32S3 // Has PSRAM
#include "camera_pins.h"
// ===========================
// Enter your WiFi credentials
// ===========================
const char *ssid = "**********";
const char *password = "**********";
void startCameraServer();
void setupLedFlash(int pin);
void setup() {
Serial.begin(115200);
Serial.setDebugOutput(true);
Serial.println();
camera_config_t config;
config.ledc_channel = LEDC_CHANNEL_0;
config.ledc_timer = LEDC_TIMER_0;
config.pin_d0 = Y2_GPIO_NUM;
config.pin_d1 = Y3_GPIO_NUM;
config.pin_d2 = Y4_GPIO_NUM;
config.pin_d3 = Y5_GPIO_NUM;
config.pin_d4 = Y6_GPIO_NUM;
Weed Cutter Robot 42
config.pin_d5 = Y7_GPIO_NUM;
config.pin_d6 = Y8_GPIO_NUM;
config.pin_d7 = Y9_GPIO_NUM;
config.pin_xclk = XCLK_GPIO_NUM;
config.pin_pclk = PCLK_GPIO_NUM;
config.pin_vsync = VSYNC_GPIO_NUM;
config.pin_href = HREF_GPIO_NUM;
config.pin_sccb_sda = SIOD_GPIO_NUM;
config.pin_sccb_scl = SIOC_GPIO_NUM;
config.pin_pwdn = PWDN_GPIO_NUM;
config.pin_reset = RESET_GPIO_NUM;
config.xclk_freq_hz = 20000000;
config.frame_size = FRAMESIZE_UXGA;
config.pixel_format = PIXFORMAT_JPEG; // for streaming
//config.pixel_format = PIXFORMAT_RGB565; // for face detection/recognition
config.grab_mode = CAMERA_GRAB_WHEN_EMPTY;
config.fb_location = CAMERA_FB_IN_PSRAM;
config.jpeg_quality = 12;
config.fb_count = 1;
// if PSRAM IC present, init with UXGA resolution and higher JPEG quality
// for larger pre-allocated frame buffer.
if (config.pixel_format == PIXFORMAT_JPEG) {
if (psramFound()) {
config.jpeg_quality = 10;
config.fb_count = 2;
config.grab_mode = CAMERA_GRAB_LATEST;
} else {
// Limit the frame size when PSRAM is not available
Weed Cutter Robot 43
config.frame_size = FRAMESIZE_SVGA;
config.fb_location = CAMERA_FB_IN_DRAM;
}
} else {
// Best option for face detection/recognition
config.frame_size = FRAMESIZE_240X240;
#if CONFIG_IDF_TARGET_ESP32S3
config.fb_count = 2;
#endif
}
#if defined(CAMERA_MODEL_ESP_EYE)
pinMode(13, INPUT_PULLUP);
pinMode(14, INPUT_PULLUP);
#endif
// camera init
esp_err_t err = esp_camera_init(&config);
if (err != ESP_OK) {
Serial.printf("Camera init failed with error 0x%x", err);
return;
}
sensor_t *s = esp_camera_sensor_get();
// initial sensors are flipped vertically and colors are a bit saturated
if (s->id.PID == OV3660_PID) {
s->set_vflip(s, 1); // flip it back
s->set_brightness(s, 1); // up the brightness just a bit
s->set_saturation(s, -2); // lower the saturation
Weed Cutter Robot 44
}
// drop down frame size for higher initial frame rate
if (config.pixel_format == PIXFORMAT_JPEG) {
s->set_framesize(s, FRAMESIZE_QVGA);
}
#if defined(CAMERA_MODEL_M5STACK_WIDE) ||
defined(CAMERA_MODEL_M5STACK_ESP32CAM)
s->set_vflip(s, 1);
s->set_hmirror(s, 1);
#endif
#if defined(CAMERA_MODEL_ESP32S3_EYE)
s->set_vflip(s, 1);
#endif
WiFi.begin(ssid, password);
WiFi.setSleep(false);
startCameraServer();
void loop() {
// Do nothing. Everything is done in another task by the web server
delay(10000);
}