esp_ota_begin() erases the whole 1.6 MB target region up front, which took
long enough that the already-open HTTPS socket was dropped; the download then
stalled and every install failed at 0%. Erase first, connect second.
Also follow redirects, keep reading while the connection is alive so a
chunked response completes, and report the precise failure branch with heap
and byte counts instead of a generic abort.
Repo renamed to RadiaCode-Spectrometer - the firmware supports the 102/103/
103G/110, so the model-specific name was misleading.