Upgrading ESP32 bootloader wirelessly

(Edit (10/06/2026):
This was actually an XY problem, so I changed the name of the topic from Compile on one host, flash (OTA) from another host to Upgrading ESP32 bootloader wirelessly.)

I've got a headless Linux box in my basement, running all kind of domotica stuff. Until recently, I did all my ESPHome flashing from my regular laptop, and recently I moved that to my Linux domotica brain.

But I've encountered this in the logs of one of my ESP32's:

[W][app:193]: Bootloader too old for OTA rollback and SRAM1 as IRAM (+40KB). Flash via USB once to update the bootloader

I find it a bit bizarre that it's not possible to do this via OTA, but okay; it's probably a lot of extra conding. More importantly: I now have to flash some devices via USB, but I can't do that with my Linux box, which is immobile in the basement.

So now I'm wondering what the best solution would be. I see there was something in the past, but it's been deprecated:

Is there a better way than also compiling the binary file on my laptop?

Can't you just hook the ESPs to your basement box just for this "special" flash?
This is a one time operation, just to update the bootloader and flash partitions, which cannot be done through plain OTA.

Afraid not.

I can of course also compile the firmware on my laptop, and flash the ESP's via its USB. But that seems so redundant :slight_smile:

You can flash on any device. Either I don't understand the problem or I am missing something..

Compile the binary, and go on any device with a browser and usb-port to web.esphome.io and flash

1 Like

Indeed, if you can, I don't see the problem.
As stated, it's a one-time upgrade of items that cannot be changed via OTA.

It makes no sense to over-engineer a solution you'll use once in a while...

Just compile it as a manual download, and use the web esphome page to upload the bin file.

There was discussion about this new feature in the ESPHome release notes last month, which should clarify your question, as well as enable you to boost your productivity..

It's not actually impossible to do this upgrade via OTA, and the worst case is that you'll brick the device and have to flash it via USB.

Just make sure you have a way to flash via USB before you try the OTA in case anything goes wrong..

Instructions here: Upgrading ESP32 bootloader wirelessly using esphome – Dave Brand's Blog

1 Like