I have received an ESP8266 (ESP-07) Wi-Fi module from DealExtreme (Link: http://bit.ly/2dFJdxE).
It is a 4-pin module with the following pins: RX, TX, VCC and GND.
The module has a switch so you can switch between the following modes: Program & UART. The module also has a RESET-button.
Here's a picture of my module:
I've connected the module to my Arduino Uno like this:
RX > RX,
TX > TX(TX>RX & RX > TX, like mentioned in manuals, results in no connection),
VCC > 3.3v (not using any level shifters because the module has on board level shifters),
GND > GND.

I found a lot of manuals to test the module, but apparantly I can't get my module working. I am using Windows with the Arduino IDE.
The boards mentioned on the manuals/tutorials also seem to differ from my module because most of the manuals are talking about a board that has 8-pins (with an extra GPO0, GPO2 CH_PD and RST pin).

I've tried to upload the BareMinimum sketch to the module, which only finishes uploading if I disconnect and reconnect the 3.3v input that's feeded to the ESP-board when the Arduino IDE says "Uploading...... " while the ESP-board is in Program-mode.

I have installed the ESP8266 library within the Arduino IDE and the Generic ESP8266 Module is selected.
Then when I open the serial monitor in the Arduino IDE, to test the AT commands (on different BAUD values), it does not respond (neither in Program-, nor in UART-mode).

Strange thing is when I keep the serial monitor on at 74880 BAUD (and UART-mode on the module) and I push the RESET button on the module, it gives the following message:

ets Jan 8 2013,rst cause:2, boot mode:(3,7)
ets_main.c

I've tried several things. But none of them seem to work; like trying to flash new firmware (for example 'v0.9.5.2 AT Firmware.bin' and 'esp8266-2016-05-03-v1.8.bin') with esptool.py with the following command:

esptool.py -b 115200 -p COM3 write_flash 0 FIRMWARE.bin

It says that the writing is finished and no errors appear after running the esptool. This is what is printed + command that is used:

A strange thing is when I open the serial monitor in the Arduino IDE after that moment (without resetting the module/unplug from 3.3v or change to UART mode), it keeps printing the following at 115200 BAUD:

I even tried it with the erase_flash before and 0x00000 instead of 0. Also tried to run the command with a variety of flash_sizes (with the command --flash_size=Xm).
Esptool looks like the only tool where I can flash new binaries successfully, tried some others that where on some manuals but without success.

When I run esptool.py -p flash_id

I get the following response:

Connecting...
Manufacturer: e0
Device: 4014

Who knows how to fix this problem so I can send AT commands to the module through the serial monitor in the Arduino IDE.
Thanks in regards (this is my first post so if some things are unclear, please let me know)

Edit: Note that I have to disconnect and reconnect the 3.3v to the module EVERY time to successfully run a command (like write_flash, flash_id et cetera). Also tried connecting it to 5v and using an external power supply next to the USB.

On DealExtreme it says Working voltage: 4.5V - 5.5V. You are supposed to power it with 5V not 3.3V.
– gre_gorOct 5 '16 at 0:57

Sorry I didn't write it in my post, but already tried that + tried it using an extra power supply connected to the Arduino (besides USB). Makes no difference.
– ss1991Oct 5 '16 at 10:52

1

Seeing "ets Jan 8 2013,rst cause:2, boot mode:(3,7)": Good, your ESP is alive, and wired correctly for communication. "Fatal exception (28):" Good, you managed to set the ESP to non-program/normal mode. Only the software on it seems bad :) What you want to do is flash it with the Espressif AT firmware, and it should work as you expect it, responding to AT commands. DONT after that upload any sketches, cause it will replace the AT firmware. There's tutorials of uploading the AT firmware I think, I'm behind a firewall atm. so can't look for any for you :)
– cranphinOct 6 '16 at 12:20

Thanks for your answer, tried different firmware packages from the Espressif website earlier but without any success.
– ss1991Oct 6 '16 at 17:51

1 Answer
1

Personally I think using an ESP as a interface for an Arduino is backwards and the Arduino ought to act as the interface to your devices for the much more powerful ESP.

I think you had a board that was configured to work as a interface between serial and Wifi, not as a normal board. I'm pretty sure that you have now shagged it totally by trying to write programs to it. However you might be able to recover it if you can find the original program and upload that to it. You don't need the ability to program and ESP-8266 in the IDE to use this board, you can not upload sketches to it, you can't access the GPIOs.

I think you should just be able to slide the switch to "program" power the board up and type AT commands via a terminal emulator to set the board up and then power down, slide the switch back to UART and away it goes. As to the Tx and Rx pins, that depends on weather its saying "this is the Rx pin" or "this is the Rx connection", you'll get it right second time :)

If you want a ESP8266 try AliExpress they cost between £1 and £2 and I've never had any problems, probably because they were made in China.

Thanks for your answer. Think I should have been more careful before I blindly followed some online tutorials. New boards are on the way so I hope I have more luck with them, hehe. Giving up on this one now I guess, think it's firmware is screwed, tried any firmware package I found on the Internet.
– ss1991Oct 6 '16 at 17:47

@sschrijver - You could always unsolder the ESP board and put a new one on.
– Code GorillaOct 7 '16 at 7:42

Or buy a more common/popular type of ESP8266 board. The "Sparkfun Thing" and "Adafruit Huzzah" are good if you want quality and customer support. They provider good tutorials as wel. Alternatively you could get a cheap, but common module like the NodeMCU or WeMos.
– PaulMar 6 '17 at 6:43

It may be that the type you have has extremely low memory, bad/unstable power circuitry, weird or specific upload mode or different bootloader. If you get one that is in the upload list, you'll have the right settings. And popular boards are proven to be working and if not, you'll find a lot of tutorials/support specific to your board/problem that may even be the same problem as yours (and how to fix it)
– PaulMar 6 '17 at 6:48