Chat freely about anything...

User avatar
By ematson5897
#24178 So I got an order of a few of the ESP-12 modules after liking the 03's and the 01's, and I'm having an interesting problem. I can use the AT firmware, but whenever I pull GPIO0 to ground with a resistor to program (before power up of course) it refuses to be programmed. I got out my logic analyzer and for some reason it is outputting a steady 2MHz signal on GPIO0. Has anyone had this happen before?

EDIT:

Just to add some more information, when it boots in to the AT software, here is the output at 76800 baud:

Code: Select all 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       : QIO
  SPI Flash Size : 4Mbit
jump to run user1


And here is when GPIO0 is pulled down:

Code: Select all ets Jan  8 2013,rst cause:1, boot mode:(1,7)



Also, looks like the 2MHz figure is just as high as my cheap logic analyzer can measure, looks like it might be the 26MHz clock,
User avatar
By kolban
#24192 What value of a resistor are you using to pull GPIO 0 low for flashing? I use a 10K. Also, to flash, GPIO 2 must also be pulled high.

Think of the three pins GPIO15, GPIO 0 and GPIO 2 as forming a 3 bit binary number. When then have the value "001", the ESP8266 is in programming mode. When they have the value "011" the device will boot from flash.
User avatar
By ematson5897
#24197 For some reason it started working when I changed the uploader to DIO flash instead of QIO flash. Also have there been issues with some of them having GPIO 4 and 5 switched? Mine are flip flopped from all the pinouts on the web
User avatar
By tytower
#24216
kolban wrote:What value of a resistor are you using to pull GPIO 0 low for flashing? I use a 10K. Also, to flash, GPIO 2 must also be pulled high. I don't use a resistor at all without problems as yet although you don'tlike that. I think you mean GPIO2 must be high to run in FLASH mode

Think of the three pins GPIO15, GPIO 0 and GPIO 2 as forming a 3 bit binary number. When then have the value "001", the ESP8266 is in programming mode. When they have the value "011" the device will boot from flash.
I didn't initially understand that Thanks, trying to bring it together clearer in my head. 15,and 0 need to be low for UART mode , 15 low and 0 high for FLASH(running) mode.

So ematson5897 I would say you are getting into UART mode to upload the hex to the chip when GPIO0 is pulled low and on my ESP-12's it gives just one blue flash as it powers up and waits.
ets Jan 8 2013,rst cause:1, boot mode:(3,7)
So 3=011 or FLASH(running)mode
ets Jan 8 2013,rst cause:1, boot mode:(1,7)
So 1=001 or UART mode
Last edited by tytower on Mon Jul 27, 2015 6:41 pm, edited 4 times in total.