Flash Firmware To ESP8266 WiFi Module the easy way
To understand error messages shown by ESP8266 in the serial monitor, read the latest article: ESP8266 ERROR MESSAGES AND EXCEPTIONS EXPLAINED]
Hi, guys. This tutorial is for helping you to flash firmware in your favorite ESP8266 module. I guess almost all of you have a good enough idea about ESP8266. Still, here a short note on it for you. Let’s get started,
What ESP8266 Is?
The ESP8266 is a low-cost Wi-Fi chip with full TCP/IP stack and microcontroller capability produced by a Shanghai-based Chinese manufacturer, Espressif. The chip first came to the attention of western makers in August 2014 with the ESP-01 module, made by a third-party manufacturer, AI-Thinker. This small module allows microcontrollers to connect to a Wi-Fi network and make simple TCP/IP connections using AT commands. It also has a decent amount of internal memory (512kb-4mb), so it can also be used as a standalone IoT device with a lesser number of GPIO pins.
Enough, now let’s go back to the main topic again.
Problems That We Face With It
No doubt this module is super cheap, hence a mouth-watering grab for electronics hobbyists who want to make their projects talk to the cloud. BUT, this module may even give you nightmares. As proper documentation are unavailable, a lot of confusion occurs. The main problem is, inability to communicate to it. Often new users complain that their modules are not working, they are unable to send commands to it, getting gibberish output at the serial monitor for all baud rates. Well, baud rate, so what is it? This is just the data transfer rate at which two digital devices communicate. ESP8266 has a big flaw at its baud rate selection. Out of the box, it seldom responses to a baud rate chosen from available ranges. As result, it becomes unusable and frustration grasps us.
What Is The Reason?
Wrong Firmware. Yes, that’s the culprit. By default, it comes with AT firmware preloaded and some module comes with no firmware at all. But it is hard for a user to get the reason why their modules are not working. Due to some serious bugs in the firmware, the baud rate of ESP8266 never matches the baud rate we set to serial monitor (e.g. RealTerm, HyperTerm, Arduino IDE’s serial monitor etc). So all we get is some gibberish data or NO data at all.