ESP8266 Troubleshooting: A Complete Guide

There are a few common problems with the ESP8266, especially when trying to flash new firmware or upload scripts. This is the ESP8266 troubleshooting guide.

Here's a compilation of the most common ESP8266 problems and how to fix them:

ESP8266 Troubleshooting: NodeMCU Flasher

Where do I download the NodeMCU flasher?

Download the flasher for your Windows PC bit version by clicking the button that says “Raw” on the NodeMCU flasher GitHub repository:

Which settings should I use with the NodeMCU flasher?

By default, the NodeMCU flasher comes with the correct settings.

I highly recommend that you re-download the NodeMCU flasher if you have changed any of the settings.

Here are my current settings:

ESP8266 Troubleshooting: nodemcu flasher

If you press the “Flash” button and nothing happens, It means one of these two things:

  • Problem 1: Your ESP isn’t in flash mode (double-check if GPIO 0 is connected to GND on power-up).
  • Problem 2: Your FTDI Programmer can’t supply enough current to your ESP.
ESP8266 Troubleshooting: nothing happens

Problem 1: How to make your ESP go into flash mode:

  1. Close the NodeMCU flasher window.
  2. Remove power from your ESP8266.
  3. Having your ESP connected like this (double-check that GPIO 0 is connected to GND).
  4. Apply power to your ESP8266 and open the NodeMCU flasher.
  5. Press the “Flash” button.

If it’s still saying “Waiting MAC“, then try the following:

  1. Having the NodeMCU flasher still open
  2. Connect a wire from your ESP8266 reset pin to GND.
  3. Remove that wire from GND and connect it to VCC.

Steps 2 and 3 should be repeated many times until your ESP reboots, and hopefully the NodeMCU flasher will be able to recognize it and start the flashing process.

Problem 2: You may need to buy a new FTDI programmer or provide your ESP8266 with external power if your FTDI is unable to supply adequate current.

NodeMCU flasher gets stuck at a certain percentage

ESP8266 Troubleshooting: nodemcu stuck
  1. Remove power from your ESP+FTDI.
  2. Close the NodeMCU flasher window.
  3. Plug your ESP+FTDI into your computer again.
  4. Open the NodeMCU flasher and try the 19200 baud rate.

If this process fails, please repeat the procedure for the next baud rates (38400, 57600, 74880, and 115200).

At least 5 people had the same issue, and this trick solved it, although I don't know why. Therefore, I think it will flash 100% at a baud rate of 57600 or 115200. Since this is not very common, I am at a loss for a logical explanation.

How should the NodeMCU flasher look after a successful flash?

ESP8266 Troubleshooting: nodemcu flasher flashed

Unbricking the FTDI Programmer on a Windows PC

Visit this website for the official drivers: http://www.ftdichip.com/Drivers/VCP.htm if you have a fresh new FTDI Programmer and you need to install your FTDI drivers on Windows.

Contact the seller who sold you the FTDI Programmer as an option.

It's quite likely that FTDI is bricked if you're having trouble installing the drivers on Windows 7/8/8.1/10.

Follow this tutorial to fix that: https://youtu.be/SPdSKT6KdF8.

A man tells you to download the drivers from the FTDI website in the video I previously cited. To discover all the connections, carefully read the description of his video on YouTube. You need the following drivers: http://www.ftdichip.com/Drivers/CDM/CDM%20v2.12.00%20WHQL%20Certified.zip

ESP8266 Troubleshooting: ESPlorer IDE

ESPlorer IDE Error: Only one TCP server allowed

This means that you tried to upload multiple scripts, but your ESP is still running the old script on a web server. To fix it, you simply need to send these commands to delete all the files and restart your ESP:

  1. file.format()
  2. node.restart()

You shouldn't see that error again if you upload the script again and name it ‘init.lua’.

ESPlorer IDE Error: can’t autodetect firmware

and

ESPlorer IDE Error: Waiting answer from ESP – Timeout reached. Command aborted.Waiting answer from ESP – Timeout reached. Command aborted.

can't autodetect firmware

This sounds like your ESP. It’s still in flash mode. How to make your ESP go into user mode:

  1. Close the ESPlorer IDE connection.
  2. Remove power from your ESP8266.
  3. Having your ESP with GPIO 0 connected to VCC.
  4. Apply power to your ESP8266 and re-establish the connection with the ESPlorer IDE.

If it’s still saying “Can’t autodetect firmware“, then try the following:

  1. Having the ESPlorer IDE connection still print “…..”
  2. Connect a wire from your ESP8266 reset pin to GND.
  3. Remove that wire from GND and connect it to VCC.

Until your ESP reboots, repeat steps 2 and 3 a few times so that the ESPlorer IDE may hopefully detect your ESP.

My code disappears when I restart the ESP8266

Your ESP does nothing if you restart it after uploading a script. It means there was a memory problem or that your ESP couldn't find the script.

This can be solved like this:

  1. You didn’t save your script with this exact name, ‘init.lua’. Re-uploading the same script but with the ‘init.lua’ name should solve your problem.
  2. It can be a memory issue. Re-flashing the ESP with the NodeMCU flasher usually solves that problem.

Finding the ESP8266 IP Address

Before you start, make sure you check these two items:

  1. Verify that the script uploaded to your ESP has the right network credentials.
  2. Make sure your ESP is near your router.

Here’s what you can do to find the IP address:

Solution 1: Sending a command with the ESPlorer IDE

  1. Send the command print(wifi.sta.getip()) with the ESPlorer IDE, and it should print your IP Address.
ESP IP Address

Solution 2: Install an IP Scanner Software

  1. An IP Scanner program searches for all the devices in your network.
  2. Download this free software:
    1. Windows PC: www.advanced-ip-scanner.com
    2. Mac OS X, Windows, or Linux: http://angryip.org
  3. Install one of these programs while having your ESP run with that web server script.
  4. Open the IP Scanner software and click Scan.
  5. Let that process finish (it can take a couple of minutes).

It found my ESP in my case. Now, I can see the ESP web server in my browser if I type 192.168.1.95.

advanced ip scanner

ESP8266 Troubleshooting: Arduino IDE

I can’t upload scripts to my ESP8266 using the Arduino IDE.

When using the Arduino IDE, here's how to get your ESP to enter upload mode:

  1. Remove power from your ESP8266.
  2. Having your ESP connected like this (double-check that GPIO 0 is connected to GND).
  3. Apply power to your ESP8266 and open the Arduino IDE.
  4. Press the “Upload” button.

Did you experience any further problems?

Please leave a comment so that I may update the ESP8266 troubleshooting guide with further problems and solutions.

If you like ESP8266, you may also like:

We hope you find this tutorial useful. Thanks for reading.

Oh hi there It’s nice to meet you.

Sign up to receive awesome content in your inbox, every month.

We don’t spam! Read our privacy policy for more info.

Leave a Reply

Your email address will not be published. Required fields are marked *

ESP8266 Home Automation Projects

Leverage the power of this tiny WiFi chip to build exciting smart home projects