loader image

Video of the robot interfaced with a web-server:

WiFi Module – ESP8266:

The ESP8266 is a Micro-controller with WiFi capabilities. It has an inbuilt pre-programmed firmware which supports serial interface and can be controlled using AT commands. In short, the ESP8266 module is a “serial to wireless internet” device.

The ESP8266 WiFi Module is a self contained SOC (System on Chip) with integrated TCP/IP protocol stack that can give any micro-controller access to your WiFi network.

This module has a powerful on-board processing and storage capability that allows it to be integrated with sensors.

The ESP8266 Module is not capable of 5-3 V logic shifting and will require an external Logic Level Converter. Please do not power it directly from your 5 V device board.


802.11 b/g/n
WiFi Direct ( P2P ), soft-AP
Integrated TCP/IP protocol stack
Integrated TR switch, Balun, LNA, power amplifier and matching network
Integrated PLLs, Regulators, DCXO and power management units
+19.5 dBm output power in 802.11b mode
Power down leakage current of <10 uA
1 MB Flash Memory
Integrated low power 32-bit CPU could be used as application processor
SDIO 1.1 / 2.0, SPI, UART
STBC, 1*1 MIMO, 2*1 MIMO
A-MPDU & A-MSDU aggregation & 0.4 ms guard interval
Wake up and transmit packets in < 2 ms
Standby power consumption of < 1.0 mW (DTIM3)

Step by step instructions & connections:

Vcc and ground connections:  The outer hub of the breadboard is Vcc and the inner hub is Gnd.


LM 7805 connections: LM 7805 is a 5 V voltage regulator which reduces any voltage below   32 V to 5 V









  • Place L293D in such a way that the notch is facing towards the right
  • Giving 5 V to Vs makes the robot move slow when compared to giving it 8 V ( in our case we have given 5 V)
  • Pins 1,8,9,16 are connected to Vcc of the breadboard
  • Pins 4,5,12,13 are connected to Gnd of the breadboard4

Arduino ATmega16 connections: 

  • Pin 9 of the Arduino is given to Vcc and pin 10 to the Gnd of the breadboard
  • Place the Arduino such that its notch is facing the notch of L293D5


  • Connect the pins 0 and 1 of the Arduino to the pins 15 and 10 of the L293D
  • Connect the pins 24 and 25 of Arduino to the pins 2 and 7 of L293D


Motor connections

  • Connect the left motor pins to the pins 11 and 14 of L293D
  • Connect the right motor pins to the pins 3 and 6 of L293D


  • Connect the Left, Centre and Right sensors to pins 26, 27 and 28 of the Arduino respectively

LM 35 Pin Configuration:


  • LM 35 is a temperature sensor
  • Connect the Vcc and Gnd to the breadboard and output pin to the 29th pin of the Arduino
  • The LM 35 gives analog output so we have connected it to the analog pin of the Arduino

ESP8266 WiFi module pin out:

pin out

Steps to Connect the ESP8266 WiFi Module:

  • The Vcc (3.3 V) of the ESP8266 is given to Vcc of the breadboard.(The 8 V of the breadboard is reduced to 3.3 V by means of a voltage regulator)
  • The Tx and Rx pins of the ESP8266 are connected to the Rx and Tx pins of the Arduino respectively
  • The Gnd pin of the ESP8266 is given to the Gnd of the breadboard
  • The RESET pin of ESP8266 is connected to 3.3 V
  • CHPD pin is given to 3.3 V

AT Commands:

ESP8266 by default boots up into serial modem mode. In this mode you can communicate with it using a set of AT commands. The set of AT commands used in this project is explained below:

AT commands used in programming the ESP8266 WiFi module:

(1) Connect to the WiFi network of the module. In our case it is AI-THINKER_FBB24A


(2)  The AT command is used to check if the system and WiFi module are working correctly


(3) The AT+RST command is to reset the module


(4) The AT+GMR command is to know about the current firmware version


(5) The AT+CIFSR command is to return the local ip address (


(6) The AT+CWMODE command is used to enable both client and server


(7) The AT+CIPMUX command is used to enable multiple connections


(8) The AT+CIPSERVER command is to create a server


(9) The AT+CIPSEND command is used to send messages


(10) The message is displayed on the webpage


The AT commands used in programming the ESP8266 WiFi module can be understood better by a tabular column.

The AT commands used in this project are shown.



void setup()
initialize input and output pins;
reset ESP8266;
set mode as 3;
enable multiple connections;
enable server;

void loop()
wait for GET request;
Check for obstacles;
Do the necessary actions;
Measure temperature using LM35;
send message to the server using AT+CIPSEND command;

Open chat
How we can help you today?