Introduction: Esp8266 Firmware Update

About: I am a Electronics and telecom graduate engineer and an enthusiastic embedded student with experience in latest technology and also an video and project documentation on the side.

The ESP8266 module is a cheap Wireless module.It has SOC(system on chip) that is capable of providing wifi to any micro controller/microprocessor .There are two ways the esp8266 can be used .

  1. Standalone esp8266
  2. Esp8266 with raspberry pi or arduino or stm32

Esp8266 needs a external 3.3 v for working properly .If you are using esp8266 with arduino, try not to provide power from arduino . As arduino maximum current providing capacity is 40mA while esp8266 draws 250mA. This is most likely the problem lies whenever uploading the new firmware or when you are using the esp8266

For beginners its advised to go with node mcu board's available in market .There are two types of board's one with RGB led & Ldr sensor and other with just breakout pins .This board has built in voltage regulator that handles the proper power.

  1. esp8266 witty board
  2. Node Mcu

Step 1: Find Esp8266 Flash Software

Download the software from the drive

Step 2: Find ESP8266 Firmware Files

Step 3: Connecting ESP to Flash Mode

  1. ESP 8266-01 module
  • Using Esp01 programmer adapter

This is the best way for flashing the esp01 buy this module and get free from messy wires in future .

Its very handy and very quick .

Esp01-programmer adapter

Note:The module do not enter the programming board directly .For this you need to solder the jumper on it .Please refer the photo for this .The jumper is solder between gpio 0 and gnd pin.when not using in programming mode shift the jumper to the empty pin.

  • Using BreadBoard Power module

Breadboard power supply

With this module you can separately give 5v to arduino and 3.3 v to esp8266 at the same time .This is the beauty of this module .

Esp rx pin also need 3.3v .If you try to put arduino tx to esp rx .The esp module can get damage .To prevent this from happening you can do two things .

  1. Use Voltage divider
  2. Use Level Shifter

1. Voltage divider

use 20k and 10k resistor to achive this . Please check the connection in photo

vcc & chpd of esp is connected to 3.3v

Gpio 0 & gnd of esp is conencted to gnd

Rx of esp is connected TX arduino directly

Tx of esp is connected to arduino rx via voltage divider

2. Level shifter

Please check the connection in photo

  • connect 5v of breadboard power supply to hv pin of logic level
  • connect 3.3v of breadboard power supply to Lv pin of logic level
  • connect tx of arduino to any other hv pins out of 4 pins ,corresponding to the pin you have connected tx ,connect rx of esp to that which will be Lv pin

2. Esp 8266-12 module

I found daflabs instructables best for this module so far

https://www.instructables.com/id/Getting-Started-with-the-ESP8266-ESP-12/

I used Arduino instead of cp2102 module, and I had no issue in communication.

The connection will remain mostly same for esp8266-12 to run it in flash mode.

GPIO0 -> LOW

GPIO2 -> HIGH

GPIO15 -> LOW

Step 4: Uploading Firmware

  • Upload the blank program on arduino if using. And then connect esp tx and rx pins on it
  • Open the software and one by one add the bin files in it..
  • Now add the addresses as follows .

boot_v1.2.bin --0x00000

user1.1024.new2.bin --0x01000

blank.bin --0x7e000

blank.bin --0x3fe000

esp_init_data_default.bin --0x3fc000

  • Then just click flash button ,if everything is fine the flasher will show you the status of download and also your esp 8266 module led will blink very fast.
  • Congratulation!!! .you have uploaded latest firmware to esp8266.
  • If you do not find this mac address .use the reset pin and put it to gnd for 2 seconds and then remove it from gnd and re flash it .Its very important to get the mac address.
  • IT’s time to test your Esp module .now just remove GPIO 0 wire that was connected to GND ,you can connect it to VCC or leave it like this.
  • Now plug your Arduino back to pc and open serial port.
  • Check the at commands on different baud rate ,most of the esp works fine on this 115200 baud rate .
  • NOW its time to test AT commands .enter "AT" in serial port and you will get "OK". Now enter "AT+GMR" and check the firmware version.
  • To change the baud rate you can do this "AT+UART_DEF=9600, 8, 1, 0, 0"

Step 5: Using Esp Flash Download Toll V0.9.3.1

There are two software to install the bin file on soc of esp8266 ,The second method is by using esp flash download .

1.)Download the software from the below link

http://bbs.espressif.com/viewtopic.php?t=25

2.)Now just browse the bin file you want to upload on esp and do not change any of the settings except the com port and change baud rate to 115200 and click on start .you will see an uploading status .Have some patience until it says finish.

Step 6: Program Esp Using Esplorer

esplorer is a software specially made for esp8266 wifi module.you can upload lua code or AT commands on the esp8266 by using this software.

download this from the link given.

http://esp8266.ru/esplorer/

Step 7: Troubleshooting

1.)Power esp 8266 from external power supply .please avoid using arduino or computer for vcc.

2.)check the circuit thrice and always while uploading firmware try to manually reset esp8266 by making chpd gnd for some time and put it back to vcc .

3.)make sure you use either a buck or a 3.3 regulator. esp8266 needs constant current too.

4.)Note: http://www.allaboutcircuits.com/projects/update-the-firmware-in-your-esp8266-wi-fi-module/ another link that might help you to solve the problems with esp module.if non of the above

method works...