help with ESP-12E ESP8266 UART WIFI Wireless Shield for Arduino UNO R3

recently I purchased this

http://www.ebay.com/itm/171981792137?_trksid=p2057872.m2749.l2649&ssPageName=STRK%3AMEBIDX%3AIT

I could not find any documentation, but I was able to make contact with the seller who linked me to a few sites on how to do the firmware, but it was all in chinese, the one document I was able to translate says this

About using Arduino USB -TTL under no circumstances to flash firmware tutorial (not available in all Arduino Uno Arduino and other single serial device) 2015 -12 -17 v1 by Wang Tongze China, Beijing http://wangtongze.tk

  1. In the case of the non-energized Arduino WiFi ESP8266 WiFi expansion board superimposed on Arduino, will switch to ON DFU

  2. Use jumper RESET (RST) Arduino connected to GND on the power after the dip to ON 1,2 // At this point you can open the Arduino IDE's serial monitor to communicate with ESP8266 Shield, without writing any program to the Arduino board

  3. Open ESP8266 a brush to write the software key and select the port number to Arduino to ESP8266 Shield brush firmware writing operation. Other issues refer to the information package!

still unable to figure this out, if anyone has any info that would be lovely

Wow, that's some excellent documentation! I don't understand why the manufacturers of this sort of product don't make more effort in documentation. Labor is supposed to be super cheap in China, there has to be people who could write an actually usable documentation for a few yuan extra. With this sort of hobbyist targeted product any extra expense will surely be paid back very quickly in increased sales.

puchuumetal: how to do the firmware

Please explain exactly what you want to do.

Did you check this thread? https://forum.arduino.cc/index.php?topic=356174.0

Links to http://www.esp8266.com/viewtopic.php?p=41311

Chinese manufacturers dont need to make docco when products are clones of existing boards: you just have to identify the board and find the docco from the OEM.

hi. I am not sure what exactly you want to do.

I would install the esp core for the arduino IDE. Then I would an ftdi programmer to talk to the esp8266. Then you can use serial or i2c to communicate between the uno and the esp. You probably don't even need an arduino, since the esp12 is vastly superior to the uno in terms of sram, flash, and use speed

The esp12 accepts AT commands, and your device is probably configured to do that off the Bat.... but it probably uses serial1 or soft serial instead Serial... You can google AT commands, you'll just have to guess the BAUD rate, which is probably 9600 Or 115000.

Yeah its a nice board and it looks like its sold hundreds of em, just couldnt figure the thing out, I literally tried to look EVERYWHERE, and i will look into the other 2 posts as well, as for trying to run it solo I would hook it into a breadboard but for some reason when I purchased cables, I didnt get any m/f

Qdeathstar: hi. I am not sure what exactly you want to do.

I would install the esp core for the arduino IDE. Then I would an ftdi programmer to talk to the esp8266. Then you can use serial or i2c to communicate between the uno and the esp. You probably don't even need an arduino, since the esp12 is vastly superior to the uno in terms of sram, flash, and use speed

The esp12 accepts AT commands, and your device is probably configured to do that off the Bat.... but it probably uses serial1 or soft serial instead Serial... You can google AT commands, you'll just have to guess the BAUD rate, which is probably 9600 Or 115000.

well see I tried to test if it came stock to work could not get it to detect at all especially when i tried to run it with blynk

rw950431: Chinese manufacturers dont need to make docco when products are clones of existing boards: you just have to identify the board and find the docco from the OEM.

Can you please post a link to this OEM docco. I've spent quite a bit of time looking and found nothing. If it's a clone then I'm pretty sure it's a clone of a Chinese shield which also has no documentation. And by the way, that "More info and tech support go to electrolab.ml" is BS.

Qdeathstar: The esp12 accepts AT commands, and your device is probably configured to do that off the Bat

correct

Qdeathstar: it probably uses serial1 or soft serial instead Serial

No, it's connected to pins 0 and 1, which is Serial on Uno and Mega.

Qdeathstar: you'll just have to guess the BAUD rate, which is probably 9600 Or 115000.

It's 115200

puchuumetal: well see I tried to test if it came stock to work could not get it to detect at all especially when i tried to run it with blynk

You still haven't explained what you're trying to do. I have quite a bit of experience with this shield but I can't help you if you don't say what you need help with. First take a look at that other thread and it might answer your questions, whatever they might be.

