Problem with OTA on ESP32, Error during update

I am trying to get a simple OTA firmware to work. It seems that when it tries to download the new firmware from Blynk cloud there is an error. Can anybody help me figure this out?
I had tested a similar code 2 months ago and it worked…

Here is my code:

#define BLYNK_TEMPLATE_ID "xxxxxxx"
#define BLYNK_DEVICE_NAME "Feather M0 wifi"

char auth[] = "xxxxxxxxxxxxxxxxxxxxxx";

char ssid[] = "MyAltice cf75dd";
char pass[] = "xxxxxxxxxxx";

#define BLYNK_FIRMWARE_VERSION        "0.1.0"

#define BLYNK_PRINT Serial
//#define BLYNK_DEBUG
#define APP_DEBUG
#include "BlynkEdgent.h"

void setup()
{
  Serial.begin(115200);
  delay(100);
  Blynk.connectWiFi(ssid, pass);
  Blynk.config(auth);
  Blynk.connect();
  Blynk.virtualWrite(V0, 1); // Electrode # in currently selected patch
  BlynkEdgent.begin();
}

void loop() {
  BlynkEdgent.run();
}

Here is my serial output:

[3996]
___ __ __
/ _ )/ /_ _____ / /__
/ _ / / // / _ / '/
/
//_, /////_
/
__/ v1.0.1 on ESP32

[4007] --------------------------
[4007] Product: Feather M0 wifi
[4007] Firmware: 0.1.0 (build Mar 5 2022 10:44:50)
[4017] Device: ESP32 @ 240MHz
[4017] MAC: 94:B9:7E:5F:1C:10
[4018] Flash: 4096K
[4028] ESP sdk: v4.4-dev-2313-gc69f0ec32
[4028] Chip rev: 3
[4029] Free mem: 171203
[4029] --------------------------
[4039] INIT => WAIT_CONFIG
[6835] AP SSID: Blynk Feather M0 wifi-46E07
[6835] AP IP: 192.168.4.1
[6836] AP URL: blynk.setup
[6849] Disconnected
[6849] WAIT_CONFIG => OTA_UPGRADE
[6849] Firmware update URL: http://ny3.blynk.cloud/static/xxxxxxxxxxremovedforsecurity
[13130] HTTP response should be 200
[13131] OTA_UPGRADE => ERROR
[23131] Restarting after error.
ets Jul 29 2019 12:21:46

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0030,len:1100
ho 0 tail 12 room 4
load:0x40078000,len:12308
load:0x40080400,len:3076
entry 0x400805ec
[130] Connecting to MyAltice cf75dd
[3757] Connected to WiFi
[3757] IP: 192.168.1.169
[3758] Connecting to blynk.cloud:443
[4848] Certificate OK
[4870] Ready (ping: 20ms).
[5007] Using default config.

[5008]
___ __ __
/ _ )/ /_ _____ / /__
/ _ / / // / _ / '/
/
//_, /////_
/
__/ v1.0.1 on ESP32

[5018] --------------------------
[5018] Product: Feather M0 wifi
[5018] Firmware: 0.1.0 (build Mar 5 2022 10:44:50)
[5028] Device: ESP32 @ 240MHz
[5029] MAC: 94:B9:7E:5F:1C:10
[5029] Flash: 4096K
[5039] ESP sdk: v4.4-dev-2313-gc69f0ec32
[5040] Chip rev: 3
[5040] Free mem: 171203
[5040] --------------------------
[5050] INIT => WAIT_CONFIG
[7806] AP SSID: Blynk Feather M0 wifi-46E07
[7806] AP IP: 192.168.4.1
[7807] AP URL: blynk.setup
[7820] Disconnected
[7820] WAIT_CONFIG => OTA_UPGRADE
[7820] Firmware update URL: http://ny3.blynk.cloud/static/xxxxxxxxxxxx
[14130] HTTP response should be 200
[14131] OTA_UPGRADE => ERROR
[24131] Restarting after error.
ets Jul 29 2019 12:21:46

What does the Blynk.Air log show?

Pete.

Do you mean the report associated with the shipment? that just shows a bunch of "request sent"s

I guess another useful information is that we recently switched to Pro and that has caused some unexpected stuff.

Your topic title and Blynk splash-screen refer to an ESP32, but there are other references taht indicate it’s actually an Adafruit Feather M0, which has an ARM Cortex M0 chip rather than an ESP32…

Exactly what hardware are you using?

You also appear to be bypassing some of the Edgent functionality with this…

and the syntax of these commands seems rather odd as well.

Pete.

No, please ignore the name, that is for an older version. We are using Adafruit ESP32 feather board.
Can you be more specific what syntax is odd? Do you have any suggestions of how to fix it? I get similar errors from the ESP32_edgent example (I assume I have to add wifi to the example to be able to download from blynk.cloud).

That’s a very odd comment, unless I’m totally misunderstanding it.

The Edgent examples work out of the box - all you have to do is add the template ID and device name, and un-comment the correct board type. If non of the pre-defined board types meet you needs then leave them all commented-out and edit the custom section in Settings.h as described here…

Pete.

Oh man! I was confused…
This is actually much better than I expected. Great thanks and glory to Ukraine!

1 Like