Hi, just want to say thank you @pert for this post and replies, first time Arduino Uno tinkerer and went from "Blink" to "WebServerLed" in a few steps admittedly went to bed at 2AM but it worked! Cheers

I start with Arduino and for a few days with Wifi. I can connect the Arduino Mega with the shield and exchange AT commands. However, I noticed that my module does not include many AT commands. So, before going further in my project, I want to go on a healthy basis with a recent firmware. But I can not change the firmware.

I have the shield XC-4614 ESP13 (Chinese) produced by Doit, with ESP8266-13 from AI-Thinker. I notice that this module can not be upgraded according to the instructions of Doit. So, I wanted to change the firmware AI-thinker by Espressif one. Espressif offers much more information. I do not have the features of the ESP-13 module. It seems close to Espressif ESP Wroom-02 derived from ESP 8266EX: 80 MHz, 16Mbits.

I followed the instructions of message # 25 and 26 from Pert. I tried several cases (40/80 MHz, QIO / DIO, 16Mbits, SpiAutoSet, COM XX, 115200 Bd)). I used the files of the version esp8266_nonos_sdk_v2.0.0_16_08_10 and the parameters of "ESP8266 AT Instruction Set" PDF (finally, I tried all the settings). The update always fail after a few seconds, with the message:

Note that it previously said "5 checkboxes" but I'm pretty sure that was a typo I made so I've updated it to 6 since there are 6 files.

I'm not sure whether this is actually the cause of your problem but it's definitely worth a try. I believe if the checkboxes aren't checked then it won't flash the ESP8266 with those files, which it definitely needs to do.

Sorry, an error! I have tested so many protocols that I am not sure of myself anymore. I did not correctly interpret the sentence in the post # 26 "In the Download Path Config section, make sure all checkboxes on the left side are unchecked".

This XC4614 shield is really complicated. I also wonder if I have not damaged a component with a bad connection before. I will order a new ESP / shield to be sure. If you had to start a new project, which simple model (for novice, without need of resistance and capacitor) would you choose today? For use in a small installation (equipment of aquariums) composed of several modules communicating with a master connected to the Internet ?

#ifndef HAVE_HWSERIAL1#include "SoftwareSerial.h"SoftwareSerial Serial1(6, 7); // RX, TX#endifThis checks if the board you're using has a second hardware serial interface available (Serial1). If not it assumes you are going to be using software serial on pins 6 and 7 and names the SoftwareSerial object Serial1 (not to be confused with the hardware serial object of that same name). If a second hardware serial interface is available on the board you're using then it will be used. Since the Uno doesn't have a second hardware serial interface that code will cause the sketch to use software serial. If you have the shield plugged into your Uno then it's connected to Serial, not pin 6 and 7 so this will not work. In that case you need to delete the lines of code shown above, as you guessed, but you also need to make another change.

WiFi.init(&Serial1); // initialize ESP moduleThat line passes the serial object to the WiFiEsp library so it can use it to communicate with the ESP8266. Since the ESP8266 is connected to Serial on your Uno, not Serial1 that is wrong. You need to change it to:

As I said in my previous reply, you also need to edit the library source code to turn off debug output as this is also sent to Serial and will interfere with communication with the ESP8266. Follow these steps:

File > Examples > WiFiESP > ConnectWPA

Sketch > Show Sketch Folder - this will open the folder {sketchbook}/libraries/WiFiEsp/examples/ConnectWPA

Keep in mind that you can have debug output turned on in the WiFiEsp library when you're using it with your Leonardo so you may want to revert this change if you need to do troubleshooting in that configuration but otherwise I recommend always having debug output turned off as it uses a lot of memory and slows down your Arduino.

@Pert just wanted to say thank-you reviewing your posts has got me further than weeks of misleading information on the net.

I have disabled logging and followed your instructions as above however i too am receiving the following:

A simple web server that lets you turn on and of an LED via a web page.This sketch will print the IP address of your ESP8266 module (once connected)to the Serial monitor. From there, you can open that address in a web browserto turn on and off the LED on pin 13.

For more details see: http://yaab-arduino.blogspot.com/p/wifiesp.html*/

while(!Serial){} //wont run toll serial monitor is opened // check for the presence of the shield if (WiFi.status() == WL_NO_SHIELD) { Serial.println("WiFi shield not present"); // don't continue while (true); }

if (client) { // if you get a client, Serial.println("New client"); // print a message out the serial port buf.init(); // initialize the circular buffer while (client.connected()) { // loop while the client's connected if (client.available()) { // if there's bytes to read from the client, char c = client.read(); // read a byte, then buf.push(c); // push it to the ring buffer

// printing the stream to the serial monitor will slow down // the receiving of data from the ESP filling the serial buffer //Serial.write(c);

// you got two newline characters in a row // that's the end of the HTTP request, so send a response if (buf.endsWith("\r\n\r\n")) { sendHttpResponse(client); break; }

The shield I received it's different to the one you can see at the link. It came with the DoIt firmware. The DoitWiFi_config webserver says it's version 2.2 based on ESP8266 SDK 1.4.0 (2015).

Without using a USB-TTL serial adapter (just the shield attached to the Leonardo), I followed the steps descripted by @pert at post #25. I only can get connected and see green picture which says "Sync".

On previous attemps, I don't know how but I got info about my shield at the "Detected Info pannel" and the text "MAC Address" at the "Download Pannel" without any other info.

Is it mandatory to use a USB-TTL to flash the firmware? Is there any way to do it connecting the shield to the Leonardo?

Links below are pictures of the board, the shield and the results I got from ESP Flash Download Tool 3.6.4.