Unable to get ESP8266-12E flashed
Posted: Tue Mar 08, 2016 2:28 pm
I have several variants of the ESP8266 including several NodeMCU v1.0 Dev Boards that have a 12E. I'm confused about the flashing process and I'm sure that I keep doing something wrong.
Briefly, here is my goal. I intend on setting up a couple of these NodeMCU breakout boards to communicate MQTT via WiFi to a local MQTT broker setup on a RaspBerry Pi 2 (already setup).
Back to the NodeMCU v1.0 Dev Board - There are so many ESP8266 libraries. Many of which haven't been updated and/or are incorrectly documented, but I have had some success with the PubSubClient.h library on GitHub. This library uses ESP8266.h and relies on Expressif's AT firmware v2.0 - https://github.com/espressif/ESP8266_AT/tree/master/bin.
I have the NodeMCU dev board hooked powered by an Arduino Mega 5v power source stepped down to 3.3v with an LD33CV (LM1117). This is for powering only and is temporary. I have a SparkFun FTDI 3.3v adapter hooked up to TX/RX:
I am using ESP FLASH DOWNLOAD TOOL V2.3. Giving those instructions the benefit of the doubt I followed the instructions above:
Here I have to guess at some settings, but some of this I know:
I then upload the firmware and it finishes successfully. I repower the NodeMCU Dev Board and open a serial console. First, the only baud rate that shows anything legible in the console is 74880 bps. In the console I see a bunch of these (rapidly scolling over and over):
I don't know how to read that line, but I suspect it is due to the memory layout I specified when I uploaded the firmware. So I changed user1.bin to load at 0x40000 instead of 0x1000, then performed the upload again. I get the same Fatal exception (0) above, but if I press the Reset button a few times I can sometimes see this in the console:
My hunch is that the Expressif instructions are for an ESP8266-01.
Can anyone tell me where I'm going wrong? I just want to get the Expressif AT v.20 command firmware installed on this NodeMCU v1.0 Dev Board.
Thank you!
Briefly, here is my goal. I intend on setting up a couple of these NodeMCU breakout boards to communicate MQTT via WiFi to a local MQTT broker setup on a RaspBerry Pi 2 (already setup).
Back to the NodeMCU v1.0 Dev Board - There are so many ESP8266 libraries. Many of which haven't been updated and/or are incorrectly documented, but I have had some success with the PubSubClient.h library on GitHub. This library uses ESP8266.h and relies on Expressif's AT firmware v2.0 - https://github.com/espressif/ESP8266_AT/tree/master/bin.
I have the NodeMCU dev board hooked powered by an Arduino Mega 5v power source stepped down to 3.3v with an LD33CV (LM1117). This is for powering only and is temporary. I have a SparkFun FTDI 3.3v adapter hooked up to TX/RX:
Code: Select all
NodeMCU RX -> FTDI TX
NodeMCU TX -> FTDI RX
I am using ESP FLASH DOWNLOAD TOOL V2.3. Giving those instructions the benefit of the doubt I followed the instructions above:
Code: Select all
0x00000 ESP8266_AT-master\bin\boot_v1.1.bin
0x01000 ESP8266_AT-master\bin\v0.20\user1.bin
0x7C000 ESP8266_AT-master\bin\esp_init_data_default.bin
0x7E000 ESP8266_AT-master\bin\blank.bin
Here I have to guess at some settings, but some of this I know:
Code: Select all
CrystalFreq: 26M
SPI SPEED: 80Mhz
SPI MODE: QIO (tried DIO also)
FLASH SIZE: 32Mbit (tried 8Mbit and 32Mbit-C1)
I then upload the firmware and it finishes successfully. I repower the NodeMCU Dev Board and open a serial console. First, the only baud rate that shows anything legible in the console is 74880 bps. In the console I see a bunch of these (rapidly scolling over and over):
Code: Select all
Fatal exception (0):
epc1=0x40100000, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
I don't know how to read that line, but I suspect it is due to the memory layout I specified when I uploaded the firmware. So I changed user1.bin to load at 0x40000 instead of 0x1000, then performed the upload again. I get the same Fatal exception (0) above, but if I press the Reset button a few times I can sometimes see this in the console:
Code: Select all
ets Jan 8 2013,rst cause:2, boot mode:(3,7)
load 0x40100000, len 612, room 16
tail 4
chksum 0x12
load 0x3ffe8000, len 788, room 4
tail 0
chksum 0x50
load 0x3ffe8314, len 264, room 8
tail 0
chksum 0x4a
csum 0x4a
2nd boot version : 1.1
SPI Speed : 80MHz
SPI Mode : QIO
SPI Flash Size : 4Mbit
jump to run user1
user code done
My hunch is that the Expressif instructions are for an ESP8266-01.
Can anyone tell me where I'm going wrong? I just want to get the Expressif AT v.20 command firmware installed on this NodeMCU v1.0 Dev Board.
Thank you!