I'm also interested in doing OTA with Arduino.
I've looked at the source code of SMING, where the implementation use the HttpFirmwareUpdate class.
The class downloads 2 files 0x000... and 0X400... and saves it to SPIFFS file system, after that call the UpdateFirmware function of the SDK.
Is the Spiffs implementation compatible with Arduino ?
Arduino has got the EEPROM class, which encapsulate spi_flash, but isn't it too low level to download and store the files?
This is how I understand OTA :
1. Dowload the files to the flash
2. Move the files to the expected location ? Or point the files ?
3. call system_upgrade_start.
What about the arduino bootloader ? does it gets dowloaded and updated as well ? (there's maybe no arduino bootloader at all : ESPtool)