(Another) Failed to disable echo error

Sorry to be painful,

I keep receiving the following error when connecting an ESP8266 to an Arduino Nano as a shield

⸮f⸮⸮⸮⸮~⸮fff⸮ff⸮ff⸮⸮⸮f[19] 
    ___  __          __
   / _ )/ /_ _____  / /__
  / _  / / // / _ \/  '_/
 /____/_/\_, /_//_/_/\_\
        /___/ v0.4.7 on Arduino Nano

[604] Connecting to Boon_Shed
[1620] Failed to disable Echo

I am using an example code from the BLYNK library:

/*************************************************************
  Download latest Blynk library here:
    https://github.com/blynkkk/blynk-library/releases/latest

  Blynk is a platform with iOS and Android apps to control
  Arduino, Raspberry Pi and the likes over the Internet.
  You can easily build graphic interfaces for all your
  projects by simply dragging and dropping widgets.

    Downloads, docs, tutorials: http://www.blynk.cc
    Sketch generator:           http://examples.blynk.cc
    Blynk community:            http://community.blynk.cc
    Social networks:            http://www.fb.com/blynkapp
                                http://twitter.com/blynk_app

  Blynk library is licensed under MIT license
  This example code is in public domain.

 *************************************************************

  This example shows how to use ESP8266 Shield (with AT commands)
  to connect your project to Blynk.

  WARNING!
    It's rather tricky to get it working, please read this article:
    https://github.com/blynkkk/blynk-library/wiki/ESP8266-with-AT-firmware

  Change WiFi ssid, pass, and Blynk auth token to run :)
  Feel free to apply it to any other example. It's simple!
 *************************************************************/

/* Comment this out to disable prints and save space */
#define BLYNK_PRINT Serial


#include <ESP8266_Lib.h>
#include <BlynkSimpleShieldEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "Boon_Shed";
char pass[] = "Seven";

// Hardware Serial on Mega, Leonardo, Micro...
//#define EspSerial Serial1

// or Software Serial on Uno, Nano...
#include <SoftwareSerial.h>
SoftwareSerial EspSerial(0, 1); // RX, TX

// Your ESP8266 baud rate:
#define ESP8266_BAUD 9600

ESP8266 wifi(&EspSerial);

void setup()
{
  // Debug console
  Serial.begin(9600);

  delay(10);

  // Set ESP8266 baud rate
  EspSerial.begin(ESP8266_BAUD);
  delay(10);

  Blynk.begin(auth, wifi, ssid, pass);
}

void loop()
{
  Blynk.run();
}

I have already read and searched for over a week looking over all of the other posts on the forum and I have tried everything such as swapping the Rx and Tx pins, using pins 11 and 12 for Rx and Tx, reverting to v.022 firmware, testing using different arduinos and ESP’s, and I am still recieving the same error.

Can somebody please help me get this working? What am I doing wrong?

[UPD: “Failed to disable echo” will most probably be reported as “ESP is not responding” now]

So many reasons for that error… lots of trial end error is your 2nd best bet… the 1st is using the ESP in standalone mode.

The Nano is 5v the ESP is 3.3v (this affects the TX/RX pins as well), you may also wish to try AT version 1.1.0.0 as per the Help Center document.

http://help.blynk.cc/hardware-and-libraries/arduino/esp8266-with-at-firmware

use hardware serial because that is what i am using and it works very well.
i am also using arduino nano with esp8266 asn wifi shield. use Digital pin 0 and 1

I guess I’ll continue my trial and error streak. So far nothing is working. I can’t use the ESP in standalone because I am driving roughly 5 outputs and 2 inputs with it.

As far as the 5v and 3.3v logic levels are concerned, I’m using this adapter module to bypass that issue.

Can you use the hardware serial? How does that work within the code?

As far as using Digital pins 0 and 1, do you mean the Rx and Tx pins?

// Hardware Serial on Mega, Leonardo, Micro...
#define EspSerial Serial1

// or Software Serial on Uno, Nano...
//#include <SoftwareSerial.h>
//SoftwareSerial EspSerial(0, 1); // RX, TX

