title: SoftSerial Not Working ESP8266
body: <p>I am trying to communicate with my ESP8266 module through Arduino Mega with the ESP's Rx pin connected to Mega's Pin 7 the ESP's Tx pin connected to Mega's Pin 6. I tried to run the following test code:</p>
  
  <pre><code>#include &lt;SoftwareSerial.h&gt;
  
  SoftwareSerial esp8266(6, 7);
  
  void setup() {
   // Open serial communications and wait for port to open:
   Serial.begin(115200);
   while (!Serial) {
     ; // wait for serial port to connect. Needed for native USB port only
   }
  
    Serial.println("Started");
  
   // set the data rate for the SoftwareSerial port
   esp8266.begin(9600);
   esp8266.write("AT\r\n");
  }
  
  void loop() {
   if (esp8266.available()) {
    Serial.write(esp8266.read());
   }
   if (Serial.available()) {
    esp8266.write(Serial.read());
   }
  }
  </code></pre>
  
  <p>I get no response from the ESP8266 module. I then tried to use the Mega's dedicated Tx and Rx pins (1 and 0 respectively). I can send commands using the serial monitor and it replies. First I sent <code>AT+CIOBAUD=9600</code> under a 115200 baud to change the baud rate of my ESP module to 9600. Then under 9600 baud I sent <code>AT+UART_DEF=9600,8,1,0,0</code>. It replied <code>OK</code> for both as expected. I tried again to run this program but I'm still getting no response from the ESP 8266 module. I also tried simply switching the Rx and Tx pins just to be safe. Still doesn't work. Any ideas on what I might be doing incorrectly?</p>