0
votes

When i boot ESP8266 i'm getting on my arduino MEGA serial monitor.

Fatal exception (0): e2= 0d00l(xp00v0xao1,00e0c pe80c00d0x:2= 0d00l(xp00v0xao1,00e0c pe80c00d0x:2= 0d00l(xp00v0xao1,00e0c e 0xp0= 0e)02,0d00a 0e00c00Fic00= 0p0e 0xp0= 0e)02 

If i do a hard reset than it prints

Jan 8 2013,rst cause:4, boot mode:(3,6) wdt reset load 0x40100000, len 28740, room 16 tail 4 chksum 0xcd load 0x3ffe8000, len 2888, room 4 tail 4 0xeotail 0 chks 

I used NodeMcu flasher nodemcu_integer_0.9.5_20150318.bin and NodeMCU 0.9.5 build 20150318 powered by Lua 5.1.4. I'm using arduino UART (serial monitor) to talk to ESP8266. BAUD RATE : 115200 FLASH SIZE : 4MB FLASH SPEED : 40MHz SPI : DIO Module is powered with apt power (separate power supply)

Here's my connections:

//////////////////////////////////////////////////////////////////////////////
    ///////                         CONNECTIONS              ////////
    /////////////////////////////////////////////////////////////////////////////
    /*
    ESP8266 VCC -> BeagleBone 3.3
    ESP8266 GND -> Common GND (Arduino & BeagleBone)
    ESP8266 CH_PD -> 3K resistor -> VCC
    ESP8266 RST -> VCC or pin 13(arduino)
    GPIO CAB BE LEFT OPEN OR TIED HIGH
    ESP8266 Tx -> pin2 (Arduino software serial Rx)
    ESP8266 Rx <- Voltage Divider <- pin3 (Arduino software serial Tx)
    */

Here's my code

#define esp8266 Serial2
#define CH_PD Vcc // but needs a narrow low pulse
#define speed8266 9600 // This is the speed that worked with my ESP8266
void setup()
{
 esp8266.begin (speed8266);
 Serial.begin(9600);
 reset8266(); // Pin CH_PD need a reset before start communication
}
void loop()
{
 while(esp8266.available())
 { Serial.write(esp8266.read()); }
 while(Serial.available())
 { esp8266.write(Serial.read()); }
}
/*************************************************/
// Reset funtion to accept communication
void reset8266 ()
{
 pinMode(CH_PD, OUTPUT);
digitalWrite(CH_PD, LOW);
 delay(300);
 digitalWrite(CH_PD, HIGH);
}

Here are some snaps of the configuration i did in NodeMCU ( i had already tried with different baud rates)

Advanced Configuration Configuration

2
I'm out of ideas :) But I recommend that to help other people to help you: Specify exactly which ESP (hardware) module you are using, and add show the command or screenshot of how you flashed the NodeMcu firmware (especially the addresses used) :)bluemind
Cranphin even i'm loosing hope. I have uploaded snaps for reference, i can flash correctly everytime but can't get through after that.aditgupta100
@cranphin I'm able to flash my module with AT properly with following binaries and locations. boot_v1.6.bin : 0X00000 esp_init_data_default.bin : 0XFC000 blank.bin : 0XFE000 user1.1024.new.2.bin : 0x1000 But for nodeMCU when i install latest firmware nodemcu_integer_0.9.6-dev_20150627.bin at 0x000 I get Fatal exception (0): epc1=0x40210880, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000aditgupta100
Hi @cranphin Module works fine with AT commands boot_v1.6.bin : 0X00000 esp_init_data_default.bin : 0XFC000 blank.bin : 0XFE000 user1.1024.new.2.bin : 0x1000 but with NodeMCU either i get giberish data (which might be because of wrong baud rate, 9600) or Fatal exception (0) . How to resolve this fatal exception, it seems it's a firmware issue for sure ?aditgupta100
Hi! This issue stackoverflow.com/questions/29721859/… Has some ways to clear flash data relevant for NodeMCU, might be that doing that could help? Also you might try with the NodeMCU issue tracker (and they will say use a new firmware, not 0.9.6, but I don't think that will solve your issue ;)bluemind

2 Answers

0
votes

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 arduino IDE .

then goto 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 atleast one time to solve the problem.

This is the procedure to hard reset the nodemcu

( https://www.youtube.com/watch?v=MHrm7axsImI&t=146s )

Step : Install latest python version in you pc.(https://www.python.org/downloads ) Open cmd prompt as administrator . Go to c/program files or program files (x86)->python (your version)->Script. For this type (cd c/program files (x86)/python(your version)/Script) then press enter . Now type (pip install esptool). Now download ESPlorer ( https://esp8266.ru/esplorer/ ) version(Download ESPlorer.zip (v 0.2.0-rc6)) and extract the file and open executable jar file . Now goto nodemcu firmware site (https://github.com/nodemcu/nodemcu-firmware/releases ) and from 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 . 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 port no. into the device manager .

0
votes

For NODEMCU users who face this issue

This needs to be done only once (first time you connect nodemcu to PC)

Download and run the 32 or 64 bit flasher*:
32 bit: https://github.com/nodemcu/nodemcu-flasher/blob/master/Win32/Release/ESP8266Flasher.exe
64 bit: https://github.com/nodemcu/nodemcu-flasher/blob/master/Win64/Release/ESP8266Flasher.exe

Select the download button on github and open file once downloaded.

enter image description here

Select the chip port from the previous step (Com 6 for me), and then select flash (this should only have to be done once)
close flash program once completed.
Process is completed when you get the green checkmark in the bottom left hand corner.

PS: make sure you disconnect and re-connect the nodemcu once done

REFERENCE: https://www.instructables.com/NodeMcu-ESP8266-First-Time-Setup-With-Arduino-IDE/