Just popping in.
My STM32 dev board, which I just blew the dust off for a project happens to have an ESP32 on the PCB with the F411.
It's been on my "TODO" list to create an ESPHome component that will flash the STM32 over the air.
I have not even started the research properly yet. I mean I can do the ESPHome side, but haven't even looked at the STM32 side.
I was hoping to start with someone's basic UART flash bootloader. Those things people create for their STM32s so they can program them with the arduino IDE or with PlatformIO when they simply haven't spent the $2.99 for an STLink /mini-rant.
Those bootloaders however should give me exactly what I need, unless they include the arduino core bootloader which won't be. I just need a bootloader that works like the arduinos. aka it waits for a time for the UART to connect for flashing and if it doesn't it boots the existing code.
The ESP32 component will receive the incoming binary flash stream, reset the STM32, connect to the UART, flash it and reset it.