Post topics, source code that relate to the Arduino Platform

User avatar
By ClaudeSjDevinHenry
#94397 Hi

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:

#include <SoftwareSerial.h>

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());
}
}
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 AT+CIOBAUD=9600 under a 115200 baud to change the baud rate of my ESP module to 9600. Then under 9600 baud I sent AT+UART_DEF=9600,8,1,0,0. It replied OK 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?