I have completed the circuit and code to interface ESP8266 module with Arduino UNO.

When i send AT,AT+RST from serial monitor the reply is correct .

But when i send AT commands to search WIFI networks (AT+CWLAP) & connect to WIFI (AT+CWJAP="SSID","password") the reply is ERROR.

But the IP address (may be default) is obtained as when i send AT+CIFSR .

Here is my code

#include <SoftwareSerial.h>  
SoftwareSerial esp8266(2,3); // make RX Arduino line is pin 2, make TX Arduino line is pin 3.  
                             // This means that you need to connect the TX line from the esp to the Arduino's pin 2  
                             // and the RX line from the esp to the Arduino's pin 3  

void setup()
    esp8266.begin(9600); // your esp's baud rate might be different

void loop()
    if(esp8266.available()) // check if the esp is sending a message
            // The esp has data so display its output to the serial window
            char c = esp8266.read(); // read the next character.
        // the following delay is required because otherwise the arduino will read the first letter of the command but not the rest
        // In other words without the delay if you use AT+RST, for example, the Arduino will read the letter A send it, then read the rest and send it
        // but we want to send everything at the same time.
        String command="";
        while(Serial.available()) // read the command character by character
            // read one character
        esp8266.println(command); // send the read character to the esp8266

Finally i found the solution .

Send AT+CWMODE=1 first , then all other commands working fine.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.