Pressing the 'key' button on the shield for more than 1 second appears to do absolutely nothing - the red LED remains steady on indicating no change in mode.
It appears to come up as AI_THINKER_D4950F in the wifi settings of my android phone and I can connect to this network. However I don't need to enter an SSID and key as per the above instructions.
And trying to connect to 192.168.4.1 (configuration web page) fails.
Has ANYONE had any success with the same device.
You can plug the ethernet shield into an Arduino and it works straight away but these damn wifi shields are just impossible!
I got one of those from Aliexpress(looks like you were way overcharged!) and it came with the DOIT firmware. I was able to follow the instructions at that gitbooks link and access the configuration web page. It sounds like yours doesn't have the DOIT firmware on it, no big loss. The DOIT firmware might be ok, I don't know, but any example code or library you find is written for the espressif AT firmware so it was useless to me. I updated to the latest AT firmware right away using an FTDI breakout following the standard process for manually installing the AT firmware on an ESP8266. I can post instructions if you want.
I wouldn't bother using the thing standalone, there are much nicer standalone ESP8266 boards for less than $3, I like the WeMos D1 Mini for that purpose.
The trick with these shields is they are connected to pins, 0 and 1. On Uno or Mega that's Serial. This means that when you upload a sketch to your Arduino board you need to turn off the switch on the shield so it doesn't interfere with the upload. It also means you can't use Serial for the typical purpose of debug output. You're working blind with these things. You need to make sure your code isn't sending anything except AT commands on Serial. The author of the WiFiESP library made the genius move of leaving debug output to Serial on by default so you need to go and disable that to make the library work with an ESP8266 connected to Serial(Logging disabled by default by per1234 · Pull Request #46 · bportaluri/WiFiEsp · GitHub). You also need to use the right baud rate. The default for the AT firmware is 115200.
pert:
I got one of those from Aliexpress(looks like you were way overcharged!) and it came with the DOIT firmware. I was able to follow the instructions at that gitbooks link and access the configuration web page. It sounds like yours doesn't have the DOIT firmware on it, no big loss. The DOIT firmware might be ok, I don't know, but any example code or library you find is written for the espressif AT firmware so it was useless to me. I updated to the latest AT firmware right away using an FTDI breakout following the standard process for manually installing the AT firmware on an ESP8266. I can post instructions if you want.
I wouldn't bother using the thing standalone, there are much nicer standalone ESP8266 boards for less than $3, I like the WeMos D1 Mini for that purpose.
The trick with these shields is they are connected to pins, 0 and 1. On Uno or Mega that's Serial. This means that when you upload a sketch to your Arduino board you need to turn off the switch on the shield so it doesn't interfere with the upload. It also means you can't use Serial for the typical purpose of debug output. You're working blind with these things. You need to make sure your code isn't sending anything except AT commands on Serial. The author of the WiFiESP library made the genius move of leaving debug output to Serial on by default so you need to go and disable that to make the library work with an ESP8266 connected to Serial(Logging disabled by default by per1234 · Pull Request #46 · bportaluri/WiFiEsp · GitHub). You also need to use the right baud rate. The default for the AT firmware is 115200.
I am using it with a mega so I could leave those dip switches permanently off and, I assume, connect the ESP-13 Tx and Rx pins to Tx3 and Rx3 on the mega......with a few tweaks to the library code.
boylesg:
I am using it with a mega so I could leave those dip switches permanently off and, I assume, connect the ESP-13 Tx and Rx pins to Tx3 and Rx3 on the mega
Yes, you can bend the shield pins that connect to Arduino pins 0 and 1 out so they don't go into the header and then use a jumper to connect them to any pins you like, even software serial if you change the baud rate but since you have a Mega hardware serial is the way to go.
boylesg:
with a few tweaks to the library code.
If you're using the WiFiESP library, which I recommend despite the debug output thing, then you can pass it any object you like from your sketch to communicate with the ESP8266. So no modification of the library necessary, in your case you would only need to do:
Normally you can do an OTA firmware update using AT+CIUPDATE but I couldn't because the DOIT firmware it shipped with doesn't support that function. Since it looks like you might have an AT firmware installed you might be able to do the much easier OTA firmware update but my understanding is the AI Thnker(the module manufacturer) AT firmware is different from the Espressif(the chip manufacturer) firmware. So if you do an OTA firmware update with AI Thinker firmware you'll probably get an AI Thinker firmware update. I think the AI Thinker firmware is similar but allows GPIO control via AT commands. This sounds handy but the AI Thinker is all in Chinese and Google Translate doesn't help at all so I decided to just go for the Espressif AT firmware that has better documentation and seems to be the one that people develop code for. I have no way of knowing how actively developed the AI Thinker AT firmware is. In the shield configuration I would rather just use the ESP8266 for WiFi only and use the Arduino pins for I/O.
boylesg:
I am using it with a mega so I could leave those dip switches permanently off and, I assume, connect the ESP-13 Tx and Rx pins to Tx3 and Rx3 on the mega......with a few tweaks to the library code.
What firmware did you put on the ESP?
Never mind I figured it out - it requires the 1.1.... version of the firmware.
And finally I can connect to it via 10.0.0.79.
Thanks for that any how pert.
Now I wonder if all this will work with these ESP shields from ebay, because I have had a bitch of a time trying to figure out how to make one of these work....without any success what so ever.
pert:
Yes, you can bend the shield pins that connect to Arduino pins 0 and 1 out so they don't go into the header and then use a jumper to connect them to any pins you like, even software serial if you change the baud rate but since you have a Mega hardware serial is the way to go.
If you're using the WiFiESP library, which I recommend despite the debug output thing, then you can pass it any object you like from your sketch to communicate with the ESP8266. So no modification of the library necessary, in your case you would only need to do:
I don't even need to do that pert.
I just turned the two dip switches to the off positions and it has the same effect as bending the pins out of the way.
If you're using the WiFiESP library, which I recommend despite the debug output thing, then you can pass it any object you like from your sketch to communicate with the ESP8266. So no modification of the library necessary, in your case you would only need to do:
And after looking at the library source code, that is exactly what I was trying to do to the uartWifi library I was previously using.
Normally you can do an OTA firmware update using AT+CIUPDATE but I couldn't because the DOIT firmware it shipped with doesn't support that function. Since it looks like you might have an AT firmware installed you might be able to do the much easier OTA firmware update but my understanding is the AI Thnker....
I was able to upload the firmware using the tool and instructions provided through the Jaycar website along with that uartWifi library.
boylesg:
And finally I can connect to it via 10.0.0.79.
Glad to hear you got it working!
boylesg:
Now I wonder if all this will work with these ESP shields from ebay, because I have had a bitch of a time trying to figure out how to make one of these work....without any success what so ever.
I have one of those also. It's wired just the same as the DOIT shield and the AT firmware it ships with works fine so I didn't even need to hassle with trying to get rid of the stupid DOIT firmware. The downside is they're twice as expensive as the DOIT shields if you don't get ripped off by jaycar.
boylesg:
I just turned the two dip switches to the off positions and it has the same effect as bending the pins out of the way.
Sounds like you're bypassing the level shifter on the ESP8266 rx line. You can probably get away with it but since it's already on the shield I'd advise you to use it. Sending 5v signals into the 3.3V ESP8266 might cause damage. There's some disagreement on whether the ESP8266 IO pins are 5v tolerant or not but I say better safe than sorry.
pert:
Sounds like you're bypassing the level shifter on the ESP8266 rx line. You can probably get away with it but since it's already on the shield I'd advise you to use it. Sending 5v signals into the 3.3V ESP8266 might cause damage. There's some disagreement on whether the ESP8266 IO pins are 5v tolerant or not but I say better safe than sorry.
I did try passing the rx and tx from the arduino through a separate level shifter and then on to the ESP, but it would not initialise. The test sketch kept saying no ESP present.
So if the ESP already contains a level shifter then that would explain why the above was happening.
Also would seem to explain why there are 2 x tx and 2 x rx sockets on the ESP-13.
Presumably the one I chose to use has the level shifter associated with it while the other tx/rx set presuably doesn't.
Hey all,
I know this one is a bit old now but seemed to rank high and was one of the first places I found.
I have found the same issues and have figured out some of the basics now. You can find:
the UNO is really just for power and a serial connection. I suggest to everyone starting with this board to go back to the basics. ignore dip switches and buttons and just make the board communicate. Work up from there
I'm using one of those ESP-13 Arduino shields as part of a robot car kit I bought from Osoyoo.
The board is designed by the Doit company of China. It has a notorious 2 pole DIP switch without much information about what exactly the switches do.
I got the kit to work, including their example 5, wifi function , broadcast SSID, web-page for configuration, etc. The kit uses an Arduino Uno board with the ESP-13 wifi shield.
I also got the very useful example posted at
to work, first time - I highly recommend those instructions.
But...none of the simple standard wifi example scripts supplied as part of the Arduino IDE run on this ESP-13 module.
For example, the simple scannetworks script just returns "wifi module not present" in the serial monitor.
Can anyone tell me how to get scannetworks working on my ESP-13 + Arduino kit ?