Flash ESP8266 module to avail of new features as the factory module will often come with outdated firmware. Some very important features may be missing from older firmware like the ability to set the baud rate. To update the software the module needs to be flashed. This may only be needed once though as the newest firmware adds the cloud updating functionality.
Wire ESP8266 for Flashing
ESP-07 is an SMD package and thus requires
GPIO15 pad to be connected to ground. Non-SMD packages such as ESP-01 does not require external connection as it is connected internally. Regardless of package the single difference in wiring for flashing mode is that
GPIO0 pin needs to be connected to ground.
Check ESP8266 Firmware Version
Check firmware version.
ERROR is printed it is likely due to outdated firmware version which does not have this command. If successful the command returns a 10 digit number like
0018000902. The first 5 digits represent the SDK version while the last 5 digits represent the AT version. In this case ESP8266 module is loaded with 18.104.22.168 SDK and 0.9.0.2 AT firmware.
Flash ESP8266 Firmware
Download ESP8266 Update Downloader and run it. Also download v0.9.5.2 AT firmware or a newer version if it exists. Within the Flash Downloader select the firmware file and enter the
COM port of the FTDI programmer that is connected to ESP8266 module.
Hit the download button and wait for the flashing process to complete.
Failed to leave Flash mode message does not affect the flashing process in any way and can be ignored. If instead you see
Failed to connect message you may have selected the wrong port or the port may be used by a different program. To fix this error check that the port is correct and close any programs that may be using it like Arduino IDE or Termite.
After the firmware flashing, module settings may change. Depending on the previous firmware version, the baud rate may now be set to
9600 and new AT commands should be available. Before you test ESP8266 AT commands over FTDI programmer make sure to disconnect
GPIO0 pin from
GND to stop putting the module into flashing mode. With newer firmware versions it is even possible to update module firmware from the cloud without any additional hardware or wiring.