Did I brick my devices, or is there a save?

I converted all my Tasmota devices over to ESPHome today. The process was pretty easy: use the Tasmota GUI to flash a minimal version of Tasmota, and then use it again to flash the binary I created for the ESPHome device.

Out of 12, 9 went perfectly fine. The other 3, not so much. These devices are now completely unresponsive. They don’t reply to button presses, they don’t connect to my WiFi network, and they don’t put up the fallback network. I’ve been trying to flash one “manually”, by connecting the gpio pins to a USB-UART converter, but no luck there either (although that didn’t work before they were bricked either)

Out of the three, two of the devices use the exact same firmware (other than the static IP and the devicename), so I know the firmware was good on those.

Three different things happened that I suspect caused these issues:
On device 1: While I was uploading the ESPHome binary, I thought I was uploading the wrong one, so I clicked the “main page” button in Tasmota to cancel the upload. Then I tried to upload the right bin file, that gave me an error. I figured it’d be because the memory was full, so I uploaded the minimal Tasmota file again (successfully), and then uploaded the ESPHome bin again, also successfully. The Tasmota GUI became unavailable, and the ESPHome GUI never showed up.

Device 2: My ESPHome configuration was imperfect (playing around with including parts from another file, for reusability). I managed to access the device on its fallback network, entered the correct credentials for my home network, and then this device also disappeared.

Device 3: I had 2 smart plugs plugged in to each other (I know, great idea when flashing them). Since they were both the same hardware, I started uploading the firmware I prepared beforehand almost simultaneously. The plug closest to the socket finished first, and due to how things were set, it turned the relay off, probably cutting power to the second plug before it finished downloading the bin file.

As always: three perfectly preventable mistakes, that were caused by laziness / bad preparation. I’m not expecting much, since there’s no way to connect wirelessly, and UART doesn’t seem to work either, but maybe some of you know something I don’t? I’m interested to see what suggestions pop up.

If all else fails, I got some spare parts for my other devices now.

When you tried to flash them did you remember to put the GPIO 0 to ground?

Hm, probably not, since the device I tried didn’t have GPIO0 broken out. I also tried using an ESP01 flasher that has a button to put it into programming mode (which I believe also pulls GPIO0 to ground). I did push that, but that doesn’t do much if there’s nothing connected to GPIO0 of course.

I’ll give that a try tomorrow, thanks for the suggestion.

To put the device into upload/receive mode, you need to be holding GPIO0 to ground while powering up the device (or while pressing its Reset button).
Wait a moment after powering up, release GPIO0.
It’s now ready to receive an upload via the UART.

From my experiences with esp’s (couple of years, few hundred flashes later…) it’s not possible to “hard” brick (:brick:) with firmware upgrades (even interrupted) or broken binaries.
You will always be able to flash a new firmware over serial. If your esp has a in build led it’s easier to see if the “flash mode” was successful activated on booting.

Alright, I gave it a try, but no luck unfortunately. Nothing to do with the ESP being bricked though:

  • On one I expect that I fried something. An LED used to l* ight up when I connected it to the PC, it doesn’t anymore.
  • On the second one, I broke off the GPIO0 pad, it’s one of those very tiny SMD chips. Yay for everything being tiny these days.
  • And the final one simply isn’t worth the fiddling, it was on the list for replacement anyway, but if it wasn’t too much work I would’ve liked to save it. Sadly, it’s more work than it’s worth.

Thanks for the suggestions, I’ll make sure to (try to) remember that I have to ground GPIO0 when flashing over UART the next time. It’s been a while since I flashed something over wire, lol.

This might be indded a indicator for a broken esp. Is the led on the esp module (for example a esp-12) or on breakout board/pcb?

:put_litter_in_its_place:

:put_litter_in_its_place:

It’s on the pcb of the WiFI socket. The ESP itself doesn’t have an LED. Given that it used to light up when connecting power, and it doesn’t anymore, I’d say that’s a :put_litter_in_its_place: as well.