So you're a Noob? Post your questions here until you graduate! Don't be shy.

User avatar
By sanglems
#64395 Hi.

I am trying to use ESP8266 with Arduino UNO R3. But I can’t sent the AT command as I am getting loop of FatalException(0) as below as soon as I connect to ESP8266 module: (Can’t make out what does this mean)

Fatal exception 0(IllegalInstructionCause):
epc1=0x40201364, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000 ets
Jan 8 2013,rst cause:2,
boot mode:(3,6) load 0x40100000,
len 1856,
room 16 tail 0
chksum 0x63
load 0x3ffe8000,
len 776,
room 8 tail 0
chksum 0x02
load 0x3ffe8310,
len 552,
room 8 tail 0
chksum 0x79
csum 0x79
2nd boot version : 1.5
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run
user1 @ 1000

Following are my ESP8266 connection details:
1. Vcc – 3.3v external supply (GND connected to GND of 3.3v and GND of 5v of Arduino)
2. CH_PD – 3.3v
3. GPIO0 – Tried keeping 3.3v (Same Error)
disconnected (Same Error)
GND (Same Error)–(Just tried. I know this will be the programming mode)
4. Rx – Rx of Arduino UNO via voltage divider
5. Tx – Tx of Arduino
(Tried with exchanging Rx and TX)
6. RST – Disconnected (Same Error)
3.3v (Same Error)
(Used the GND pulse to reset the ESP8266)

I also tried connecting RESET of Arduino UNO to GND with no success ;( .

I checked the output with all the baud rates keeping “Both NL & CR” option selected. For baud rate 115200 I am getting the above exception. For rest it showing some garbage values.

I have uploaded bareMinimum example in the Arduino UNO to start with.

Any suggestion, pointer will be really appreciated.

Is my module damaged? Never used it with anything other than 3.3v though.

Thanks.
User avatar
By daniel_ezsbc
#64402 You don't say where the 3.3V used to drive the ESP8266 comes from. This sounds like a power problem and if you are using the UNO's 3.3V to drive the ESP8266 then you have found the issue. If you are using a supply that can provide more than 250mA they you need decoupling caps close to the ESP8266. The ESP8266 draws about 80mA average with 190mA peaks and occasional 500mA spikes.

You will also need a proper level shifter for the Rx and Tx lines. The resistive divider will slow down the signal too much for reliable communication.
User avatar
By sanglems
#64429 Hi. Thanks for your reply.

I am using 5V adapter with voltage regulator(Using LM3940 with capacitors 0.47 microF at input and 33 microF at output) to get 3.3V @ 1A.

1. For voltage divider, Arduino Tx->10k resistor->ESP8266 Tx
|
20k resistor->GND .
Now when I was trying to test it again, I could send the AT command and after few mins I am getting following message:

��s�l�l� �l`��s�l�l� l`��s�l ��� ll`sl��sl���c l�cs| �cp��ccc��o�oo� ll��l쏌 l��ll���l��l�o����c l�p ���c l �cp{lsl
Ai-Thinker Technology Co. Ltd.

ready

ets Jan 8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x40100000, len 1856, room 16
tail 0
chksum 0x63
load 0x3ffe8000, len 776, room 8
tail 0
chksum 0x02
load 0x3ffe8310, len 552, room 8
tail 0
chksum 0x79
csum 0x79

2nd boot version : 1.5
SPI Speed : 40MHz
SPI Mode : DIO
SPI Flash Size & Map: 8Mbit(512KB+512KB)
jump to run user1 @ 1000


2. Also tried exchanging ESP8266 Tx with RX. (This doesn't seems to be working)

Not sure but may be the way you said the resistive divider is making it slow! What can be alternate way I can make the level shifter?

Need your guidance.

Thanks!