Go Down

Topic: ESP 13 wifi shield with DOIT firmware issue (Read 8785 times) previous topic - next topic

milanbx

Hi, I am new to Arduino and started to play with OSOYOO robotic car kit. It comes with an Arduino clone and an ESP 13 wifi shield with DOIT firmware in it. I am pretty sure, its the DOIT one, as it is written on the shield and I get a response on 192.168.4.1 providing the config page.
The shield is placed on Arduino as expected. USB cable connected to Arduino. No extra power, just the
USB.
And come the issues:

1) If I plug the USB cable to my PC, only the red LED on the shield lights up.
I have to push the "RST" button on the shield to get the blue LED light up too.

2) I use the guide at https://fineshang.gitbooks.io/esp8266-based-serial-wifi-shield-for-arduino-user/content/chapter4.html, or the OSOYOO guide at http://osoyoo.com/2016/09/18/esp8266-uart-wifi-shield-use-guide/, which are almost the same. Even if the blue LED lights up, I connect to the "DoitWiFi_Config" wifi network and click submit. Exactly as described in steps 1 to 3. However, I do not get any further, as the blue LED doesn light up any more and the wifi with SSID "DoitWiFi_Config" cannot be found any more.

3) Moreover, if I change anything on the config page, say the SSID to "MyShield" instead of "DoitWiFi_Config", this does't get saved!!

Well, my question to you, if I may dare to ask, would be:
a) Does any of you similar experience and any solution for this? Or am I doing anything wrong?
b) Is there a way to flash the firmware in the ESP8266 to the AT one, that would work with this shield?
I have looked through many post in several forums, but did not find anything, that would work.

Thanks for help.
Milan

pert

#1
Apr 25, 2018, 12:03 am Last Edit: Apr 25, 2018, 12:03 am by pert
a) Does any of you similar experience and any solution for this? Or am I doing anything wrong?
It sounds like maybe the ESP8266 is not being supplied with enough current. During network communication it requires a lot of current and if it doesn't get it then it might result in strange symptoms like you are seeing. On the other hand, I don't trust that DOIT firmware so it is worth trying the AT firmware, which I think you'll end up preferring in the end anyway.

b) Is there a way to flash the firmware in the ESP8266 to the AT one, that would work with this shield?
I have looked through many post in several forums, but did not find anything, that would work.
I wrote detailed instructions specifically for flashing AT firmware to the DOIT shield:
https://forum.arduino.cc/index.php?topic=466167.msg3208886#msg3208886

milanbx

Hi, thanks for such a quick response. I will try to use external power source (2 Lion batteries) first.
However, as I agree with you regarding the firmware, I will try to get thru your firmware update instructions and hopefully I will succeed. I will get back here as son as I am finished with it, or if I get in trouble.
Thanks again.

pert

I should mention those instructions were written some time ago. The specific download links are now to outdated versions (though I also provided general links at the introduction of the instructions). You should use the latest version (currently 2.2.0) of the NONOS SDK from here:
https://www.espressif.com/en/support/download/sdks-demos

And the latest version (currently 3.6.4) of the Flash Download Tool from here:
https://www.espressif.com/en/support/download/other-tools

The rest of the instructions should still be applicable to the new versions.

milanbx

OK, I will, thnx. Btw, the extra power source did not change anything :-)

milanbx

#5
Apr 25, 2018, 12:23 am Last Edit: Apr 25, 2018, 12:32 am by milanbx
Hmm, your procedure says: "In the Download Path Config section:..." The new flash tool doesn't have this and provides tabs. A "SPIDownload" tab could be the right one, OK?

Moreover, the new NONOS SDK has 2 versions of "esp_init_data_default.bin": v05 and v08. Which one to use?

And what about boud? 115200? And should I set the same speed in Windows Device Manager for this port (COM12 in my case)?

And the Flash Size - 4MBit?

pert

#6
Apr 25, 2018, 12:45 am Last Edit: Apr 25, 2018, 12:45 am by pert Reason: Embed image
"In the Download Path Config section:..." The new flash tool doesn't have this
Ah, I see they've made some changes to the tool. That's this section:


A "SPIDownload" tab could be the right one, OK?
Yes, I believe so.

Moreover, the new NONOS SDK has 2 versions of "esp_init_data_default.bin": v05 and v08. Which one to use?
In the reply following those instructions I whined about a similar thing. Espressif makes some effort but in the end their documentation is still lacking some important details (such as no mention of what the various tabs on the Flash Download Tool are for). I haven't looked into this specific ambiguity but my instinct is that you should just use the newest version, so esp_init_data_default_v08.bin.

And what about boud? 115200?
It doesn't matter. Higher baudrate will make the flashing process faster but at the extremes might fail. It really doesn't take very long anyway. That would be more important to someone who was flashing a lot of chips.

