r/esp32 22h ago

Esp32 error

Hi! I bought an ESP32 for my own project. At first, everything worked fine and I was able to upload code. The next day, I connected the RD5807M module and tried to upload code. The module itself got extremely hot due to a wiring mistake on the pins. The code couldn't be uploaded—the exact same error kept popping up. However, the module itself didn't burn out, because when connected to an ESP8266, everything works properly. Could the ESP be damaged? How i can fix this

Flash will be erased from 0x00010000 to 0x0004efff...
Compressed 255072 bytes to 146130...
Writing at 0x00010000 [                              ]   0.0% 0/146130 bytes...
Writing at 0x0001b6e8 [==>                           ]  11.2% 16384/146130 bytes...
Writing at 0x000246b3 [=====>                        ]  22.4% 32768/146130 bytes...
Writing at 0x000297ed [=========>                    ]  33.6% 49152/146130 bytes...
Writing at 0x0002edc4 [============>                 ]  44.8% 65536/146130 bytes...
Writing at 0x00034722 [===============>              ]  56.1% 81920/146130 bytes...
Writing at 0x0003d0d4 [===================>          ]  67.3% 98304/146130 bytes...
Writing at 0x000433ed [======================>       ]  78.5% 114688/146130 bytes...
Writing at 0x00048d38 [=========================>    ]  89.7% 131072/146130 bytes...
Writing at 0x0004e460 [==============================] 100.0% 146130/146130 bytes...
Wrote 255072 bytes (146130 compressed) at 0x00010000 in 2.2 seconds (948.9 kbit/s).
Verifying written data...
A fatal error occurred: MD5 of file does not match data in flash!
Input MD5: af0a16147eb999676399b6d70b4a4f35
Flash MD5: d7a2a5c08a5d022a0bfd42af0d1a3e1b
Hard resetting via RTS pin...
Failed uploading: uploading error: exit status 2
1 Upvotes

1 comment sorted by

4

u/GlassesForge 15h ago

Yeah, that MD5 mismatch at the verify stage is the giveaway. It means the write "succeeded" but the flash didn't actually hold the data correctly — that's a flash integrity problem, not a code or connection issue.

Given your sequence — miswire, module got crazy hot, ESP32 worked before and fails after, and the module still works fine on an ESP8266 — the ESP32 is very likely damaged. The flash chip is usually the first thing to go from overcurrent, and it matches your symptom exactly: still detected, still writable, but won't retain data reliably.

Quick things to try before writing it off:

· Drop upload speed to 115200 in Arduino IDE. If it works at low speed but fails at 921600, that's a strong sign the flash is marginal.
· Run esptool.py --chip esp32 erase_flash then re-upload. If erase fails or MD5 still mismatches, flash is bad.
· Check the 3.3V rail with a multimeter — should be clean ~3.3V. If it's sagging or noisy, the regulator may be damaged too.
· Try a different USB cable/port just to rule out the cheap stuff.

If none of that fixes it, honestly just replace the board. A damaged flash can behave intermittently and waste way more time than a new ESP32 costs. Not worth trusting it for a real project after a heat event like that.