Re: Trouble flashing a new firmware
Posted: Fri May 15, 2015 6:47 pm
awall wrote: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):
GND - GND
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: https://github.com/nodemcu/nodemcu-flasher
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:
https://github.com/nodemcu/nodemcu-flas ... /README.md
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.
I had EXACTLY this problem with 3 x new FTDI boards.
I wasted a day messing around until I too figured something was wrong with the FTDI modules.
When I tried an ugly solution involving an Arduino clone board without the MCU fitted and a level shifter 5--> 3.3v it all works as you say 100% and all of the time.
I haven't checked but even though my new ftdi boards are 3.3 and 5.0v selectable, maybe that is just the VCC pin, maybe the actual RXD/TXD etc is RS232 level...
Long story short, since the ESP8266 devices no longer worked, I assumed they were toast, but as soon as I sorted the USB --> UART out they flash and work 100%
Very tough little devices it sems.
Thanks for your post