pert: Can you please post a link to this OEM docco. I've spent quite a bit of time looking and found nothing. If it's a clone then I'm pretty sure it's a clone of a Chinese shield which also has no documentation. And by the way, that "More info and tech support go to electrolab.ml" is BS. correct No, it's connected to pins 0 and 1, which is Serial on Uno and Mega. It's 115200 You still haven't explained what you're trying to do. I have quite a bit of experience with this shield but I can't help you if you don't say what you need help with. First take a look at that other thread and it might answer your questions, whatever they might be.

Well I am trying to get it to run with blynk, but it acts like the shield isnt even connecting, I started off the way the blynk site suggested, added everything in exactly, changed it from serial1 to serial even and nothing

Please post your sketch using code tags(</> button on the toolbar).

I removed the pass, auth token and ssid as i know those arent the issues

/**************************************************************
 * 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
 *   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.
 *
 * Note: Ensure a stable serial connection to ESP8266!
 *       Firmware version 1.0.0 (AT v0.22) is needed.
 *       You can change ESP baud rate. Connect to AT console and call:
 *           AT+UART_DEF=9600,8,1,0,0
 *       In general, Soft Serial may be unstable.
 *       It is highly recommended to switch to Hard Serial.
 *
 * Change WiFi ssid, pass, and Blynk auth token to run :)
 * Feel free to apply it to any other example. It's simple!
 *
 **************************************************************/

#define BLYNK_PRINT Serial    // Comment this out to disable prints and save space
#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[] = "";
char pass[] = "";

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

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

// Your ESP8266 baud rate:
#define ESP8266_BAUD 9600

ESP8266 wifi(&EspSerial);

void setup()
{
  // Set console baud rate
  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();
}

Change:

#define ESP8266_BAUD 9600

to:

#define ESP8266_BAUD 115200

pert: Change:

#define ESP8266_BAUD 9600

to:

#define ESP8266_BAUD 115200

any specific switch positions?

EDIT: one of the problems now I remember was it was uploading to the arduino when the shield was plugged in, but when the shield was unplugged I get an error, I do know the library is there

Sketch uses 14,364 bytes (44%) of program storage space. Maximum is 32,256 bytes. Global variables use 619 bytes (30%) of dynamic memory, leaving 1,429 bytes for local variables. Maximum is 2,048 bytes. avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x9d avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 2 of 10: not in sync: resp=0x9d avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 3 of 10: not in sync: resp=0x9d avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 4 of 10: not in sync: resp=0x9d avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 5 of 10: not in sync: resp=0x9d avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 6 of 10: not in sync: resp=0x9d avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 7 of 10: not in sync: resp=0x9d avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 8 of 10: not in sync: resp=0x9d avrdude: stk500_recv(): programmer is not responding avrdude: stk500_getsync() attempt 9 of 10: not in sync: resp=0x9d avrdude: stk500_recv(): programmer is not responding Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions. avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x9d Invalid library found in C:\Users\puchuumetal\Documents\Arduino\libraries\ESP8266_Shield: C:\Users\puchuumetal\Documents\Arduino\libraries\ESP8266_Shield

puchuumetal: any specific switch positions?

This is the upload process I use when I have the shield attached to my Arduino:

  • switch 1 off
  • upload
  • switch 1 on
  • reset ESP8266 shield
  • reset Arduino

puchuumetal: EDIT: one of the problems now I remember was it was uploading to the arduino when the shield was plugged in, but when the shield was unplugged I get an error,

Are you sure you don't mean that the other way around? You need to turn switch 1 off to upload to your Arduino when you have the shield connected. If you can't upload to your Arduino with the shield disconnected then that's a completely different problem and has nothing to do with your code.

I can upload to the arduino only when the shield is disconnected, when its connected thats when I get that error

I thought so, it's because the shield is connected to the hardware serial pins that are also used for uploading. That's why you need to change switch 1 to the off position to upload, then turn it to the on position so that the ESP8266 can communicate with the Arduino. I reset the ESP8266 after doing this just to be sure that it's starting fresh instead of having something going on from the previous commands that were sent to it but that's probably not necessary. In the meantime, the Arduino will have already started running your code but not getting any response from the ESP8266 so you need to reset the Arduino after turning switch 1 to the on position.

Well, that seems like a design flaw... Soft serial is a lot easier to implement that fanangling with switches...

Qdeathstar: Well, that seems like a design flaw... Soft serial is a lot easier to implement that fanangling with switches...

