Chat here is you are connecting ESP-xx type modules to existing AVR based Arduino

Moderator: igrr

User avatar
#91389 I have an Arduino due and an ESP8266-01 hooked up as follows:

Arduino Due-------ESP8266-01
3.3volt out-------->VCC and CH_PD

Then I use some really simple code on Arduino to get the two to talk together:
Code: Select allvoid setup() {
  // put your setup code here, to run once:


void loop() {
  // put your main code here, to run repeatedly:
  // check if a character is available from ESP8266 to read and if yes, read it and write out to computer
  if(Serial1.available()) {
    byte in =;
// check if a character is available from computer to read and if yes, read it and write out to ESP8266
  if(Serial.available()) {
    byte out =;

Trouble is that this just seems to echo the characters which I send through the Arduino IDE serial monitor back: when I enter AT+GMR, that is what I read back from the ESP8266, but nothing else. I.e. I get no response from the ESP8266. Although, when I do a reset of the ESP8266 by pulling RST to GND and then relieve the reset, the ESP8266 seems to send a couple of lines of nonsense to the Arduino

May-be the trivial question first: This is a brandnew ESP8266-01, I did not put any code in it myself. Can I expect that the module comes with code in it already which can interpret AT commands, or do I have to put that code in myself first?
User avatar
#91399 I did not have the serial moniotor to Both. When I set it to both, the response which I get from the command AT+GMR is no longer "AT+GMR" but "?+?M?" (whereby the "?"'s are actually mirrored vertically - which I cannot type here).