replace this in your code with this

Hardware serial (the Arduino’s built in UART) is just “normal” Serial, like when printing to the serial monitor, etc… no libraries and using digital pins 0 & 1 (which are the Rx and Tx shared by the UART)… But you have to keep disconnecting the Shield whenever you want to hook up to USB to load a program. Look at that link I sent you from the Blynk Help Center, that shows a Arduino Mini hooked up to an ESP using hardware serial.

It is less convenient because it is shared by the programming/monitoring USB port, but more reliable than Software Serial, which is standard digital pins tricked into mimicking a UART via a library.

That’s how I’ve had it connected but I was using the software serial rather than the hardware serial. For some reason, every time I tried to load the program I had to disconnect the ESP anyhow otherwise the arduino IDE would just print a whole list of errors. I’ll give that a go and see if it works

Thank you. I will try that soon

That is serial for you… One use at a time, IDE Programing, IDE Serial monitor, Arduino ↔ ESP link, etc… but best to not have multiple physical connections, even if only “using” one at a time.

Hardware serial connections do not require additional libraries and always use pins 0&1. Some Arduinos have additional hardware pin/pairs as well, but not relevant in your case.

After trying all of the suggestions, I am still being presented with the same errors.

No matter what I do, it returns with the same ‘cannot disable echo error’

@Riley_Boon as per many other threads regarding “Echo” I don’t see any mention of you checking the baud rate of your ESP.

You have a baud rate in the sketch (keep at slow 9600 for slow Arduino’s like your Nano) but establish what rate your ESP is set at with the AT commands. Some are set at 115200 or 74800 when you receive them and will not work with your sketch until you change to 9600.

I can no longer access the ESP to change the Baud Rate. I set the baud in the SM to 74800 and power up the chip, and this is the readout that I receive:

 ets Jan  8 2013,rst cause:1, boot mode:(1,6)


 ets Jan  8 2013,rst cause:1, boot mode:(3,6)

load 0x40100000, len 816, room 16 
tail 0
chksum 0x8d
load 0x3ffe8000, len 788, room 8 
tail 12
chksum 0xcf
ho 0 tail 12 room 4
load 0x3ffe8314, len 288, room 12 
tail 4
chksum 0xcf
csum 0xcf

2nd boot version : 1.2
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size : 4Mbit
jump to run usererror user bin flag, flag = 8
user code done

Of course you can. Do you know the AT stuff?

The only knowledge I have about the AT stuff is through trying to troubleshoot the echo error. I could use the commands before, but now I can’t connect to it even through Putty. I was going to reflash it with the suggested firmware (v1.1.0.0) but I can’t find a place to download it anywhere.

Putty can be a bit hit and miss especially if the ESP is working at 74800.

I’m not a fan of ESP shields but you might find what you require at https://github.com/espressif/ESP8266_NONOS_SDK/tree/master/bin

How about trying esp in standalone with i2c gpio expander? Such as the pcf8574, it’s cheap, libraries exist and it gives 8 gpios at the price of 2 on board.

use 9600 baud rate. use the command AT+UART=9600,8,1,0,0 to change the baud rate.
since i have the same hardware and which are arranged in the same way. i might be of some help. just explain your problem and the methods that you have tried to solve this issue. along with the code and the serial messages.

I cannot change the baud rate. The ESP does not respond to any of the AT commands that I send to it.

I updated the firmware to the latest version and opened the arduino IDEwith a baud rate of 74880. These are the results that get printed:

load 0x40100000, len 816, room 16 
tail 0
chksum 0x8d
load 0x3ffe8000, len 788, room 8 
tail 12
chksum 0xcf
ho 0 tail 12 room 4
load 0x3ffe8314, len 288, room 12 
tail 4
chksum 0xcf
csum 0xcf

2nd boot version : 1.2
  SPI Speed      : 40MHz
  SPI Mode       : QIO
  SPI Flash Size : 8Mbit
jump to run user1

get flash_addr error!
user code done

I have noticed that when I boot the arduino without the ESP connected, I still get the same failed to disable echo error. Just an observation. I need to get the ESP working first though.