What's the use of ESP-12E ESP8266 UART WIFI Wireless Shield

I've got this board and could not find the way to connect it with my board. Here are detailed information about it:

Description: 1. Standard pin interface to achieve full compatibility with the pitch Arduino Uno, Mega and so on. (Unless the standard size arduino, such as Nano, Mini) 2. 3.3V power supply using advanced chip (with the official expansion board power chip CC3000 same), so 3.3V Arduino board provided more accurate, so ESP8266 as official cc3000 chip work as normal, there is no gap. 3. It leads to a WiFi module power supply / service interface to facilitate developers to extend the power supply and maintenance. 4. Onboard ESP8266-12 stable industrial grade serial WiFi module, using an enhanced PCB antenna, signal better. 5. You can quickly switch DIP switch ESP8266-12 industrial grade WiFi stable operation mode (such as operating mode and upgrade mode) module, integrated serial chip, quickly flashing the firmware. 6. Built-in 5V to 3.3V TTL level converter to prevent high-pressure Arduino TTL level of the WiFi module damage. 7. Onboard ESP8266-12 stable industrial grade WiFi module with a metal shield, immunity to interference. 8. Onboard ESP8266-12 standard pitch leads to a stable industrial grade WiFi module all interfaces, enabling developers to easily develop deep. 9. Use stackable design, it can continue to accumulate above the other modules, easy to use. 10. Onboard four LED displays the status of ESP8266, namely PWR, DFU, AP, STA

Maybe I can get some suggestion from you. Thanks a lot.

I just received the same board (with the same description). I purchased it on eBay. I am using an Arduino UNO, but I haven't found a library that will work with this yet.

Did you get yours working?

I think we will require the Web link for that.

It is generally understood that the ESP-12*E* is in fact the NodeMCU board containing a USB interface and 3.3 V power regulator.

You either use the LUA interpreter which should be programmed into it, or use the extension to the Arduino IDE to program it.

Which is is that you are attempting?

If you think that a poster who last contributed on the 29/12/2015 is likely to answer, you may be waiting a while.

Hi, i received the same wifi shield and not see what need for work whit Arduino IDE. If anyone has information on how to use it I would appreciate . Thanks

I am also looking for how to communicate with the same board. Item 281813764345 on eBay. Has four switches. Has mode indicators of DFU, STA and AP. Don't know what DFU stands for. Has four switches mentioning TTL, DFU/Nor and DFU LED. The fourth switch turns on the DFU LED. And that's all I can figure out on this board so far.

They mention elecshop.ml but that site is out of service, apparently permanently. I thought I would be able to use this board but, so far, cannot get AT commands to answer OK so I am not talking to the 8266 yet.

Also tried CC3000 code but no response. Actually did not expect any since this is a different animal from CC3000.

Anyone got any ideas how to proceed?


Anybody had any success, yet? Did you get the AT commands on Arduino Serial Monitor work? I haven't purchased this board, yet as I'm waiting for anybody to be successful, at first...

Goto Blynk.com follow instructions there then use Arduino IDE to download ESP8266Standalone.ino to ESP8266-12E. On your smart phone install the Blynk App. It works really well.