SofwareSerial library will use more flash and doesn't work reliably at 115200 baud which means you need to figure out how to change the baud rate of the ESP8266 and then have slower communication. I think there are some potential conflicts between SoftwareSerial and other libraries.

On the other hand, it's standard to use Serial for debug output which you can't do with this shield. This means that on Uno or Mega you're basically working blind with this shield which makes troubleshooting much harder. I think the Leonardo would be better in that sense because pins 0 and 1 are Serial1 on that board. The other issue is you need to make sure that Serial is only used for communication with the ESP8266. The only problem I've had with this shield is the author of the library I used left debug output to Serial on by default, which wasn't immediately obvious since I couldn't use the Serial Monitor. This caused it to not work. If you want to wire it differently you can connect the whole thing via jumpers or bend pins 0 and 1 out so they don't go into the female headers on the Arduino and then use female to male jumpers to connect them to any pins you want on the top of the shield. This thing has super flimsy header pins so it should be very easy to do.

pert: SofwareSerial library will use more flash and doesn't work reliably at 115200 baud which means you need to figure out how to change the baud rate of the ESP8266 and then have slower communication. I think there are some potential conflicts between SoftwareSerial and other libraries.

On the other hand, it's standard to use Serial for debug output which you can't do with this shield. This means that on Uno or Mega you're basically working blind with this shield which makes troubleshooting much harder. I think the Leonardo would be better in that sense because pins 0 and 1 are Serial1 on that board. The other issue is you need to make sure that Serial is only used for communication with the ESP8266. The only problem I've had with this shield is the author of the library I used left debug output to Serial on by default, which wasn't immediately obvious since I couldn't use the Serial Monitor. This caused it to not work. If you want to wire it differently you can connect the whole thing via jumpers or bend pins 0 and 1 out so they don't go into the female headers on the Arduino and then use female to male jumpers to connect them to any pins you want on the top of the shield. This thing has super flimsy header pins so it should be very easy to do.

ok so I need to remove pins 0 and 1? basically? and where would i connect pins 0 and 1 to? the arduino or back to the ESP

and isnt it the uno and nano that dont have serial1 i thought mega did?

Is it possible to run this standalone from a usb to serial connection?

just got this from the seller

Dear friend Thanks for your email I help you translate some information by translation software

  1. Expansion Board Hardware Considerations a. The expansion board is based on the development of ESP8266-12E module, expanded After connecting with Arduino boards this extension will only occupy the Arduino board A serial port (D0, D1), other I / O port is not occupied. b. Onboard 5V to 3V3 power conversion IC, no external power supply. c. On-board TTL level converter chip, without the use of external level shifting core sheet. d. Debug Port for firmware updating, ESP8266 debugging, Debug Port of TTL signals directly connected with ESP8266, from P1 / 2 DIP control. e. expansion board uses four DIP switches on the PCB can be said to participate Bright.  P1 / 2 bit coding is used to determine whether the on-board serial ESP8266 D0 / 1 (Arduino serial) is connected.  P3 DIP switch mode selector is ESP8266 When P3 is ON, ESP8266 normal operation mode. When P3 is OFF, ESP8266 firmware brush to write mode (DFU), At this point can ESP8266 firmware upgrade.  P4 DIP is under ESP8266 DFU mode onboard LED switch Set to ON to use. f. Onboard ESP-RST switch can be used to reset the ESP8266 state (restart). g. Maintanance Only onboard interface leads to the GND, 3V3,5V three Interfaces, these three interfaces, only for detecting whether the voltage converter chip n Often work, not as a power source to power other devices. h. On-board interfaces two common ADC, the range was 0-1v, 0-3.3v, Use only when using one (ADC is directly connected to the interface On the ESP8266). It can be programmed (by this inner ESP8266 SDK Capacity is not part of the scope of service support). i. Onboard ESP8266-12E around 2x8p pin is straight from the ESP8266 Then leads to the I / O, please use ESP8266 SDK when used in combination, each row Pin connected I / O logo can be found on the back. j. Use stackable expansion board design, we can continue to expand superimposed on top board.

C. Use the expansion board Directly to the expansion board can be superimposed to use the Arduino, to dip 1.2 Controls whether ESP8266 run as a separate module, DIP 3 DFU Mode selection DIP 4 DFU LED control switch. ESP-RST can For resetting ESP8266

I hope it can solve the problem for you . best regards