I have a ESP8266 module (like this). I ran a command AT+UART_DEF=115200,8,1,0,3 as mentioned in documentation of ESP8266 SDK to change the baud rate of my ESP8266 module. It seems like by running this command I bricked my ESP because now the module does not respond to any command (tried 9600, 74880, 115200 baud rates) and all the data that is sent after the bootloader messages on 74880 baud rate is garbage. The last argument of the above command sets the flow control to "both RTS and CTS" (3), but I don't have those pins. The module's pinout:


So I suppose on my ESP I can't use hardware flow control. (Or I can?)

I still can receive bootloader's message that is sent on boot on baud rate 74880 bps:

ets Jan  8 2013,rst cause:1, boot mode:(3,6)

load 0x40100000, len 6960, room 16 
tail 0
chksum 0x4f
load 0x3ffe8008, len 24, room 8 
tail 0
chksum 0xc6
load 0x3ffe8020, len 3196, room 8 
tail 4
chksum 0x3a
csum 0x3a
user code done

But all the data that is sent after the bootloader is garbage: data

To clarify, before running the AT+UART_DEF command I could receive meaningful data and execute commands on baud rate 115200 bps.

I'm not sure if the command I ran is the problem, so please point me out if I'm wrong. As per documentation:

The configuration changes will be saved in the NVS area, and will still be valid when the chip is powered on

The new UART settings along with the flow control settings are stored in NVS area. Is it possible to reset it? Or any other way to reset the flow control?

What have I tried?

I tried to erase all the flash memory of the module using esptool: erase_region 0x0 0x1000000 and then tried to flash the latest AT firmware again. Didn't help. It still receives bootloader messages and some garbage data.

How can I unbrick my ESP? Hope for your help! Thanks in advance!

  • please do not post pictures of text ... add the text itself
    – jsotola
    Dec 1, 2022 at 22:57
  • @jsotola, What pictures are you talking about? The picture of garbage data? Is that useful to post the text of that garbage data?
    – g00dds
    Dec 1, 2022 at 23:06

1 Answer 1


You can't brick an ESP8266 through software.

You can confirm this by flashing a different, very simple program to it, like this:

#include <Arduino.h>

void setup() {
  Serial.println("hello world");

loop() {

With the serial monitor set to 74880 bits per second, you should see the bootloader messages as well as a single line of "hello world".

You also should completely erase the contents of the flash chip, not just a particular region.

esptool.py erase_flash

Afterwards you'll need to reinstall the firmware you were trying to run.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.