Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By Amelsfort
#7304 I have just checked and the GPIO0-pin is connected. It's exactly the same as in the image I attached (although it's hard to see there).

And with GPIO2 floating, I only receive some squares (unrecognized characters?) while pulling GPIO0 low. Otherwise, there is no data comming from the module at all.
With GPIO2 pulled low, it's just the other way around: squares keep comming in until I pull GPIO0 low.

I also just noticed that when I pull GPIO0 low, I receive some gibberish as soon as I reset the module. And when I pull GPIO0 high (without a reset), the module resets itself (I see gibberish and the 'ready' string). Is this expected?

Btw. all behaviour is the same with a different USB->Serial cable and a different USB-port. :(

Hmm, and now suddenly, for some reason, it started working a bit. I now get an error "Invalid head of packet" in the ESP Flasher and "Error:Read ESP8266 register timeout." in the NodeMCU Flasher.

Ok, that was apparently caused by some bad connections. I replaced my wires-plug-breadboard-wire-connection with some cables running directly from the USB->Serial-cable to the module and now it's working!
User avatar
By carlhesp
#7309 Hi

I did not have your exact issue but similar. I built a small board with everything soldered instead of breadboard connections and also level shifted the serial communication to the RX pin via a resistor voltage divider and now everything works perfectly for me. I have a thread over in the general discussion I'll post a pic of my board.

I suspect yours is a connection issue like I had.
User avatar
By awall
#7560 I wanted to share my experience with flashing new firmware on ESP-01 modules. I had similar issues for days including very inconsistent results from time to time.
My setup includes: PC with Windows 7 64 bit - USB-serial adapter with FTDI FT232RL.
I tried with many different instructions and flashing tools with no success at all, I had even bricked a module after a partial upload...

Finally I got rid of all my issues when I considered that my FTDI USB-serial adapter might not be working correctly. Then I tried with a different serial adapter, based on a different chipset, and now everything goes right and I can finally flash any firmware successfully and consistently. So for your benefit here is a summary of the connections and the procedure I followed:

1) Connect the USB-serial adapter to the ESP8266 module as follows (left is USB-adapter, right is ESP8266):
RX Data - UTXD
TX Data - URXD

2) Connect the other ESP8266 pins as follows:
GPI02 => 3.3v
GPI00 => GND
VCC => 3.3v power supply
GND => GND power supply
CH_PD => Leave it floating initially
RST => 3.3v (or floating)

3) Prepare the flasher tool. I'm using the ESP8266Flasher available here:
Look in the proper Win32\Release or Win64\Release folder. If you don't know how to load the various parts of the firmware .bin files look at the Readme file in the flasher distribution: ... /

4) Press the Flash Button (F) in the Flasher tool and then promptly connect the [CH_PD] pin to 3.3v. It is very important that this pin is connected after the Flash button is pressed
so that the flasher tool can detect the Bootloader string.
The firmware will start uploading showing up in the progress bar. When it's finished you will see a green icon at the bottom left corner.

Just a last note. Many people report that when powering up the ESP8266 or resetting it they get some rubbish from the UTXD pin.
This isn't actually rubbish but it's the string coming from the Bootloader waiting for some new firmware to be loaded. The string is the following:
"ets Jan 8 2013,rst cause:1, boot mode:(1,7)" (with some CR/LF around).
It is transmitted at a 75000 baud rate, so it is detected as rubbish when communicating with the ESP8266 at the typical baud rates of 9600 or 115200.

Hope this helps others that have troubles flashing their firmware to the ESP8266 modules.