And should I set the same speed in Windows Device Manager for this port (COM12 in my case)?
No. Don't mess with that.

And the Flash Size - 4MBit?
That will be set automatically because you checked the SpiAutoSet box. You don't need to worry about anything in the SpiFlashConfig section of the tool other than checking SpiAutoSet.

milanbx

#7
Apr 25, 2018, 12:49 am Last Edit: Apr 25, 2018, 12:53 am by milanbx
 :( Something went wrong, same as denisio's reponse #31 in topic https://forum.arduino.cc/index.php?topic=466167.31.
Please, see attached screenshots.

pert

Sorry to hear. I'll try to dig out my DOIT shield and try it out with the new AT firmware and Flash tool later on to see what my results are. In the meantime maybe someone else here can give some advice.

ieee488

Pretty sure that the flash size on the ESP-13 is not 4Mbit. You need to change that in the Flash Downloader tool.

Even the lowly ESP-01 is 8Mbit.


pert

I dug out my DOIT shield to use as a reference for your photo and I spotted the problem. Counterintuitively, when you're using an Arduino board as a USB-TTL serial adapter the correct connections to make are:
Arduino  Shield
TX (pin 1)TX0
RX (pin 0)RX0

Now you're probably thinking "that can't be right, we always connect RX-TX, TX-RX". You need to remember that the markings on the silkscreen on your Arduino board are referring to the pins on the primary microcontroller (ATmega328P on your board). When using the board as a USB-TTL serial adapter you're not communicating between the ATmega328P and the ESP8266. You're communicating between the USB-TTL serial adapter chip (ATmega16U2 on your board) and the ESP8266. Since the USB-TTL serial adapter chip is connected to the ATmega328P chip RX-TX, TX-RX, the pin 1 marked as "TX" on the silkscreen is actually the RX pin of the USB-TTL serial adapter and vice versa with pin 0.

The other thing you should do before attempting the AT firmware flashing process again is to disconnect the ESP8266 from your Arduino board and then upload the File > New sketch to the board to make sure there is no code running on the ATmega328P that will cause it to attempt serial communication and thus interfere with communication between the USB-TTL serial adapter chip and the ESP8266.

I followed the instructions I wrote with the latest AT firmware and Flash Download Tools and it worked fine for me on the first try.

pert

Pretty sure that the flash size on the ESP-13 is not 4Mbit. You need to change that in the Flash Downloader tool.
When you check the "SpiAutoSet" checkbox in the Flash Download Tool it will automatically detect all the correct settings in the "SpiFlashConfig" section of the tool and set them before starting the flashing process. The only time you would need to manually configure those settings is if your ESP8266 module uses a flash chip that is not in the tool's database. It's a really nice feature since most sellers don't provide more than the most vague details about the ESP8266 modules/boards and you can't see which flash chip is used when it's under the metal shield. They use these module identifiers but it's rare to find any specs on them and you really have no guarantee they would be accurate anyway beyond the fact there is an ESP8266 on there. I despise the use of the "M" unit when describing flash size. How freaking hard could it be to just write megabyte or megabit so there's no possibility of confusion (I don't trust an eBay seller to get Mb vs MB right and they'd probably write it as "mb" anyway)?

Even the lowly ESP-01 is 8Mbit.
Those are traditionally 4 Mbit:
https://www.esp8266.com/wiki/doku.php?id=esp8266-module-family#summary_table
I have heard that some ESP-01 have 8 Mbit flash. I seem to remember the blue boards are 4 Mbit and the black boards are 8 Mbit. Even though the ESP-01 has the flash chip exposed it seems hard to find a datasheet for those chips and really you can't count on the Chinese sellers to send you exactly what you saw in the listing photo.

milanbx

#12
Apr 25, 2018, 09:08 am Last Edit: Apr 25, 2018, 09:09 am by milanbx
Hi guys, thank you for all hints, I will proceed with them further later today.

milanbx

Hi again! Well,  I have uploaded a new (empty) sketch to Arduino and switched the RX/TX pairs (Arduino TX to shield TX0 and RX to RX0) as advised, but the result is still the same :-( I have also double-checked the wiring.
Any new ideas, what could be wrong?
Thnx

milanbx

#14
Apr 25, 2018, 10:47 pm Last Edit: Apr 25, 2018, 11:50 pm by milanbx
YES!!! It seams, that I have succeeded finally!! Dont ask me why, but I have done following:
After clicking  the START button on the DOWNLOAD TOOL, the console started to print "....._____....." as usually. And during this I HAVE PUSHED THE RESET BUTTON ON THE SHIELD and the flashing process began! See attached screenshot when done.
I will complete the rest of your instructions to find out, if I have really succeeded completely.
Thanks again!

Go Up