ROBOTICS SOCIETY, KALYANI GOVERNMENT ENGINEERING COLLEGE
A REPORT ON
WebRover Challenge
ELECTRONICS AND IOT PROBLEM STATEMENT
ZYRO ANNUAL AUTUMN HACKATHON
TEAM NAME: RoBoglitch
TEAM LEADER: Bidipta Ghosh
TEAM MEMBERS: Agnidipta Basu, Bidipta Ghosh, Dipayan
Pradhan
COLLEGE NAME: Kalyani Government Engineering College
DEPARTMENT: Electrical Engineering
YEAR: Second
DATE OF SUBMISSION: 17th November, 2023
ACKNOWLEDGEMENT
We would like to express our sincere gratitude to the incredible individuals who
contributed their time, expertise, and unwavering dedication to the success of
this project during the ZYRO Autumn Hackathon. Our collaborative effort
resulted in a project that we are proud to present.
Team Members:
- Bidipta Ghosh
- Agnidipta Basu
- Dipayan Pradhan
We extend our deepest appreciation to our seniors of Robotics Society, whose
guidance and insights were invaluable throughout the development process.
Their mentorship played a crucial role in shaping the project and pushing us to
explore new horizons.
This project would not have been possible without the collective effort and
dedication of each team member. We are proud of what we have accomplished
and look forward to future collaborations.
Thank you all for being an integral part of this journey.
Sincerely,
Bidipta Ghosh
Team Leader
Roboglitch
EXECUTIVE SUMMARY
Problem Statement:
The task is to build a Rover, which is capable of movement and the
movement has to be controlled by a web server. We have to build a
website where the user can type in commands according to which the
Rover should perform different movements.
Proposed Solution:
We have tried to build a functional prototype of a web server-
controlled Rover using a microcontroller, motors, and motor drivers.
We have developed an asynchronous web server for easy
communication between the Rover and the user. We have used a
simple code to set up the web server, accept requests from the user,
process the request, and then send out an output to the motor driver.
The motor drivers then control how the motors operate helping the
Rover move Forward, Backward, Left, Right, and Stop.
Budget:
The total budget for the project was Rs.1500. The major expenses
include the microcontroller, motor driver, motors, and the chassis used
for the Rover.
Final Thoughts:
We all thoroughly enjoyed making this project and it was really a fun
and learning experience for all of us. We hope to further innovate our
rover and do more exciting stuff with it.
TABLE OF CONTENTS
1. INTRODUCTION
2. COMPONENTS USED:
i. Esp32 CAM: A Versatile Microcontroller for processing
logic.
ii. L298N Motor Driver: An Efficient full H-bridge controller for
motors.
iii. BO Geared DC Motor: A Compact and Precise movement
solution.
3. CIRCUIT DIAGRAM AND EXPLANATION
4. TESTING
5. FUTURE SCOPE
6. REFERENCES
INTRODUCTION
In the ever-evolving landscape of technology, the ZYRO hackathon has
provided us with a unique opportunity to explore innovation and
tackle real-world challenges. This report encapsulates the
collaborative efforts of our team as we endeavoured to create a
solution that not only addresses a specific problem but also showcases
the power of teamwork, creativity, and technical expertise.
To address the problem stated in the problem statement we have
developed a rover i.e., a web server-controlled four-wheeled bot that
can move around using four DC geared motors which can be controlled
by user inputs. It is capable of moving forward, backward, left, and
right and at any moment stop, by overwriting the ongoing command.
As an extra element, we have also added a real-time video streaming
option so that the rover can be controlled remotely by the user. The
video feature is liable for future upgrades and enhancements as with
the integration of A.I. we can make our rover smart enough to make
decisions by itself.
We have used the Esp32 CAM board as the microcontroller for this
project and the EspAsyncWebServer for setting up the web server and
accept commands from the user. The benefits of using an async web
server is it reduces the waiting time and resource consumption of each
request therefore enabling seamless connectivity. The request from
the user is then sent to the microcontroller which processes the
request and sends the output signal to the motor driver which in turn
operates the motors.
The motors are powered by a 9V battery and the microcontroller is
powered by two 3.7V Li-ion batteries, thus providing sufficient power
to all the components.
COMPONENTS USED
• Esp32 CAM- A Versatile Microcontroller for processing logic:
The ESP32 CAM is a powerful and versatile solution, seamlessly
integrating the capabilities of an ESP32 microcontroller with a
camera module. This amalgamation of computing power and
imaging capabilities opens up a myriad of possibilities, making
the ESP32 CAM an ideal choice for projects requiring image
processing, machine vision, and beyond.
Fig 1. Esp32 CAM Pinout diagram
Key Features:
i. Dual-Core Processing Power: At the heart of the ESP32
CAM lies a dual-core processor, offering impressive
computational capabilities. This dual-core architecture not
only enhances the overall processing speed but also
enables the microcontroller to handle multiple tasks
simultaneously.
ii. Wireless Connectivity: Leveraging the inbuilt Wi-Fi and
Bluetooth capabilities inherent in the ESP32, the ESP32
CAM facilitates seamless communication with other
devices or networks. This feature proves invaluable in
applications where real-time data transfer or remote
monitoring is essential.
iii. Camera Module Integration: The inclusion of a camera
module sets the ESP32 CAM apart, making it particularly
adept at tasks involving image capture. The camera
supports various resolutions, offering flexibility for
different project requirements. This capability makes the
ESP32 CAM an attractive choice for applications such as
surveillance, image recognition, and computer vision.
iv. Expandable Storage: With the provision of microSD card
support, the ESP32 CAM ensures ample storage space for
captured images or additional data. This expandable
storage feature enhances the microcontroller's utility for
projects with large datasets or applications requiring
prolonged data logging.
In conclusion, the ESP32 CAM stands as a testament to the
evolving landscape of microcontroller technology. Its fusion of
processing power, wireless connectivity, and imaging capabilities
positions it as a go-to solution for projects demanding a robust
microcontroller with a flair for visual processing. Whether in the
realms of security, IoT, or education, the ESP32 CAM opens doors
to innovation and creativity in the world of embedded systems.
• L298N Motor Driver: An Efficient full H-bridge controller for
motors:
The L298N Motor Driver stands as a reliable and efficient
solution for motor control applications, offering a full H-bridge
configuration that empowers users to drive and control the
direction and speed of motors with ease. Its robust design and
versatility make it a popular choice in the realm of robotics,
automation, and other projects involving motorized systems.
Fig 2. L298N H-bridge motor driver pinout diagram
Key Features:
i. Dual H-Bridge Configuration: The L298N integrates two H-
bridge circuits, allowing for bidirectional control of two DC
motors or the control of a single stepper motor. This dual
H-bridge architecture provides the flexibility needed for a
wide range of motor control scenarios.
ii. High Current Capability: With a maximum current rating
suitable for driving motors with higher power
requirements, the L298N excels in applications demanding
sufficient current capacity. This feature makes it well-suited
for projects where motor performance and responsiveness
are crucial.
iii. Built-in Protections: The L298N incorporates built-in
protections, including thermal shutdown and overcurrent
protection. These safeguards enhance the reliability of the
motor driver and protect it from potential damage,
especially in situations of prolonged usage or unexpected
load fluctuations.
iv. Versatile Voltage Compatibility: Supporting a wide range of
input voltages, the L298N can accommodate different
power supply configurations. This versatility allows
integration into projects with varying voltage
requirements, providing adaptability to diverse
applications.
In summary, the L298N Motor Driver stands out as an efficient
and versatile component in the world of motor control. Its dual
H-bridge design, high current capacity, and robust features make
it a go-to choice for a wide array of applications, contributing to
the seamless integration of motors into diverse projects.
Whether in the hands of hobbyists, educators, or professionals,
the L298N continues to be a reliable workhorse for motor control
needs.
• BO Geared DC Motor: A Compact and Precise movement
solution:
In the realm of robotics, automation, and DIY projects, the BO
Geared DC Motor emerges as a compact powerhouse, delivering
precision and reliability in movement solutions. This motor,
equipped with a carefully crafted gearbox, offers a versatile
platform for applications requiring controlled and accurate
motion.
Fig 3. BO DC Geared Motors
Key Features:
i. Compact Design: The BO Geared DC Motor's compact form
factor makes it an ideal choice for projects with limited
space constraints. Its small size belies its powerful
performance, making it a go-to solution for applications
where efficiency meets a premium on space.
ii. High Torque: Despite its size, the geared design of this DC
motor ensures a high torque output. This characteristic is
particularly advantageous in scenarios where the motor
must overcome resistance or drive mechanical loads with
precision.
iii. Precise Control: The gearbox not only enhances torque but
also provides a finer level of control over the motor's
movement. This precision is crucial in applications where
accurate positioning or controlled speed is paramount.
iv. Energy Efficiency: The optimized design of the BO Geared
DC Motor ensures energy efficiency, making it a sustainable
choice for battery-powered projects. Its ability to deliver
robust performance while conserving energy is a testament
to its engineering excellence.
In conclusion, the BO Geared DC Motor represents a harmonious
blend of compact design, high torque, and precise control,
making it an indispensable component in the world of motion
solutions. Whether driving the movement of a robot, powering
an automated system, or fueling a creative DIY endeavor, this
motor stands as a testament to efficiency and precision in motion
engineering.
• Other Components:
❖ Two 18650 3.7V Li-ion batteries for supply to the
microcontroller.
Fig 4. 18650 3.7V Li-ion battery
❖ A LM2596 DC-DC buck converter for adequate voltage
supply to the microcontroller.
Fig 5. LM2596 I/O pinout
❖ 9V battery to run the motors.
Fig 6. 9V battery
❖ Chassis for the rover.
Fig 7. Chassis with motors and wheels attached
❖ Screws, nuts, and hot glue to hold components in place.
CIRCUIT DIAGRAM AND EXPLANATION
The building of the rover can be broken down into two steps:
i. Uploading of code to esp32 cam using Arduino Uno,
ii. Connecting different components together to complete the
rover.
Uploading of Code to Esp32 CAM:
The esp32 cam module does not come with an inbuilt USB port
therefore in order to configure the microcontroller we need to use an
external device that can be connected to our system using a USB-UART
connection. For this purpose, we have used a popular microcontroller
board, Arduino Uno which is enabled with a USB port. There is no
specificity that we must use an Arduino Uno. One can use other
devices like an FTDI programmer to do the same task.
Now for uploading the code we first need to connect the Esp32 Cam
to the Arduino Uno in the following manner.
Esp32 CAM Arduino Uno
UOT TXD
UOR RXD
5V 5V
GND GND
Table 1. Esp32 CAM and Arduino Uno connection pin list
Additionally, the Reset pin of the Arduino Uno needs to be shorted
with the GND (ground) pin during this process. For writing the code we
have used the Arduino IDE. To configure Esp32 CAM using it we first
had to install the esp32 board by Espressif Systems in our IDE, then
select the board and the COM port it was connected to. We have used
the AI Thinker ESP32-CAM board for our purpose. During the
uploading of the code, the GPIO pin 0 needs to be shorted with the
GND (ground) pin as it tells the microcontroller that it is in reset mode.
After the upload is finished, we need to remove the short from GPIO 0
and GND and then press the reset button on the Esp32 CAM board and
we are all set to go. Now that the work is complete, we can remove
the connections and use the Esp32 CAM board for our purpose.
Fig 8. Esp32 CAM to Arduino Uno connection for uploading code.
Completing the rover connections:
The circuit has been completed based on the circuit diagram given
below. First, the combined voltage from the two 3.7V batteries is
reduced to 5V using the LM 2596 DC-DC buck converter. The 5V supply
is then fed to the Esp32 CAM module. From research, we found that
the module works best at 5V supply so we choose to use it. Then the
GPIO pins of the Esp32 CAM are connected to the motor driver L298N
using the following table.
Esp32 CAM L298N
VCC VCC
GND GND
GPIO 12 ENA
GPIO 12 ENA
GPIO 13 IN1
GPIO 15 IN2
GPIO 14 IN3
GPIO 2 IN4
Table 2. Pin connection table
Fig 9. Complete Circuit Diagram of Setup.
TESTING
We tested if all our connections were okay and then checked the
working of the components using a testing code. After everything was
set, we uploaded the main code and tested the rover in real life.
Unfortunately during testing the motor driver blew up so we are
unable to submit a video of the rover in this short time.
FUTURE SCOPE
In future, we can incorporate AI and machine learning and using the
video input feature of the Esp32 CAM we can make object detection
and various other upgrades and add commands in that fashion.
REFERENCES
❖ www.google.com
❖www.github.com