In this tutorial we will show how to update ESP8266 with new firmware.
We use ESP8266 together with Arduino and ESP8266EasyIoT library. The problem is if we do not need correct ESP8266 firmware, because responses to AT commands are different in different firmware versions.
To upload ESP8266 firmware you need FT232RL FTDI USB to TTL Serial+Adapter. Se buying guide for details. Don’t forget to set FTDI programmer to 3.3V.
Connection is following:
- Vcc = 3.3V (needs around 300-400mA peak)
- Gnd = ground
- CH_PD = Chip enable so always +Vcc
- RST = Leave floating or ground to reset
- GPIO0 = Normally floating but this needs to be grounded when you start the update.
- UTXD = Tx data connect to Txd on FTDI/Serial interface
- URXD = Rx data connect to Rx of FTDI/Serial interface
In my case serial USB converter did not provide enough current and updating was impossible. I’ve connected ESP8266 VCC to additional 3.3V power supply (do not connect FTDI serial USB VCC to VCC power supply if you are using additional power supply).
Then we need program to flash ESP8266. I’m using Windows XTCOM_UTIL, but you can find more flashing utilities on internet.
Program can be downloaded here XTCOM_UTIL. Run program and go to Tools->Config device. Select Com port (only Com ports COM1-COM6 are supported – change port in Windows control panel if necessary). Then open port and Connect.
Next go to API TEST->Flash Image Download. Select firmware image and press button Download.
Current EasyIoT8266 Arduino library works with ESP8266 V0.9.5.2 firmware. If you are usning SW serial, set baudrate to 9600 (default is 115200) with AT+CIOBAUD=9600.