Skip to content
Advertisement

ESP8266 module fails at boot

I have a ESP8266MOD ESP-12-E hooked up to a USB-to-UART module. When I try to communicate with the module I get some intelligible output then an error message and the communication is closed.

For ai-thinker-0.9.5.2-115200 and espressif-nonos-2.0.0-SDK (this is not the actual name of the file):

ets Jan  8 2013,rst cause:1, boot mode:(3,7)

load 0x40100000, len 816, room 16  
tail 0 
chksum 0x8d load 0x3ffe8000, len 788, room 8  
tail 12 
chksum 0xcf ho 0 
tail 12 
room 4 load 0x3ffe8314, len 288, room 12  tail 4 
chksum 0xcf 
csum 0xcf

2nd boot version : 1.2   
SPI Speed      : 40MHz   
SPI Mode       : DIO SPI 
Flash Size : 32Mbit
jump to run user1

For a nodeMCU firmware built today (see the date) using their cloud service I get a somewhat shorter message:

ets Jan  8 2013,rst cause:1, boot mode:(3,7)

load 0x40100000, len 26160, room 16  
tail 0 
chksum 0xb1 
load 0x3ffe8000, len 2192, room 8  
tail 8 
chksum 0x5d 
load 0x3ffe8890, len 136, room 0  
tail 8 
chksum 0xd8 
csum 0xd8

Also, the error messages are: For miniterm.py on linux:

Exception in thread rx:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/bin/miniterm.py", line 403, in reader
    data = self.serial.read(self.serial.in_waiting or 1)
  File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 495, in read
    raise SerialException('device reports readiness to read but returned no data (device disconnected or multiple access on port?)')
SerialException: device reports readiness to read but returned no data (device disconnected or multiple access on port?)

Exception in thread tx:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 801, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 754, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/bin/miniterm.py", line 444, in writer
    self.serial.write(self.tx_encoder.encode(text))
  File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 547, in write
    raise SerialException('write failed: %s' % (v,))
SerialException: write failed: [Errno 5] Input/output error

For Putty on windows I also get an error at the same stage in the booting process, it seems.

Note 1: I have managed to successfully flash new firmware and I got “verify OK” every time, so the connection is good.

Note 2: When I use the module in the Normal Boot mode (GPIO15 low, GPIO0 and GPIO2 floating), when the EN (enable) pin is high (3.3v), PORT8 on windows and /dev/ttyUSB0 on linux both dissapear. Also when communicating with putty or miniterm on anything similar, I need to keep EN floating so the system sees the module, then connect with the software and then put EN on high (otherwise it gets stuck).

Also tried to use ESPlorer but it was unable to auto-detect the firmware. I’ve got that error on several firmwares and I tried many baud rates.

Advertisement

Answer

The problem was with the power supply for the ESP8266 unit. Instead of supplying 3.6V from the USB-to-UART module, i used another voltage source providing 3.3V, possibly higher current also. Note that the module must be supplied with 3.0V – 3.6V and it may use a few hundred milliamps, so the old supply was a little bit over 3.6V and it might have not been able to provide the required current.

User contributions licensed under: CC BY-SA
9 People found this is helpful
Advertisement