Bricked on OTA

Hello,

has anyone else ever bricked an esp8285 on OTA flash?
What happens is OTA flash over HA fails, so I tried the webinterface. afterwards it says “update successfull” but the device completely bricked. no leds on start, no serial output nothing.
The only thing worked was serial flash.

this is the 2nd time this happened to me in 2 months. the first time I think I destroyed the esp with my soldering iron, so I can’t tell if the serial flash would have succeeded.
now it did succeed, but it took me an hour disconnecting and connecting the wires.

Am I the only one having this issue? If I need some small config change I don’t want to end up having nothing because my esp died.

I have never had this … and difficult to imagine why.
what is the esp8285 connected to? Are the pins bare?
what is the yaml?
what is the log you got when you had a failed flash through ESPHome dashboard
how are you connected?
if USB do you have a data cable or power?
have you tested with an independent power supply?

I have never bricked an ESP with OTA in a way that I could not revive it again with a serial flash.
OTA might brick OTA flash, but not serial flash, unless there is a hardware flaw somewhere, which then have nothing to do with OTA anyway.

JulianDH is making some good questions.
You might be able to flash a firmware to a device that actually holds jibberish code and then it will not be able to boot.
The power supply is also a weak spot especially during flash times where a high and stable supply is required to obtain a good flash.

thnx,
for the one I wasn’t able to recover I needed to solder the pins and during soldering I think I might have touched the esp with my soldering iron. So that one is on me.

I basically use sonoff devices with an esp inside,
in this case the sonoff R2 mini and sonoff 4ch R3.
the r2 mini I needed to solder, the other one has the basic sonoff pinout where I just push the connector.

If My code was jibberish it probably wouldn’t work after serial flash either.

All my devices are connected via wifi,

I use a base which looks like this:

wifi:
  id: wifiId
  ssid: !secret wifi_ssid
  password: !secret wifi_password
  power_save_mode: HIGH
  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "${device_name}"
    password: !secret wifi_password

captive_portal:

# Enable logging
logger:
  # baud_rate: 0
  # level: VERY_VERBOSE

# Enable Home Assistant API
api:
  encryption:
    key: !secret api_encryption_key

ota:
  safe_mode: false
  password: !secret ota_password
  on_error:
    then:
      - logger.log:
          format: "OTA update error %d"
          args: ["x"]
      # - lambda: id(wifiId).retry_connect();
  # on_begin:
  #   - lambda: id(wifiId).set_power_save_mode(esphome::wifi::WIFI_POWER_SAVE_NONE);
  # on_end:
  #   - lambda: id(wifiId).set_power_save_mode(esphome::wifi::WIFI_POWER_SAVE_HIGH);
  # on_error:
  #   - lambda: id(wifiId).set_power_save_mode(esphome::wifi::WIFI_POWER_SAVE_HIGH);

web_server:
  port: 80
  auth:
    username: admin
    password: !secret web_server_password

button:
  - platform: restart
    name: "${device_name} switch Restart"
    icon: "mdi:restart"

and the some custom confer per device or device type.

where I address my esp82xx like this

esp8266:
  board: esp8285
  restore_from_flash: true
  early_pin_init: false