Hi morabito83, how did you connect the Shield with the Arduino? And how did you set the 4 DIP switches (all on, or all off, or 1/2 OFF and 3/4 ON? Which "Board" and Settings did you use for the upload of the ESP8266_Standalone.ino? I tried a lot of setting and never was able to upload the code! Thanks Deusy

Deusy: Hi morabito83, how did you connect the Shield with the Arduino? And how did you set the 4 DIP switches (all on, or all off, or 1/2 OFF and 3/4 ON? Which "Board" and Settings did you use for the upload of the ESP8266_Standalone.ino? I tried a lot of setting and never was able to upload the code! Thanks Deusy


Deusy: Hi morabito83,

@morabito83 went off topic(please don't do that). They are talking about using an ESP8266 standalone which means uploading and running the code directly to the ESP8266. The subject of this thread is using the ESP-12E ESP8266 UART WIFI Wireless Shield attached to a standard Arduino board such as the Uno.

I haven't received my shield yet but I'm going to have a try at answering you questions and maybe someone will correct me if I get anything wrong.

I see some people in the thread that ieee488 posted a link to giving some potentially bad advice of wiring serial from the Arduino directly to the ESP8266. This is a bad idea if your Arduino is running at 5V(most do) because the ESP8266 can only handle 3.3V. The shield has level shifters on it to reduce the voltage of the Arduino serial out but you have to be careful not to bypass them.

Another problem I see on that thread is it is talking about multiple different shields. There is a manual for the DOIT shield which is similar to the shield this thread refers to but not the same. There is also a Instructable for a homemade shield using a breadboard shield so you have to be careful that you know which shield they are talking about.

Deusy: how did you set the 4 DIP switches (all on, or all off, or 1/2 OFF and 3/4 ON?

The left two switches appear to connect the serial from the Arduino to the shield. The people on the ESP8266.com thread are talking about using software serial but I believe these switches are connected to the Arduino's hardware serial. I would have to test the shield to see if this is the case(if you have a multimeter do a continuity test between Arduino pins 0 and 1 and the switch pins). If so, this means that when you upload sketches to your Arduino you need to turn those two switches off because the upload also uses serial. Then when you want to use the shield you need to turn them on so that the Arduino can communicate with the ESP8266. This also means you can't use the Serial Monitor for debug output while using the shield.

Deusy: Which "Board" and Settings did you use

Use whatever board your Arduino is. You should test the Arduino by uploading File > Examples > 01.Basics > Blink before attaching the shield to make sure that your Arduino is working correctly on its own.

Deusy: for the upload of the ESP8266_Standalone.ino?

Don't use ESP8266_Standalone.ino, that's written for use on the ESP8266 directly, not the ESP8266 shield. Use File > Examples > blynk-library > Boards_WiFi > ESP8266_Shield instead.

If the shield is connected to the hardware serial of your Arduino then will need to change the Blynk sketch to use hardware serial: Change line 41 from:

#define EspSerial Serial1


#define EspSerial Serial

From the ESP8266.com thread it sounds like the ESP8266 may be set to use 115200 baud by default, if so you would also need to change line 48 from:

#define ESP8266_BAUD 9600


#define ESP8266_BAUD 115200

Thanks for your fast replay! I will try to follow your suggestions. In the past I was only successful to communicate with the "shield" if I connect it with hard wires to the Arduino Uno R3 (I used the Arduino DIO like 6/7 or 2/3 for RX/TX and connect them with the 0/1 of the shield). After flashing the SoftwareSerialExample (with adapted Serialports and Baudrates) it was possible for me to communicate with the board - of course the quality in the Monitor was very worse - a reason could be the high baud rate of 115200 - but I'm not able to change this baudrate with AT commands...). Example (Output from serial monitor):


AT vession:  8 2015 14:45:58(
SDK version:1.3

The communication is only possible if I set the DIP ON-ON-OFF-OFF in that case...

I will keep you informed about me investigation results! :-)

Deusy: I'm not able to change this baudrate with AT commands

Which commands have you tried? I see from this thread: http://www.esp8266.com/viewtopic.php?f=6&t=643&p=3773#p3773 that it was changed to AT+IPR in AT firmware v0.20 so unless it's changed again since then that should be the correct command for the v0.40.0.0 that appears to be on it from the output you posted.

Deusy: I will keep you informed about me investigation results! :-)

Thanks, I'm trying to help a friend get his working right now via email but my shield hasn't arrived yet so I'm working blind. I have other ESP8266 modules but I didn't know how this shield is wired or which firmware version was on it so this helps.

I was successful now with


The baudrate is now changed!

Now the output looks nice :-). AT+GMR

AT version:  8 2015 14:45:58)
SDK version:1.3.0
Ai-Thinker Technology Co.,Ltd.
Build: Sep 11 2015 11:48:04

Did someone have a proper docu for all AT-commands? Thanks!

Did someone have a proper docu for all AT-commands?

Edit: I found a copy of the v0.40 AT command reference only: http://bsfrance.fr/documentation/ESP8266_DOCUMENTS/4A-ESP8266__AT_Instruction_Set__EN_v0.40.pdf

I haven’t found a download for only the AT command reference for the ESP_AT_V0.40 firmware on your shield so you need to download the ESP8266_NONOS_SDK_v1.3.0 which contains the release of the ESP_AT_V0.40 firmware: http://bbs.espressif.com/download/file.php?id=664 The AT command reference is at esp_iot_sdk_v1.3.0_15_08_08.zip/esp_iot_sdk_v1.3.0/document/EN/4A-ESP8266__AT Instruction Set__EN_v0.40.pdf.

@pert, thanks a lot!

It is possible to do an OTA update of the firmware.

I had and upgraded to

AT version: 16 2016 13:02:45)
SDK version:1.5.3(aec24ac9)
Vowstar Co.,Ltd.
Build: Apr 25 2016 18:52:23

I am not sure if this an official Ai-Thinker firmware or an official Espressif firmware.

ieee488: It is possible to do an OTA update of the firmware.

Do you need to set the switches on the shield to a specific position to accomplish that?

pert: Do you need to set the switches on the shield to a specific position to accomplish that?

I have the ESP-01, so no switches.

I am surprised that the firmware is the same for the ESP-01 as it is for the ESP-12. :o

I received my shield today.

The ESP8266 is connected to the hardware serial pins(0 and 1) on the shield.

Switch 1 is connected to Arduino pin 0(Serial RX) so you need to switch that off when uploading to your Arduino Uno/Mega via USB then back on afterwards to receive communication from the ESP8266.

As said previously, the ESP8266 serial baudrate is set to 115200.

I had a bit of trouble getting it working for my application because the author of the WiFiEsp library I was using had left the Serial debug output turned on. Once I turned that off it worked fine. The trick to using this thing without rewiring the ESP8266 serial connection is to make sure your code isn't sending anything other than ESP8266 AT commands via Serial.

Not being able to use Serial for debug output is a problem. You could send debug output over the network but that only helps once you can successfully connect and send data over the network. Another option is to use an external USB to serial converter with SoftwareSerial or Serial1, etc if you're using a Mega. I think the easiest option would be to use the shield with a Leonardo so the ESP8266 is connected to Serial1 and you can use Serial for debug output.

I also received a DOIT ESP8266 shield. Although this shield is significantly cheaper and has documentation, it comes with a non-standard firmware which will force the user to install the AT firmware before they can use the majority of code written for use with ESP8266 as a WiFi module.

The only other ESP8266 shield I found is the Sparkfun shield which doesn't come with soldered headers so I think the "ESP-12E ESP8266 UART WIFI Wireless Shield" is the most beginner friendly option at this point.

Since the firmware of the ESP-12 seems to be the same as that for the ESP-01, you should be able to change the default baud rate using the AT+UART_DEF command.

I changed the default baud rate to 9600 and appears to have taken. I disconnected/connected power after the baud rate change.

For the ESP-01, since I was using the AT commands, I did not use any libraries.

P.S. I build my own mini-shields using |500x333 They are big enough to hold a ESP-01 and headers.