When I was trying to blink an LED using ESP8266, I had an issue with it. After successfully uploaded the code (https://diyhacking.com/esp8266-tutorial/), the blue LED stayed on & when I opened the serial monitor using Arduino IDE 1.6.12, I only saw "Fatal Exception" error (showed in the picture). I couldn't see how the code works and the worst thing was I couldn't even try the AT command.

The connections:

Arduino <---> ESP8266 (ESP-07)

Tx  <--->   Tx
Rx  <--->   Rx
GND <--->   GPIO0
GND <--->   GND
3.3v<--->   CH_PD
3.3v<--->   VCC
            GPIO2 -> LED 

I have been trying to troubleshoot this issue but haven't got the solution yet. I am afraid there is an issue with the firmware or the worst situation, I spoiled my ESP8266.

enter image description here

  • GPIO_0 is connected to GND only while programming/uploading code; for normal operation it should be (at least initially) connected to VCC(3.3v). I believe the same goes for GPIO_02. Try connecting them both to VCC and then connect GPIO_2 to the LED. – Mero55 Dec 30 '16 at 20:39
  • don't forget to add a resistor for your LED :) 220 should be more than enough. – Mero55 Dec 30 '16 at 20:42
  • I have tried your solution yet the result is still the same. perhaps I am just going to get the new one – mckareem Jan 15 '17 at 7:29

Looking at your serial monitor window it shows "Geuino Uno". I think you forgot to change the target of the compiler to "Generic ESP8266" like shown in the how-to and you probably uploaded bad code to your module.

  • I used the correct board "Generic ESP8266" – mckareem Jan 15 '17 at 7:27

If you are getting fatal error exception like this:

Exception (3):
epc1=0x401003e9 epc2=0x00000000 epc3=0x00000000 excvaddr=0x4000cbd9 depc=0x00000000

In infinite loop in your Serial Monitor of the Arduino IDE then go to this link, download the software, and follow the procedure and erase the flash memory to solve the error.

This does not solve fatal error that occurs due to your program but in case your device goes in such condition that it can't be able to access program memory then it will work and try at least one time to solve the problem.

This is the procedure to hard reset the NodeMCU (https://www.youtube.com/watch?v=MHrm7axsImI&t=146s):

  1. Install latest Python version in your PC. (https://www.python.org/downloads)
  2. Open cmd prompt as administrator.
  3. Go to C:\Program Files or C:\Program Files (x86)->python (your version)->Script. For this type cd c:\Program Files (x86)\python(your version)\Script then press enter.
  4. Type pip install esptool.
  5. Download ESPlorer.zip (v 0.2.0-rc6) from https://esp8266.ru/esplorer
  6. Extract the downloaded file.
  7. Open the executable jar file.
  8. Go to NodeMcu firmware site (https://github.com/nodemcu/nodemcu-firmware/releases) and download file (nodemcu_float_0.9.6-dev_20150704.bin) and copy this file into the C:\Program Files (x86)/python(your version)/Script folder.
  9. Now in cmd prompt just type:

    esptool.py --port COM(your port no.) --baud 115200 erase_flash

    And press enter.

Note: you can see your NodeMCU board's port number in Device Manager .

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.