ESP-12 + arduino mega

Greetings guys.

I just purchased this version of ESP modules.

This is how I wired the module according to several sites that i came across.

the module comes with AMS 111.7 soldered onto the back of the module(Refer to link). - I then upload a blank sketch on to the mega, open up the serial monitor and I received this response

How should I proceed from here? Many thanks in advance.

This is how I wired the module according to several sites that i came across.

So, you connected something to the pins that the Serial3 instance uses.

I then upload a blank sketch on to the mega, open up the serial monitor and I received this response

Impossible. A blank sketch wouldn’t even open the serial port. You would have gotten nothing in the Serial Monitor application.

This is how I wired the module according to several sites that i came across.

Are you sure that you have not connected the TX and RX from the ESP to pins 0 and 1 of the Mega? This would connect the ESP to the USB serial port and the text you are seeing could be coming direct from the firmware on the ESP.

Do you want to use NodeMCU and program in Lua? If so, you will get better information going to nodemcu.com.

PaulS:
So, you connected something to the pins that the Serial3 instance uses.
Impossible. A blank sketch wouldn’t even open the serial port. You would have gotten nothing in the Serial Monitor application.

you’re right. i did upload this code into mega. I’ve also changed the pin tx-rx to 0,1 respectively.

/*onnection:
ESP-12 VCC connect to separated power of 3.3V
Due GND - ESP-12 GND
Due TX3 - ESP-12 RX
Due RX3 - ESP-12 TX
ESP-12 CH_PD connect to ESP-12 VCC

Due connect with PC USB, such that we can monitor the status of ESP-12.

Start Serial Monitor, at 9600 baud, to reset and start run the program.

Due8266WebControlLed.ino 
/*
Arduino Due - ESP 8266 WiFi Module
Serial (Tx/Rx) communicate to PC via USB
Serial3 (Tx3/Rx3) connect to ESP8266
Tx3 - ESP8266 Rx
Rx3 - ESP8266 Tx
ESP8266 CH_PD Connect to ESP8266 VCC
*/

#define ESP8266 Serial
String SSID = "FreeWifi";
String PASSWORD = "b1tchpl3AS3";

int LED = 13;

boolean FAIL_8266 = false;

void setup() {
  pinMode(LED, OUTPUT);
  
  digitalWrite(LED, LOW);
  delay(300);
  digitalWrite(LED, HIGH);
  delay(200);
  digitalWrite(LED, LOW);
  delay(300);
  digitalWrite(LED, HIGH);
  delay(200);
  digitalWrite(LED, LOW);
  delay(300);
  digitalWrite(LED, HIGH);
  delay(200);
  digitalWrite(LED, LOW);

  do{
    Serial.begin(9600);
    ESP8266.begin(9600);
  
    //Wait Serial Monitor to start
    while(!Serial);
    Serial.println("--- Start ---");

    ESP8266.println("AT+RST");
    delay(1000);
    if(ESP8266.find("ready"))
    {
      Serial.println("Module is ready");
      ESP8266.println("AT+CWMODE=1");
      delay(2000);
      
      //Quit existing AP, for demo
      Serial.println("Quit AP");
      ESP8266.println("AT+CWQAP");
      delay(1000);
      
      clearESP8266SerialBuffer();
      if(cwJoinAP())
      {
        Serial.println("CWJAP Success");
        FAIL_8266 = false;
        
        delay(3000);
        clearESP8266SerialBuffer();
        //Get and display my IP
        sendESP8266Cmdln("AT+CIFSR", 1000);  
        //Set multi connections
        sendESP8266Cmdln("AT+CIPMUX=1", 1000);
        //Setup web server on port 80
        sendESP8266Cmdln("AT+CIPSERVER=1,80",1000);
        
        Serial.println("Server setup finish");
      }else{
        Serial.println("CWJAP Fail");
        delay(500);
        FAIL_8266 = true;
      }
    }else{
      Serial.println("Module have no response.");
      delay(500);
      FAIL_8266 = true;
    }
  }while(FAIL_8266);
  
  digitalWrite(LED, HIGH);
}

void loop(){
  if(ESP8266.available()) 
  {
    Serial.println("Something received");
    delay(1000);
    if(ESP8266.find("+IPD,"))
    {
      String action;
      
      Serial.println("+IPD, found");
      int connectionId = ESP8266.read()-48;
      Serial.println("connectionId: " + String(connectionId));
      
      ESP8266.find("led=");
      char s = ESP8266.read();
      if(s=='0'){
        action = "led=0";
        digitalWrite(LED, LOW);
      }else if(s=='1'){
        action = "led=1";
        digitalWrite(LED, HIGH);
      }else{
        action = "led=?";
      }
      
      Serial.println(action);
      sendHTTPResponse(connectionId, action);
      
      //Close TCP/UDP
      String cmdCIPCLOSE = "AT+CIPCLOSE="; 
      cmdCIPCLOSE += connectionId;
      sendESP8266Cmdln(cmdCIPCLOSE, 1000);
    }
  }
}

void sendHTTPResponse(int id, String content)
{
  String response;
  response = "HTTP/1.1 200 OK\r\n";
  response += "Content-Type: text/html; charset=UTF-8\r\n"; 
  response += "Content-Length: ";
  response += content.length();
  response += "\r\n";
  response +="Connection: close\r\n\r\n";
  response += content;

  String cmd = "AT+CIPSEND=";
  cmd += id;
  cmd += ",";
  cmd += response.length();
  
  Serial.println("--- AT+CIPSEND ---");
  sendESP8266Cmdln(cmd, 1000);
  
  Serial.println("--- data ---");
  sendESP8266Data(response, 1000);
}

boolean waitOKfromESP8266(int timeout)
{
  do{
    Serial.println("wait OK...");
    delay(1000);
    if(ESP8266.find("OK"))
    {
      return true;
    }

  }while((timeout--)>0);
  return false;
}

boolean cwJoinAP()
{
  String cmd="AT+CWJAP=\"" + SSID + "\",\"" + PASSWORD + "\"";
  ESP8266.println(cmd);
  return waitOKfromESP8266(10);
}

//Send command to ESP8266, assume OK, no error check
//wait some time and display respond
void sendESP8266Cmdln(String cmd, int waitTime)
{
  ESP8266.println(cmd);
  delay(waitTime);
  clearESP8266SerialBuffer();
}

//Basically same as sendESP8266Cmdln()
//But call ESP8266.print() instead of call ESP8266.println()
void sendESP8266Data(String data, int waitTime)
{
  ESP8266.print(data);
  delay(waitTime);
  clearESP8266SerialBuffer();
}

//Clear and display Serial Buffer for ESP8266
void clearESP8266SerialBuffer()
{
  Serial.println("= clearESP8266SerialBuffer() =");
  while (ESP8266.available() > 0) {
    char a = ESP8266.read();
    Serial.write(a);
  }
  Serial.println("==============================");
}

the problem still persist. kindly advise.

Hackscribble:
Are you sure that you have not connected the TX and RX from the ESP to pins 0 and 1 of the Mega? This would connect the ESP to the USB serial port and the text you are seeing could be coming direct from the firmware on the ESP.

Do you want to use NodeMCU and program in Lua? If so, you will get better information going to nodemcu.com.

I’m trying to program in arduino because I will be adding on other stuff like relays, gas sensors, lcd ,etc