ECE B.Tech Advanced

WiFi Controlled Robot using Arduino

In this project, we are going to make a Wi-Fi controlled Robot using Arduino and Blynk App. This Arduino based Robot can be controlled wirelessly using any Wi-Fi enabled Android smart phone.

  • Suitable forB.Tech ECE students
  • Build time5-7 weeks
  • LevelAdvanced
  • Available atAjvika Labs, Kakinada

About this project

There are many types of Robots, from the simple ones like a Toy car to the advanced ones like industrial Robots. We have already covered many types of Robots using different technologies, have a look at them:

Arduino Line Follower Robot

Line Follower Robot using 8051 Microcontroller

Line Follower Robot using Arduino

DTMF Controlled Robot using Arduino

Cell Phone Controlled Robot using 8051 Microcontroller

Computer Controlled Robot using Arduino

Edge Avoiding Robot Using 8051

Accelerometer Based Hand Gesture Controlled Robot using Arduino

Bluetooth Controlled Toy Car using Arduino

And now we are adding one more Robot in our ‘ Robotics Projects ’ section, this time we are going to make a Wi-Fi controlled Robot using Arduino and Blynk App. This Arduino based Robot can be controlled wirelessly using any Wi-Fi enabled Android smart phone.

For demonstration of Wi-Fi Controlled Robot, we have used an Android Mobile App named “ Blynk ”. Blynk is a very compatible app with Arduino, to make IoT based project. This App can be downloaded from the Google Play Store, and can be easily configured.

Steps for configuring Blynk App:

1. First download it from Google Play Store and install it in Android mobile phone.

2. After this, it is required to create an account. You may use your current Gmail account.

3. Now select Arduino Board and give a name for your project.

4. Note down the Auth Token Code or simply mail it to your Email Account and then copy and paste in Arduino sketch (Program Code).

5. Enter this Auth Token Code in Arduino sketch.

6. Then click on create button in Blynk app.

7. Now Select the Joystick Widget, Click on Joystick, Configure the Joystick (see the Video at the end) and hit the back button.

8. After it press Play button at the right top of screen.

All this process, of using the Blynk App, has been clearly explained in Video, given in the end.

Required Components:

ESP8266 Wi-Fi Module

10K POT (optional)

Robot chassis plus wheel

Android Mobile phone

Circuit Explanation:

Circuit Diagram of Wi-Fi controlled robot is given below. We mainly need a Arduino and ESP8266 Wi-Fi module. ESP8266’s Vcc and GND pins are directly connected to 3.3V and GND of Arduino and CH_PD is also connected with 3.3V. Tx and Rx pins of ESP8266 are directly connected to pin 2 and 3 of Arduino. Software Serial Library is used to allow serial communication on pin 2 and 3 of Arduino. We have already covered the Interfacing of ESP8266 Wi-Fi module to Arduino in detail.

A L293D Motor Driver IC is used for driving DC motors. Input pins of motor driver IC is directly connected to pin 8, 9, 10 and 11 of Arduino. And DC motors are connected at its output pins. Here we have used 9 Volt battery for driving the Circuit and DC motors.

Working Explanation:

Working of the Wi-Fi controlled Robot is very easy, we just need to Drag or Slide the Joystick in the direction, where we want to move the Robot. Like if we want to move the Robot in Forward direction then we need to Drag the Joystick ‘circle’ in Forward direction. Likewise we can move the Robot in Left, Right and Backward direction by Dragging the joystick in respective direction. Now as soon as we release the Joystick, it will come back to centre and Robot stops.

Blynk App sends values from Two Axis Joystick to Arduino, through Wi-Fi medium. Arduino receive the values, compare them with predefined values and move the Robot accordingly in that direction.

Programming Explanation:

Program is almost readymade available in Arduino IDE. We just need to download Blynk Library for Arduino. And after making some modifications, user can make own Wi-Fi controlled robot.

First we have included all the needed libraries to run this code in Arduino IDE, and then entered Auth Token, from the Blynk app, in the auth string. Here we are connecting Wi-Fi serial pin with Software Serial of Arduino. Selected pin 2 as RX and 3 as TX.

Then we defined output pins(8,9,10,11) for motors and wrote some direction functions to move the Robot in particular direction: void forward(), void backward(),void right() and void left()

After this, in setup function we initialise all the required devices, like giving direction to motor pins, begin serial communication, providing Wi-Fi username and password.

Now we have checked some conditions for controlling the robot. Here we have selected virtual pin 1 (V1) for taking input from Blynk App to control the robot. As we have used marge option in app so we will get x and y axis values at same pin.

At last we need to run blynk function in loop, to run the system.

Complete Project Code

In reply to for general purpose by shamsheer

Iam looking to do this project. Could me tell me exactly where i should install the libraries. I got an error saying that error compuiling library

i cant finde my network from esp8266 i cant anderstand how it work please help me

In reply to ssss by sawas

you need to find the network using your mobile phone, if the wifi network provided by your esp is not showing there are alot of possible reason for that

why u have taken the decesion of left right and up down on 35 and 220

In reply to why u have taken the decesion by salman khan

these value used as reference value. if value less or greater than these value, then we takes an action for robot.

I can't connect esp8266 with my wifi what to do

In reply to I can't connect esp8266 with by suhail

Learn to properly connect wifi module with arduino here: How to Send Data from Arduino to Webpage using WiFi

I have a program for controlling a robot that is 1000 lines of code that runs on a Mega2650. Can I use Blynk to add smartphone inputs to the program? I see there is nothing else running in loop so I'm wondering what else can be done if you use blynk. Thanks.

I really appreciate that project you did, infact i'm doing same for my final year project. Can you please help me add the following, i'm having lot of troubles with the libraries and Arduino code.

I need to add the followings:

2 sliders for 2 servo motors (for pan & tilt camera) 2 buttons for switching LED on/off Video Streaming

Any help would be really appreciated.

In reply to Need help to add other Widgets by Akshay

Better use Raspberry Pi for Video streaming, it has dedicated Camera port.

In reply to Better use Raspberry Pi for by Abhishek

Technologies used

ArduinoROSPythonRaspberry PiC++OpenCVServo

Hardware components

  • Arduino
  • Servo Motor
  • DC Motor
  • L298N
  • Ultrasonic Sensor
  • ESP32

Software & tools

  • Arduino IDE
  • ROS
  • Python
  • OpenCV
  • VS Code

Project demo video

What you get

  • Working project / hardware kit, tested before delivery
  • Complete source code with explanation
  • Project demo and guidance for your viva
  • Project report, PPT and IEEE paper support (on request)
Delivery & Payment
Delivery takes a minimum of two weeks from the date your inquiry is confirmed. Payment is in two parts: • 50% advance to start the project • Remaining 50% before delivery Note: • Documentation and PPT are not included by default • If you need documentation/PPT, it can be arranged for extra time and cost We'll confirm the exact timeline and cost with you after reviewing your requirements.